: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-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", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:"Geist Mono", 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;--side-row:30px;--row-h:40px;--card-pad:10px;--topbar-h:46px;--gutter:24px;--ease:cubic-bezier(.23,1,.32,1);--spring:cubic-bezier(.34,1.56,.64,1);--ease-drawer:cubic-bezier(.32,.72,0,1);--dur:.14s;--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;--pc-mix:72%;--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);--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;--pc-mix:72%;--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);--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{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv11";margin:0;line-height:1.45;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}svg.i{flex-shrink:0;display:block}::selection{background:color-mix(in srgb, var(--accent) 22%, transparent)}input,textarea,[contenteditable]{caret-color:var(--accent)}.skip{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:focus{top:calc(8px + env(safe-area-inset-top,0px))}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:var(--r-xs)}.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}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}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}::-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}.btn{--h:var(--h-md);height:var(--h);border-radius:var(--r-sm);font-size:var(--fs-sm);white-space:nowrap;transition:background var(--dur),border-color var(--dur),color var(--dur),box-shadow var(--dur);-webkit-user-select:none;user-select:none;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{transition-property:background,border-color,color,box-shadow,transform}.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:disabled,.btn[aria-disabled=true]{opacity:.45;pointer-events:none;box-shadow:none}.btn.is-loading{pointer-events:none;color:#0000!important}.btn.is-loading:after{content:"";border:2px solid;border-color:var(--on-accent) transparent var(--on-accent) var(--on-accent);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) transparent var(--text-2) var(--text-2)}.ibtn{width:var(--h-md);height:var(--h-md);border-radius:var(--r-sm);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.on,.ibtn:active{background:var(--surface-3);color:var(--text)}.ibtn-sm{width:var(--h-sm);height:var(--h-sm)}.ibtn-xs{border-radius:var(--r-xs);width:22px;height:22px}.ibtn:disabled{opacity:.4;pointer-events:none}@keyframes spin{to{transform:rotate(360deg)}}[data-tip]{position:relative}[data-tip]:hover:after,[data-tip]:focus-visible:after{content:attr(data-tip);background:var(--text);color:var(--text-inv);white-space:nowrap;z-index:200;pointer-events:none;border-radius:5px;padding:5px 7px;font-size:11px;font-weight:500;line-height:1;animation:.12s .35s both tipIn;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}[data-tip-pos=right]:hover:after,[data-tip-pos=right]:focus-visible:after{top:50%;left:calc(100% + 8px);transform:translateY(-50%)}[data-tip-pos=top]:hover:after{top:auto;bottom:calc(100% + 6px)}@keyframes tipIn{0%{opacity:0}to{opacity:1}}.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:4px;display:flex}.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-lg{height:var(--h-lg)}.textarea{resize:vertical;height:auto;min-height:72px;padding:8px 10px;line-height:1.5}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input:hover,.select:hover,.textarea:hover{border-color:color-mix(in srgb, var(--border-strong) 60%, var(--text-3))}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.input.is-error,.select.is-error{border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}.input:disabled{background:var(--surface-2);color:var(--text-3);cursor:not-allowed}.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='%239C988F' stroke-width='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-native{opacity:0;pointer-events:none;clip:rect(0 0 0 0);overflow:hidden;width:1px!important;height:1px!important;position:absolute!important}.select-btn{text-align:left;min-width:0;color:var(--text);align-items:center;display:inline-flex}.select-btn[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.select-menu{max-width:360px}.select-menu .mi[aria-selected=true]{font-weight:500}.inwrap{align-items:center;display:flex;position:relative}.inwrap>.i{color:var(--text-4);pointer-events:none;position:absolute;left:9px}.inwrap>.input{padding-left:30px}.inwrap>.kbd{position:absolute;right:7px}.search-sm{height:var(--h-sm);font-size:var(--fs-sm);width:200px}.check{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-content:center;margin:0;display:inline-grid}.check:hover{border-color:var(--text-4)}.check:checked,.check:indeterminate{background:var(--accent);border-color:var(--accent)}.check:checked:after{content:"";border-left:1.8px solid var(--on-accent);border-bottom:1.8px solid var(--on-accent);width:8px;height:5px;transform:rotate(-45deg)translate(1px,-1px)}.check:indeterminate:after{content:"";background:var(--on-accent);width:7px;height:1.8px}.check.round{border-radius:50%;width:16px;height:16px}.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 var(--dur) var(--ease);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.toggle:checked{background:var(--accent)}.toggle:checked:after{transform:translate(12px)}.radio{appearance:none;border:1.5px solid var(--border-strong);cursor:pointer;border-radius:50%;flex-shrink:0;place-content:center;width:15px;height:15px;margin:0;display:inline-grid}.radio:checked{border-color:var(--accent)}.radio:checked:after{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px}.seg{border-radius:var(--r-sm);background:var(--surface-3);gap:2px;padding:2px;display:inline-flex}.seg button{height:calc(var(--h-sm) - 2px);font-size:var(--fs-xs);color:var(--text-2);transition:background var(--dur),color var(--dur);border-radius:5px;align-items:center;gap:5px;padding:0 9px;font-weight:500;display:inline-flex}.seg button:hover{color:var(--text)}.seg button.on{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;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{height:36px;font-size:var(--fs-sm);color:var(--text-2);white-space:nowrap;transition:color var(--dur);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:-1px;left:8px;right:8px}.fx-tabs .tab.on:after{animation:tabIn .26s var(--ease)}.tab .cnt{font-size:var(--fs-2xs);color:var(--text-3);font-weight:500}@keyframes tabIn{0%{opacity:0;transform:scaleX(.4)}to{opacity:1;transform:none}}.badge{height:20px;font-size:var(--fs-xs);white-space:nowrap;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border);border-radius:5px;align-items:center;gap:5px;padding:0 7px;font-weight:500;display:inline-flex}.badge .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.badge.green{color:var(--green);background:var(--green-soft);border-color:#0000}.badge.amber{color:var(--amber);background:var(--amber-soft);border-color:#0000}.badge.red{color:var(--red);background:var(--red-soft);border-color:#0000}.badge.accent{color:var(--accent);background:var(--accent-soft);border-color:#0000}.badge.violet{color:var(--violet);background:color-mix(in srgb,var(--violet) 11%,transparent);border-color:#0000}.badge.gray{color:var(--text-2)}.lbl{height:20px;font-size:var(--fs-xs);color:var(--text-2);border:1px solid var(--border);background:var(--surface);white-space:nowrap;border-radius:5px;align-items:center;gap:5px;padding:0 7px 0 6px;display:inline-flex}.lbl i{background:var(--c);border-radius:2px;width:6px;height:6px}.chip{height:var(--h-sm);border-radius:var(--r-sm);font-size:var(--fs-xs);background:var(--accent-soft);color:var(--text);border:1px solid var(--accent-line);align-items:center;gap:6px;padding:0 4px 0 8px;display:inline-flex}.chip b{color:var(--text-2);font-weight:500}.chip .ibtn{width:18px;height:18px;color:var(--text-2)}.pillbtn{height:var(--h-sm);border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--text);transition:background var(--dur);white-space:nowrap;align-items:center;gap:6px;max-width:100%;padding:0 7px;display:inline-flex}.pillbtn:hover{background:var(--surface-2)}.pillbtn.empty{color:var(--text-3)}.pillbtn.bordered{border:1px solid var(--border)}.pillbtn.over{color:var(--red)}.av{--sz:22px;width:var(--sz);height:var(--sz);font-size:calc(var(--sz)*.4);letter-spacing:.01em;background:color-mix(in srgb, var(--c) 17%, var(--surface));color:color-mix(in srgb, var(--c) 55%, var(--text));box-shadow:0 0 0 1.5px var(--surface);-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;place-items:center;font-weight:600;line-height:1;display:inline-grid}.av.sm{--sz:20px}.av.md{--sz:26px}.av.lg{--sz:36px}.av.xl{--sz:64px}.av.empty{border:1.3px dashed var(--border-strong);color:var(--text-4);box-shadow:none;background:0 0}.avs{display:inline-flex}.avs .av+.av{margin-left:-5px}.avs .more{--c:var(--gray)}.presence{position:relative}.presence:after{content:"";background:var(--green);width:30%;height:30%;box-shadow:0 0 0 2px var(--surface);border-radius:50%;position:absolute;bottom:-1px;right:-1px}.prog{background:var(--surface-3);border-radius:4px;flex:1;min-width:40px;height:4px;overflow:hidden}.prog>i{background:var(--accent);transform-origin:0;width:100%;height:100%;transform:scaleX(var(--p,0));transition:transform .3s var(--ease);border-radius:4px;display:block}.prog.green>i{background:var(--green)}.prog.amber>i{background:var(--amber)}.prog.red>i{background:var(--red)}.stackbar{background:var(--surface-3);border-radius:6px;gap:2px;height:6px;display:flex;overflow:hidden}.stackbar i{height:100%;display:block}#app{height:100%}.shell{grid-template-columns:var(--side-w) minmax(0,1fr);height:100%;display:grid}.shell.collapsed{grid-template-columns:52px minmax(0,1fr)}.side-scrim{display:none}.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:8px 8px 4px}.ws{border-radius:var(--r-sm);text-align:left;width:100%;transition:background var(--dur);align-items:center;gap:8px;padding:5px 6px;display:flex}.ws:hover{background:var(--surface-3)}.ws-logo{color:#fff;background:var(--c,#3a3934);border-radius:6px;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:11px;font-weight:600;display:grid}.ws-logo.brand{background:var(--text);color:var(--bg);border-radius:28%}.brand .logo,.auth-card .logo{color:var(--text)}svg.logo{flex-shrink:0;display:block}.ws-name{font-weight:600;font-size:var(--fs)}.side-scroll{scrollbar-width:none;flex:1;padding:4px 8px 12px;overflow:hidden auto}.side-scroll::-webkit-scrollbar{display:none}.sgroup{margin-top:14px}.sgroup-h{height:24px;font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);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}.sitem{width:100%;height:var(--side-row);border-radius:var(--r-sm);color:var(--text-2);font-size:var(--fs);text-align:left;transition:background var(--dur),color var(--dur);white-space:nowrap;align-items:center;gap:9px;padding:0 8px;font-weight:450;display:flex;position:relative}.sitem:hover{background:var(--surface-3);color:var(--text)}.sitem.on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000000d,0 0 0 1px var(--border);font-weight:500}:root[data-theme=dark] .sitem.on{background:var(--surface-3);box-shadow:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sitem.on{background:var(--surface-3);box-shadow:none}}.sitem .i{color:var(--text-4)}.sitem.on .i,.sitem:hover .i{color:var(--text-2)}.sitem .ct{font-size:var(--fs-2xs);color:var(--text-3);font-variant-numeric:tabular-nums;margin-left:auto}.sitem .ct.dotc{background:var(--accent);min-width:16px;height:16px;color:var(--on-accent);border-radius:8px;place-items:center;padding:0 4px;font-weight:600;display:grid}.sitem .pico{background:color-mix(in srgb,var(--c) 16%,transparent);width:18px;height:18px;color:var(--pc,var(--c));border-radius:5px;flex-shrink:0;place-items:center;display:grid}.sitem .pico .i{color:var(--pc,var(--c))!important}.sitem .pico,.picon{--pc:color-mix(in srgb,var(--c) var(--pc-mix,100%),var(--text))}.sitem .sdot{border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-left:auto}.sitem .fav{color:var(--amber);margin-left:4px}.sitem .hov{margin-left:auto;display:none}.sitem:hover .hov{display:flex}.sitem:hover .sdot{display:none}.sitem.drop-before:before{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;top:-1px;left:6px;right:6px}.sitem.dragging{opacity:.4}.sub{border-left:1px solid var(--border);margin-left:8px;padding-left:14px;display:none}.sub.open{display:block}.sitem .chev{transition:transform var(--dur);color:var(--text-4)}.sitem .chev.open{transform:rotate(90deg)}.side-bot{border-top:1px solid var(--border);padding:6px 8px 8px}.collapsed .sitem{justify-content:center;padding:0}.collapsed .sitem>span:not(.pico),.collapsed .sitem .ct,.collapsed .sgroup-h,.collapsed .ws-name,.collapsed .ws .chev-d,.collapsed .sitem .sdot,.collapsed .sitem .fav,.collapsed .sitem .hov,.collapsed .sub,.collapsed .side-search,.collapsed .sitem .chev{display:none!important}.collapsed .sgroup{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.collapsed .ws{justify-content:center;padding:5px 0}.main{background:var(--surface);flex-direction:column;min-width:0;min-height:0;display:flex}.topbar{height:var(--topbar-h);padding:0 12px 0 var(--gutter);border-bottom:1px solid var(--border);background:var(--surface);z-index:5;flex-shrink:0;align-items:center;gap:6px;display:flex;position:relative}.crumbs{min-width:0;font-size:var(--fs-sm);color:var(--text-2);align-items:center;gap:8px;display:flex}.crumbs button{white-space:nowrap;transition:color var(--dur);align-items:center;gap:6px;padding:3px 0;display:inline-flex}.crumbs button:hover{color:var(--text)}.crumbs .cur{color:var(--text);font-weight:500}.crumbs .sep{color:var(--text-4);font-size:12px}.topsearch{height:var(--h-sm);border-radius:var(--r-sm);border:1px solid var(--border);color:var(--text-3);font-size:var(--fs-sm);background:var(--sunken);width:220px;transition:border-color var(--dur);align-items:center;gap:8px;padding:0 6px 0 9px;display:flex}.topsearch:hover{border-color:var(--border-strong);color:var(--text-2)}.topsearch .kbd{flex-shrink:0;margin-left:auto}.topsearch .lbltxt{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.content{flex:1;min-height:0;position:relative;overflow:auto}.content:focus,.drawer:focus{outline:none}.page{max-width:1160px;padding:28px var(--gutter) 72px;margin:0 auto}.page.wide{max-width:none}.page.flush{flex-direction:column;max-width:none;height:100%;padding:0;display:flex}.page.flush>.ph{padding:24px var(--gutter) 12px;margin:0}.ph{flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.ph h1{font-size:var(--fs-2xl);letter-spacing:-.022em;text-wrap:balance;margin:0;font-weight:600;line-height:1.2}.ph p{color:var(--text-2);font-size:var(--fs);margin:4px 0 0}.ph .acts{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}h2.sec{font-size:var(--fs-md);letter-spacing:-.01em;margin:0;font-weight:600}h3.sub{font-size:var(--fs);margin:0;font-weight:600}.eyebrow{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);font-weight:600}.bottomnav{display:none}.offline-bar{background:var(--amber-soft);color:var(--text);font-size:var(--fs-sm);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:7px 14px;display:flex}.offline-bar .i{color:var(--amber)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.panel-h{align-items:center;gap:8px;padding:12px 14px 10px;display:flex}.panel-h h2{font-size:var(--fs);margin:0;font-weight:600}.panel-h .acts{align-items:center;gap:4px;margin-left:auto;display:flex}.panel-b{padding:0 14px 14px}.stats{border:1px solid var(--border);border-radius:var(--r-lg);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.stat{text-align:left;transition:background var(--dur);flex-direction:column;gap:6px;padding:14px 16px;display:flex}.stat+.stat{border-left:1px solid var(--border)}.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:-.02em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;line-height:1.1}.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.55fr) minmax(0,1fr);gap:16px;display:grid}.stack{flex-direction:column;gap:16px;display:flex}.panel>.mini:first-child{border-top:0}.nrow{cursor:pointer;align-items:flex-start;gap:12px;padding:11px 14px;display:flex}.nrow+.nrow{border-top:1px solid var(--divider)}.nrow.unread{background:color-mix(in srgb,var(--accent) 3.5%,transparent)}.nrow:hover{background:var(--surface-2)}.inbox-list{scrollbar-width:none;flex:1;overflow-y:auto}.inbox-list::-webkit-scrollbar{display:none}.inbox-tabs{padding:0 var(--gutter);gap:16px;margin-top:8px}.inbox-tabs .tab{padding:0}.inbox-tabs .tab.on:after{left:0;right:0}.tlist{border-top:0}.thead,.trow{grid-template-columns:var(--cols);min-height:var(--row-h);align-items:center;gap:0;display:grid}.thead{min-height:32px;font-size:var(--fs-xs);color:var(--text-3);border-bottom:1px solid var(--border);background:var(--surface);z-index:2;font-weight:500;position:sticky;top:0}.thead>div{white-space:nowrap;align-items:center;gap:4px;padding:0 8px;display:flex}.trow{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.drop-before{box-shadow:inset 0 2px 0 var(--accent)}.trow.drop-after{box-shadow:inset 0 -2px 0 var(--accent)}.trow.dragging{opacity:.4}.trow>div{align-items:center;gap:6px;min-width:0;padding:0 8px;display:flex}.trow .handle{opacity:0;cursor:grab;color:var(--text-4);justify-content:center;width:16px;padding:0}.trow:hover .handle{opacity:1}.trow .ttl{font-size:var(--fs);cursor:pointer;gap:8px}.trow .ttl .tt{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trow .ttl:hover .tt{text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px}.trow.done .tt{color:var(--text-3);text-decoration:line-through;-webkit-text-decoration-color:var(--text-3);text-decoration-color:var(--text-3)}.trow .key{font-family:var(--mono);color:var(--text-3);flex-shrink:0;font-size:11px}.trow .meta-mini{color:var(--text-3);font-size:var(--fs-2xs);align-items:center;gap:3px;display:inline-flex}.grp{height:36px;font-size:var(--fs-sm);border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;margin-top:10px;padding:0 8px 0 22px;font-weight:600;display:flex}.grp .cnt{color:var(--text-3);font-weight:500}.grp .ibtn{opacity:.6}.grp:hover .ibtn{opacity:1}.subrows{background:var(--sunken)}.subrow{border-bottom:1px solid var(--divider);height:32px;font-size:var(--fs-sm);align-items:center;gap:8px;padding-left:64px;display:flex}.subrow.done span{color:var(--text-3);text-decoration:line-through}.addrow{height:34px;color:var(--text-3);font-size:var(--fs-sm);text-align:left;border-bottom:1px solid var(--divider);align-items:center;gap:8px;width:100%;padding:0 10px 0 26px;display:flex}.addrow:hover{color:var(--text);background:var(--surface-2)}.list-wrap{padding:0 var(--gutter) 90px calc(var(--gutter) - 26px)}.inline-in{width:100%;height:100%;font-size:var(--fs);background:0 0;border:0;outline:none;padding:0}.bulkbar{border-radius:var(--r-lg);background:var(--text);color:var(--text-inv);box-shadow:var(--shadow-pop);z-index:40;font-size:var(--fs-sm);align-items:center;gap:4px;padding:6px 6px 6px 14px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.bulkbar.enter{animation:popUp .28s var(--spring)}.bulkbar .btn{color:var(--text-inv);opacity:.85}.bulkbar .btn:hover{background:color-mix(in srgb,var(--text-inv) 14%,transparent);opacity:1}.bulkbar .sep{background:color-mix(in srgb,var(--text-inv) 20%,transparent);width:1px;height:18px;margin:0 4px}@keyframes popUp{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.mini{border-top:1px solid var(--divider);cursor:pointer;min-height:38px;transition:background var(--dur);align-items:center;gap:10px;padding:0 14px;display:flex}.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}.mini .pj{font-size:var(--fs-xs);color:var(--text-2);align-items:center;gap:5px;max-width:140px;display:inline-flex}.pdot{background:var(--c);border-radius:3px;flex-shrink:0;width:8px;height:8px}.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)}.board{padding:14px var(--gutter) 24px;flex:1;align-items:flex-start;gap:12px;min-height:0;display:flex;overflow-x:auto}.board:after{content:"";flex:0 0 8px}.bcol{border-radius:var(--r-lg);background:var(--sunken);border:1px solid var(--divider);flex-direction:column;flex-shrink:0;width:284px;max-height:100%;display:flex}.bcol.collapsed{cursor:pointer;align-items:center;width:44px;padding-top:8px}.bcol.collapsed .vname{writing-mode:vertical-rl;font-size:var(--fs-sm);color:var(--text-2);align-items:center;gap:8px;margin-top:8px;font-weight:500;display:flex}.bcol-h{font-size:var(--fs-sm);align-items:center;gap:7px;padding:10px 8px 6px 12px;font-weight:600;display:flex}.bcol-h .cnt{color:var(--text-3);font-weight:500}.bcol-h .acts{opacity:.55;transition:opacity var(--dur);gap:0;margin-left:auto;display:flex}.bcol:hover .bcol-h .acts{opacity:1}.bcol-b{scrollbar-width:none;flex-direction:column;flex:1;gap:6px;min-height:60px;padding:4px 8px 8px;display:flex;overflow-y:auto}.bcol-b::-webkit-scrollbar{display:none}.bcol.over{background:color-mix(in srgb,var(--accent) 6%,var(--sunken));border-color:var(--accent-line)}.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),transform var(--dur);flex-direction:column;gap:8px;display:flex;position:relative}.kcard:hover{box-shadow:0 2px 6px -2px #00000014,0 0 0 1px var(--border-strong)}.kcard.dragging{opacity:.35}.kcard.ghost{box-shadow:var(--shadow-drag);transform:rotate(1.5deg)}.kcard .top{align-items:flex-start;gap:0;display:flex}.kcard .title{font-size:var(--fs);word-wrap:break-word;flex:1;min-width:0;font-weight:450;line-height:1.4}.kcard.done .title{color:var(--text-3);text-decoration:line-through}.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{display:flex}.kcard .labels{flex-wrap:wrap;gap:4px;display:flex}.kcard .meta{color:var(--text-3);font-size:var(--fs-xs);align-items:center;gap:10px;display:flex}.kcard .meta .m{align-items:center;gap:3px;display:inline-flex}.kcard .meta .av{margin-left:auto}.kcard .subp{font-size:var(--fs-2xs);color:var(--text-3);align-items:center;gap:8px;display:flex}.kcard .key{font-family:var(--mono);color:var(--text-3);font-size:11px}.drop-line{background:var(--accent);border-radius:2px;flex-shrink:0;height:2px;margin:-4px 2px}.addcard{height:30px;color:var(--text-3);font-size:var(--fs-sm);border-radius:var(--r-sm);text-align:left;flex-shrink:0;align-items:center;gap:6px;width:100%;padding:0 8px;display:flex}.addcard:hover{background:var(--surface-3);color:var(--text)}.composer{background:var(--surface);border-radius:var(--r);box-shadow:0 0 0 1px var(--accent-line),0 0 0 3px var(--accent-soft);flex-direction:column;gap:8px;padding:8px 10px;display:flex}.composer textarea{resize:none;font-size:var(--fs);background:0 0;border:0;outline:none;min-height:38px;padding:0}.toolbar{padding:8px var(--gutter);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px;min-height:44px;display:flex}.toolbar .btn-ghost{height:var(--h-sm);font-size:var(--fs-xs);padding:0 8px}.chipsbar{padding:8px var(--gutter);border-bottom:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-3);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tbl-wrap{flex:1;min-height:0;overflow:auto}table.tbl{border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:var(--fs-sm);min-width:100%}.tbl th{z-index:3;background:var(--surface);text-align:left;height:34px;color:var(--text-2);font-weight:500;font-size:var(--fs-xs);border-bottom:1px solid var(--border);border-right:1px solid var(--divider);white-space:nowrap;-webkit-user-select:none;user-select:none;padding:0 10px;position:sticky;top:0}.tbl th .thi{cursor:pointer;align-items:center;gap:5px;display:flex;overflow:hidden}.tbl th .thi:hover{color:var(--text)}.tbl th .rsz{cursor:col-resize;z-index:4;width:6px;position:absolute;top:0;bottom:0;right:-3px}.tbl th .rsz:hover,.tbl th .rsz.on{background:var(--accent-line)}.tbl td{border-bottom:1px solid var(--divider);border-right:1px solid var(--divider);white-space:nowrap;text-overflow:ellipsis;background:var(--surface);height:36px;padding:0 10px;overflow:hidden}.tbl tr:hover td{background:var(--surface-2)}.tbl td.editing{box-shadow:inset 0 0 0 2px var(--accent);background:var(--surface)!important}.tbl td.editing input{width:100%;height:100%;font-size:var(--fs-sm);background:0 0;border:0;outline:0}.tbl th:first-child,.tbl td:first-child{padding-left:var(--gutter)}.tbl .sticky{z-index:2;position:sticky;left:0}.tbl th.sticky{z-index:5}.tbl td.cellbtn{cursor:pointer}.tbl .grow-row td{background:var(--sunken);font-weight:600;font-size:var(--fs-xs);color:var(--text-2);height:32px}.tbl .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}.cal{flex-direction:column;flex:1;min-height:0;display:flex}.cal-h{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));grid-auto-rows:minmax(112px,1fr);display:grid}.cday{border-right:1px solid var(--divider);border-bottom:1px solid var(--divider);min-width:0;transition:background var(--dur);flex-direction:column;gap:3px;padding:6px;display:flex;position:relative}.cday:nth-child(7n){border-right:0}.cday.out{background:var(--sunken)}.cday.out .dn{color:var(--text-3)}.cday.over{background:var(--accent-soft)}.cday .dn{font-size:var(--fs-xs);color:var(--text-2);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;width:22px;height:22px;font-weight:500;display:grid}.cday.today .dn{background:var(--accent);color:var(--on-accent)}.cday .add{opacity:0;position:absolute;top:5px;right:5px}.cday:hover .add{opacity:1}.cev{height:22px;font-size:var(--fs-xs);background:color-mix(in srgb,var(--c) 11%,var(--surface));color:var(--text);cursor:pointer;border:1px solid color-mix(in srgb,var(--c) 22%,transparent);text-align:left;border-radius:5px;align-items:center;gap:5px;width:100%;min-width:0;padding:0 6px;display:flex}.cev:hover{background:color-mix(in srgb,var(--c) 18%,var(--surface))}.cev .trunc{flex:1}.cev.done{opacity:.55}.cev.done .trunc{text-decoration:line-through}.cev.event{border-style:dashed;border-color:color-mix(in srgb,var(--c) 45%,transparent);background:0 0}.cev .av{--sz:16px;font-size:7.5px}.cmore{font-size:var(--fs-2xs);color:var(--text-2);text-align:left;padding:0 6px}.cmore:hover{color:var(--text)}.week{flex:1;grid-template-columns:repeat(7,minmax(0,1fr));min-height:0;display:grid}.wcol{border-right:1px solid var(--divider);flex-direction:column;min-width:0;display:flex}.wcol:last-child{border-right:0}.wcol-h{border-bottom:1px solid var(--border);align-items:baseline;gap:6px;padding:10px;display:flex}.wcol-h .n{font-size:var(--fs-xl);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-weight:600}.wcol-h.today .n{color:var(--accent)}.wcol-b{flex-direction:column;flex:1;gap:6px;padding:8px;display:flex;overflow-y:auto}.wcol-b.over{background:var(--accent-soft)}.wcard{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);font-size:var(--fs-sm);cursor:pointer;text-align:left;flex-direction:column;gap:5px;padding:7px 8px;display:flex}.wcard:hover{border-color:var(--border-strong)}.wcard .t{align-items:baseline;gap:7px;display:flex}.wcard .t .pdot{transform:translateY(-1px)}.wcard.event{background:color-mix(in srgb,var(--c) 8%,var(--surface))}.wcard .t{font-weight:500;line-height:1.3}.wcard .m{font-size:var(--fs-2xs);color:var(--text-3);align-items:center;gap:6px;display:flex}.tl{flex:1;grid-template-columns:300px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.tl-left{border-right:1px solid var(--border);flex-direction:column;display:flex;overflow:hidden}.tl-right{position:relative;overflow:auto}.tl-head{border-bottom:1px solid var(--border);background:var(--surface);z-index:4;flex-shrink:0;height:52px;position:sticky;top:0}.tl-left .tl-head{padding:0 12px 8px var(--gutter);font-size:var(--fs-xs);color:var(--text-3);align-items:flex-end;font-weight:500;display:flex}.tl-rows{overflow:hidden}.tl-row{height:36px;padding:0 12px 0 var(--gutter);border-bottom:1px solid var(--divider);font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;display:flex}.tl-row:hover{background:var(--surface-2)}.tl-row.g{font-weight:600;font-size:var(--fs-xs);color:var(--text-2);background:var(--sunken);cursor:default}.tl-row.sub{color:var(--text-2);font-size:var(--fs-xs);padding-left:34px}.tl-months,.tl-days{height:26px;display:flex;position:absolute;left:0}.tl-months{top:0}.tl-days{border-top:1px solid var(--divider);top:26px}.tl-months div{border-left:1px solid var(--border);font-size:var(--fs-xs);color:var(--text);white-space:nowrap;padding:5px 0;font-weight:600}.tl-months span{padding:0 8px;position:sticky;left:8px}.tl-days div{border-left:1px solid var(--divider);color:var(--text-3);font-variant-numeric:tabular-nums;place-items:center;font-size:11px;display:grid}.tl-days div.today{color:var(--accent);font-weight:600}.tl-grid{position:relative}.tl-gl{background:var(--divider);width:1px;position:absolute;top:0;bottom:0}.tl-we{background:var(--sunken);position:absolute;top:0;bottom:0}.tl-today{background:var(--accent);opacity:.7;z-index:2;width:2px;position:absolute;top:0;bottom:0}.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)}.bar{background:color-mix(in srgb,var(--c) 16%,var(--surface));border:1px solid color-mix(in srgb,var(--c) 45%,transparent);height:24px;font-size:var(--fs-xs);color:var(--text);cursor:grab;white-space:nowrap;z-index:3;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:6px;padding:0 8px;display:flex;position:absolute;overflow:hidden;font-size:var(--fs-sm)!important}.bar:hover{border-color:var(--c)}.bar .pf{background:color-mix(in srgb,var(--c) 26%,transparent);z-index:-1;position:absolute;top:0;bottom:0;left:0}.bar.done{opacity:.6}.bar.dragging{cursor:grabbing;box-shadow:var(--shadow-drag)}.bar-lbl{font-size:var(--fs-xs);color:var(--text-2);white-space:nowrap;pointer-events:none;z-index:3;align-items:center;gap:6px;display:flex;position:absolute}.ms-w{z-index:3;cursor:default;align-items:center;gap:8px;height:18px;display:flex;position:absolute}.ms-w:hover{z-index:6}.ms{background:var(--text);border-radius:2px;flex-shrink:0;width:12px;height:12px;transform:rotate(45deg)}.ms-l{font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-weight:500;overflow:hidden}.ms-w[data-tip]:hover:after{left:0;transform:none}.tl-deps{pointer-events:none;z-index:2;position:absolute;top:0;left:0;overflow:visible}.pgrid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;display:grid}.pcard{border:1px solid var(--border);border-radius:var(--r-lg);cursor:pointer;background:var(--surface);transition:border-color var(--dur),box-shadow var(--dur);text-align:left;flex-direction:column;gap:12px;padding:14px;display:flex;position:relative}.pcard:hover{border-color:var(--border-strong);box-shadow:0 4px 12px -6px #0000001a}.pcard .desc{font-size:var(--fs-sm);color:var(--text-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.9em;line-height:1.45;display:-webkit-box;overflow:hidden}.pcard .foot{font-size:var(--fs-xs);color:var(--text-3);border-top:1px solid var(--divider);align-items:center;gap:10px;padding-top:10px;display:flex}.picon{--sz:28px;width:var(--sz);height:var(--sz);background:color-mix(in srgb,var(--c) 14%,transparent);color:var(--pc,var(--c));border-radius:7px;flex-shrink:0;place-items:center;display:grid}.picon.lg{--sz:36px;border-radius:9px}.pcard .more{opacity:0;position:absolute;top:10px;right:10px}.pcard:hover .more{opacity:1}.pstatus{font-size:var(--fs-xs);border:1px solid var(--border);white-space:nowrap;border-radius:5px;align-items:center;gap:5px;height:20px;padding:0 7px;font-weight:500;display:inline-flex}.pstatus i{background:var(--c);border-radius:50%;width:6px;height:6px}.proj-h{padding:20px var(--gutter) 0;flex-direction:column;gap:12px;display:flex}.proj-h .t{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.proj-h h1{font-size:var(--fs-xl);letter-spacing:-.018em;margin:0;font-weight:600}.proj-h .tabs{margin:0 calc(-1*var(--gutter));padding:0 calc(var(--gutter) - 10px)}.feed{flex-direction:column;display:flex}.fitem{font-size:var(--fs-sm);gap:10px;padding:9px 0;line-height:1.45;display:flex;position:relative}.fitem .av{margin-top:1px}.fitem b{font-weight:500}.fitem .obj{cursor:pointer;font-weight:500}.fitem .obj:hover{text-underline-offset:3px;text-decoration:underline}.fitem time{color:var(--text-3);font-size:var(--fs-xs);white-space:nowrap}.feed.lined .fitem:not(:last-child):before{content:"";background:var(--border);width:1px;position:absolute;top:32px;bottom:-4px;left:10px}.day-h{font-size:var(--fs-xs);color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;padding:14px 0 4px;font-weight:600}.kv{font-size:var(--fs-sm);grid-template-columns:112px minmax(0,1fr);align-items:center;row-gap:2px;display:grid}.kv>dt{color:var(--text-2);align-items:center;gap:7px;height:30px;margin:0;display:flex}.kv>dd{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;min-height:30px;margin:0;display:flex}.kv>dt .i{color:var(--text-4)}.fgrid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.fcard{border:1px solid var(--border);border-radius:var(--r-lg);cursor:pointer;background:var(--surface);transition:border-color var(--dur);text-align:left;position:relative;overflow:hidden}.fcard:hover{border-color:var(--border-strong)}.fprev{aspect-ratio:16/10;background:var(--sunken);border-bottom:1px solid var(--border);place-items:center;max-width:100%;display:grid;position:relative;overflow:hidden}.fprev .art{background:var(--surface);border-radius:4px;flex-direction:column;gap:5px;padding:10px;display:flex;position:absolute;inset:14px 18px;box-shadow:0 1px 3px #00000014}.fprev .art i{background:var(--surface-3);border-radius:2px;height:4px;display:block}.fprev .art i.h{background:var(--border-strong);width:55%;height:7px}.fprev .ext{font-family:var(--mono);background:var(--c);color:#fff;text-transform:uppercase;border-radius:4px;padding:2px 5px;font-size:11px;font-weight:500;position:absolute;bottom:8px;right:8px}.fcard .fi{flex-direction:column;gap:2px;padding:9px 10px;display:flex}.fcard .fn{font-size:var(--fs-sm);font-weight:500}.fcard .fm{font-size:var(--fs-2xs);color:var(--text-3)}.fcard .more{opacity:0;background:var(--surface);box-shadow:0 0 0 1px var(--border);position:absolute;top:6px;right:6px}.fcard:hover .more{opacity:1}.ftype{background:color-mix(in srgb,var(--c) 13%,transparent);width:28px;height:28px;color:var(--c);border-radius:6px;flex-shrink:0;place-items:center;display:grid}.upl{border:1px solid var(--border);border-radius:var(--r);font-size:var(--fs-sm);align-items:center;gap:10px;padding:10px 12px;display:flex}.dropzone{border:1.5px dashed var(--border-strong);border-radius:var(--r-lg);color:var(--text-2);font-size:var(--fs-sm);transition:background var(--dur),border-color var(--dur);cursor:pointer;justify-content:center;align-items:center;gap:10px;padding:18px;display:flex}.dropzone:hover,.dropzone.over{background:var(--accent-soft);border-color:var(--accent-line);color:var(--text)}.scrim{background:var(--overlay);z-index:60;position:fixed;inset:0}.scrim.enter{animation:.18s both fade}.modal-wrap{z-index:61;justify-content:center;align-items:flex-start;padding:10vh 16px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);width:100%;max-width:560px;box-shadow:var(--shadow-pop);border-radius:12px;flex-direction:column;max-height:80vh;display:flex}.modal.enter{animation:modalIn .26s var(--ease) both}.modal.sm{max-width:420px}.modal.lg{max-width:720px}.modal-h{align-items:center;gap:8px;padding:14px 16px 0;display:flex}.modal-h h2{font-size:var(--fs-md);margin:0;font-weight:600}.modal-h .ibtn{margin-left:auto}.modal-b{flex-direction:column;gap:14px;padding:14px 16px;display:flex;overflow-y:auto}.modal-f{border-top:1px solid var(--border);align-items:center;gap:8px;padding:12px 16px;display:flex}.modal-f .sp{flex:1}@keyframes modalIn{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}.drawer{background:var(--surface);border-left:1px solid var(--border);z-index:50;flex-direction:column;width:min(620px,100vw);display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-18px 0 40px -24px #00000040}.drawer.enter{animation:drawerIn .34s var(--ease-drawer) both}.drawer.enter .drawer-b>*{animation:riseIn .38s var(--ease) both}.drawer.enter .drawer-b>:nth-child(2){animation-delay:40ms}.drawer.enter .drawer-b>:nth-child(3){animation-delay:70ms}.drawer.enter .drawer-b>:nth-child(n+4){animation-delay:.1s}.drawer.full{border:1px solid var(--border);border-radius:12px;width:min(980px,100vw - 48px);top:24px;bottom:24px;right:50%;transform:translate(50%)}.drawer.full.enter{animation:modalIn .26s var(--ease) both}.drawer-scrim{z-index:49;background:0 0;position:fixed;inset:0}.drawer-scrim.full{background:var(--overlay)}.drawer-scrim.full.enter{animation:.18s both fade}@keyframes drawerIn{0%{opacity:0;transform:translate(48px)}to{opacity:1;transform:none}}.drawer-h{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:4px;height:46px;padding:0 10px 0 16px;display:flex}.drawer-b{flex:1;padding:20px 24px 32px;overflow-y:auto}.drawer.full .drawer-b{padding:28px 48px 40px}.ttl-edit{resize:none;width:100%;font-size:var(--fs-xl);letter-spacing:-.018em;border-radius:var(--r-sm);background:0 0;border:0;outline:none;margin:0 -6px;padding:4px 6px;font-weight:600;line-height:1.3;overflow:hidden}.ttl-edit:hover{background:var(--surface-2)}.ttl-edit:focus{background:var(--surface-2);box-shadow:0 0 0 1px var(--border-strong)}.dsec{margin-top:26px}.dsec-h{align-items:center;gap:8px;margin-bottom:8px;display:flex}.dsec-h h3{font-size:var(--fs);margin:0;font-weight:600}.dsec-h .cnt{color:var(--text-3);font-size:var(--fs-xs)}.dsec-h .acts{gap:2px;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(--border-strong)}.rte-tb{opacity:0;transition:opacity var(--dur);gap:1px;margin-left:auto;display:flex}.dsec:hover .rte-tb,.dsec:focus-within .rte-tb{opacity:1}.rte-body{min-height:64px;font-size:var(--fs);outline:none;padding:8px 10px;line-height:1.6}.rte-body:empty:before{content:attr(data-ph);color:var(--text-3)}.rte-body p{margin:0 0 6px}.rte-body ul,.rte-body ol{margin:4px 0;padding-left:20px}.rte-body h4{font-size:var(--fs-md);margin:10px 0 4px}.subt{border-radius:var(--r-sm);min-height:32px;font-size:var(--fs);align-items:center;gap:9px;padding:0 6px;display:flex}.subt:hover{background:var(--surface-2)}.subt.done .s{color:var(--text-3);text-decoration:line-through}.subt .x{opacity:0;margin-left:auto}.subt:hover .x{opacity:1}.subt .s{text-align:left;text-overflow:ellipsis;white-space:nowrap;border-radius:4px;flex:1;min-width:0;padding:4px 0;overflow:hidden}.subt .s:hover{text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px}.subt .due{flex-shrink:0}.att{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.attc{border:1px solid var(--border);border-radius:var(--r);font-size:var(--fs-xs);background:var(--surface);position:relative;overflow:hidden}.attc .fprev{aspect-ratio:16/9}.attc .fprev .art{gap:4px;padding:7px;inset:10px 14px}.attc .fi{padding:7px 9px}.attc .x{opacity:0;background:var(--surface);box-shadow:0 0 0 1px var(--border);position:absolute;top:5px;right:5px}.attc:hover .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:baseline;gap:8px;display:flex}.cmt .who b{font-weight:600}.cmt .who time{color:var(--text-3);font-size:var(--fs-xs)}.cmt .txt{font-size:var(--fs);white-space:pre-wrap;word-wrap:break-word;margin-top:3px;line-height:1.55}.mention{color:var(--accent);background:var(--accent-soft);border-radius:4px;padding:0 3px;font-weight:500}.reacts{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.react{border:1px solid var(--border);height:22px;font-size:var(--fs-xs);background:var(--surface);transition:background var(--dur),border-color var(--dur);border-radius:11px;align-items:center;gap:4px;padding:0 7px;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);transition:border-color var(--dur),box-shadow var(--dur);background:var(--surface);flex-direction:column;gap:6px;padding:8px 10px;display:flex}.cbox:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.cbox textarea{resize:none;font-size:var(--fs);background:0 0;border:0;outline:0;min-height:40px;padding:0;line-height:1.5}.act-line{font-size:var(--fs-sm);color:var(--text-2);align-items:center;gap:9px;padding:5px 0;display:flex}.act-line b{color:var(--text);font-weight:500}.act-line .ico{width:22px;height:22px;color:var(--text-4);place-items:center;display:grid}.pop{z-index:80;background:var(--surface);border-radius:var(--r-lg);min-width:200px;max-width:320px;box-shadow:var(--shadow-pop);transform-origin:0 0;max-height:min(420px,70vh);font-size:var(--fs);padding:4px;position:fixed;overflow-y:auto}@keyframes popIn{0%{opacity:0;transform:translateY(-4px)scale(.97)}to{opacity:1;transform:none}}.pop.enter{animation:popIn .16s var(--ease) both}.pop .pin{border-bottom:1px solid var(--divider);margin:-4px -4px 4px;padding:8px}.pop .pin input{width:100%;font-size:var(--fs);background:0 0;border:0;outline:0;padding:0 4px}.mi{border-radius:var(--r-sm);text-align:left;width:100%;min-height:30px;color:var(--text);font-size:var(--fs);white-space:nowrap;align-items:center;gap:9px;padding:0 8px;display:flex}.mi:hover,.mi.hl,.mi:focus-visible{background:var(--surface-2);outline:none}.mi .i{color:var(--text-2)}.mi .r{color:var(--text-3);font-size:var(--fs-xs);align-items:center;gap:4px;margin-left:auto;display:flex}.mi .ck{color:var(--accent);margin-left:auto}.mi.danger,.mi.danger .i{color:var(--red)}.mi:disabled{opacity:.45;pointer-events:none}.msep{background:var(--divider);height:1px;margin:4px -4px}.mh{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);padding:8px 8px 4px;font-weight:600}.fbuild{min-width:440px}.fb-h{justify-content:space-between;align-items:center;min-height:30px;padding-top:4px;padding-bottom:4px;display:flex}.fb-h .btn{text-transform:none;letter-spacing:0;margin-right:-4px}.fb-rows{flex-direction:column;gap:6px;padding:2px 8px 6px;display:flex}.fb-empty{font-size:var(--fs-sm);color:var(--text-3);margin:0;padding:2px 8px 8px}.fb-add{font-size:var(--fs-xs);flex-wrap:wrap;align-items:center;gap:4px;padding:4px 8px 6px;display:flex}.fb-add .faint{margin-right:4px}.frow{grid-template-columns:44px 120px 84px minmax(0,1fr) 26px;align-items:center;gap:6px;display:grid}.frow .conj{font-size:var(--fs-xs);color:var(--text-3);text-align:right;padding-right:4px}.frow .select,.frow .input{height:var(--h-sm);font-size:var(--fs-sm)}.valbtn{height:var(--h-sm);border:1px solid var(--border-strong);border-radius:var(--r-sm);font-size:var(--fs-sm);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:var(--surface);align-items:center;gap:6px;padding:0 8px;display:flex;overflow:hidden}.valbtn:hover{background:var(--surface-2)}.palette{background:var(--surface);width:min(640px,100vw - 32px);box-shadow:var(--shadow-pop);z-index:90;border-radius:12px;flex-direction:column;max-height:70vh;display:flex;position:fixed;top:12vh;left:50%;overflow:hidden;transform:translate(-50%)}.pal-in{border-bottom:1px solid var(--border);align-items:center;gap:10px;height:50px;padding:0 14px;display:flex}.pal-in input{font-size:var(--fs-md);background:0 0;border:0;outline:0;flex:1;height:100%}.pal-scope{border-bottom:1px solid var(--divider);flex-wrap:wrap;gap:4px;padding:8px 12px;display:flex}.pal-scope button{height:24px;font-size:var(--fs-xs);color:var(--text-2);border:1px solid var(--border);border-radius:12px;align-items:center;gap:5px;padding:0 9px;display:inline-flex}.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);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);padding:10px 10px 4px;font-weight:600}.pal-sec+.pi{margin-top:0}.pal-group{border-bottom:1px solid var(--divider);margin-bottom:2px;padding-bottom:4px}.pal-group:last-child{border-bottom:0}.pi{border-radius:var(--r-sm);text-align:left;width:100%;height:38px;font-size:var(--fs);cursor:pointer;align-items:center;gap:10px;padding:0 10px;display:flex}.pi.hl{background:var(--surface-2)}.pi .i{color:var(--text-2)}.pi .sub{color:var(--text-3);font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis;margin-left:4px;overflow:hidden}.pi .r{color:var(--text-3);font-size:var(--fs-xs);align-items:center;gap:4px;margin-left:auto;display:flex}.pi mark{color:var(--accent);background:0 0;font-weight:600}.pal-f{border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-3);background:var(--sunken);gap:14px;padding:8px 14px;display:flex}.pal-f span{align-items:center;gap:5px;display:inline-flex}#toasts{z-index:100;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{pointer-events:auto;border-radius:var(--r);background:var(--text);min-height:40px;color:var(--text-inv);font-size:var(--fs-sm);box-shadow:var(--shadow-pop);animation:toastIn .2s var(--ease) both;align-items:center;gap:10px;max-width:400px;padding:8px 8px 8px 12px;display:flex;animation-timing-function:var(--spring)!important}.toast.out{animation:.16s both toastOut}.toast .i.ok{color:var(--green)}.toast .i.bad{color:var(--red)}.toast .ta{color:var(--text-inv);opacity:.9;border-radius:5px;padding:3px 8px;font-weight:600}.toast .ta:hover{background:color-mix(in srgb,var(--text-inv) 14%,transparent)}@keyframes toastIn{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:none}}@keyframes toastOut{to{opacity:0;transform:translateY(4px)}}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:56px 24px;display:flex}.empty-state .glyph{color:var(--text-4);place-items:center;margin-bottom:4px;display:grid}.empty-state .glyph svg{width:22px;height:22px}.empty-state .es-h{font-size:var(--fs-md);margin:0;font-weight:600}.empty-state p{color:var(--text-2);font-size:var(--fs-sm);max-width:340px;margin:0 0 10px}.empty-state.sm{padding:28px 16px}.empty-state.err .glyph{color:var(--red)}.sk{background:linear-gradient(90deg,var(--surface-3) 0%,var(--surface-2) 45%,var(--surface-3) 90%);background-size:220% 100%;border-radius:5px;animation:1.3s ease-in-out infinite shimmer;display:block}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-100% 0}}.alert{border-radius:var(--r);border:1px solid var(--border);font-size:var(--fs-sm);background:var(--surface);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.alert .i{margin-top:1px}.alert.warn{background:var(--amber-soft);border-color:#0000}.alert.warn .i{color:var(--amber)}.alert.danger{background:var(--red-soft);border-color:#0000}.alert.danger .i{color:var(--red)}.alert.info{background:var(--accent-soft);border-color:#0000}.alert.info .i{color:var(--accent)}.alert.ok{background:var(--green-soft);border-color:#0000}.alert.ok .i{color:var(--green)}.alert b{font-weight:600}.fullstate{place-items:center;min-height:100%;padding:40px 20px;display:grid}.fullstate .box{text-align:center;flex-direction:column;align-items:center;gap:8px;max-width:420px;display:flex}.fullstate .code{font-family:var(--mono);font-size:var(--fs-xs);color:var(--text-3);letter-spacing:.08em}.fullstate h1{font-size:var(--fs-xl);letter-spacing:-.015em;margin:0;font-weight:600}.fullstate p{color:var(--text-2);margin:0 0 12px}.set{grid-template-columns:220px minmax(0,1fr);height:100%;display:grid}.set-nav{border-right:1px solid var(--border);background:var(--surface);padding:20px 10px;overflow-y:auto}.set-nav .gh{font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);padding:14px 8px 4px;font-weight:600}.set-nav .gh:first-child{padding-top:0}.set-body{overflow-y:auto}.set-in{max-width:720px;padding:32px 40px 80px}.set-in h1{font-size:var(--fs-xl);letter-spacing:-.015em;margin:0 0 4px;font-weight:600}.set-in>p.lead{color:var(--text-2);margin:0 0 24px}.srow{border-bottom:1px solid var(--divider);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:14px 0;display:grid}.srow .t{font-weight:500;font-size:var(--fs)}.srow .d{color:var(--text-2);font-size:var(--fs-sm);margin-top:2px}.sblock{margin-top:28px}.sblock>h2{font-size:var(--fs);border-bottom:1px solid var(--border);margin:0 0 4px;padding-bottom:8px;font-weight:600}.themecards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.tcard{border:1px solid var(--border);border-radius:var(--r-lg);text-align:left;transition:border-color var(--dur),box-shadow var(--dur);flex-direction:column;gap:8px;padding:8px;display:flex}.tcard:hover{border-color:var(--border-strong)}.tcard.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tprev{border:1px solid #80808033;border-radius:6px;grid-template-columns:30% 1fr;height:84px;display:grid;overflow:hidden}.tprev .s{flex-direction:column;gap:4px;padding:8px 6px;display:flex}.tprev .m{flex-direction:column;gap:5px;padding:10px;display:flex}.tprev i{border-radius:3px;height:5px;display:block}.swatches{flex-wrap:wrap;gap:8px;display:flex}.sw{background:var(--c);color:#fff;width:26px;height:26px;transition:transform var(--dur);border-radius:50%;place-items:center;display:grid;box-shadow:0 0 0 1px #00000014}.sw:hover{transform:scale(1.08)}.sw.on{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--c)}.perm-t{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.perm-t th,.perm-t td{border-bottom:1px solid var(--divider);text-align:center;padding:9px 8px}.perm-t th:first-child,.perm-t td:first-child{text-align:left}.perm-t th{color:var(--text-2);font-weight:500;font-size:var(--fs-xs)}.plan{border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;gap:8px;padding:16px;display:flex}.plan.cur{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.plan .pr{font-size:var(--fs-xl);letter-spacing:-.02em;font-weight:600}.plan ul{font-size:var(--fs-sm);color:var(--text-2);flex-direction:column;gap:5px;margin:4px 0 0;padding:0;list-style:none;display:flex}.plan li{align-items:center;gap:7px;display:flex}.plan li .i{color:var(--green)}.meter{background:var(--surface-3);border-radius:3px;height:6px;overflow:hidden}.meter i{background:var(--accent);height:100%;display:block}.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:18px 24px;display:flex}.brand{font-weight:600;font-size:var(--fs-md);letter-spacing:-.01em;align-items:center;gap:8px;display:flex}.auth-c{flex:1;justify-content:center;align-items:flex-start;padding:6vh 16px 40px;display:flex}.auth-card{flex-direction:column;gap:16px;width:100%;max-width:380px;display:flex}.auth-card h1{font-size:var(--fs-2xl);letter-spacing:-.022em;text-align:center;margin:0;font-weight:600}.auth-card .sub{text-align:center;color:var(--text-2);margin:-8px 0 4px}.or{color:var(--text-3);font-size:var(--fs-xs);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}.social .btn{justify-content:center;gap:10px}.glyph-g,.glyph-m,.glyph-a{place-items:center;width:16px;height:16px;font-size:13px;font-weight:700;display:inline-grid}.link{color:var(--accent);font-weight:500}.link:hover{text-underline-offset:3px;text-decoration:underline}.auth-foot{text-align:center;color:var(--text-2);font-size:var(--fs-sm)}.strength{gap:4px;display:flex}.strength i{background:var(--surface-3);border-radius:2px;flex:1;height:3px}.strength i.on{background:var(--c)}.onb{max-width:560px}.steps{justify-content:center;gap:6px;margin-bottom:8px;display:flex}.steps i{background:var(--border-strong);border-radius:2px;width:28px;height:3px;transition:background .2s}.steps i.on{background:var(--accent)}.opts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.opt{border:1px solid var(--border);border-radius:var(--r-lg);text-align:left;background:var(--surface);transition:border-color var(--dur),box-shadow var(--dur),background var(--dur);flex-direction:column;gap:8px;padding:14px 12px;display:flex}.opt:hover{border-color:var(--border-strong)}.opt.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.opt .i{color:var(--text-2)}.opt.on .i{color:var(--accent)}.opt b{font-weight:500;font-size:var(--fs)}.opt span{font-size:var(--fs-xs);color:var(--text-3)}.tmpls{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.iconpick{grid-template-columns:repeat(8,1fr);gap:4px;display:grid}.iconpick button{border-radius:var(--r-sm);height:32px;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)}.ds-sec{margin-top:36px}.ds-sec>h2{font-size:var(--fs-md);align-items:baseline;gap:10px;margin:0 0 12px;font-weight:600;display:flex}.ds-sec>h2 span{font-size:var(--fs-xs);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:1px solid var(--border);border-radius:var(--r);font-size:var(--fs-xs);overflow:hidden}.ds-tok .c{background:var(--c);border-bottom:1px solid var(--border);height:44px}.ds-tok .n{flex-direction:column;padding:6px 8px;display:flex}.ds-tok .n code{font-family:var(--mono);color:var(--text-3);font-size:11px}.ds-row{border:1px solid var(--border);border-radius:var(--r);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;padding:12px;display:flex}.ds-row .lab{width:90px;font-size:var(--fs-xs);color:var(--text-3);flex-shrink:0}.state-hover{background:var(--surface-2)!important}.btn-primary.state-hover{background:color-mix(in srgb, var(--accent) 88%, var(--text))!important}.btn-primary.state-active{background:color-mix(in srgb, var(--accent) 78%, var(--text))!important}.state-focus{outline-offset:1px;outline:2px solid var(--accent)!important}.states-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.states-grid .panel{overflow:hidden}.states-grid .cap{border-bottom:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-2);background:var(--sunken);align-items:center;gap:6px;padding:8px 12px;font-weight:500;display:flex}@keyframes riseIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes slideInR{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}@keyframes growX{0%{transform:scaleX(0)}}@keyframes popCheck{0%{transform:scale(.55)}55%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes strike{to{background-size:100% 1.5px}}@keyframes doneWash{0%{background:var(--green-soft)}to{background:0 0}}@keyframes doneRing{0%{box-shadow:0 0 0 2px var(--green),var(--shadow-card)}to{box-shadow:var(--shadow-card)}}@keyframes land{0%{box-shadow:var(--shadow-drag);transform:scale(1.04)rotate(-1.2deg)}to{box-shadow:var(--shadow-card);transform:none}}@keyframes addWash{0%{background:var(--accent-soft)}to{background:0 0}}@keyframes addRing{0%{box-shadow:0 0 0 2px var(--accent-line),var(--shadow-card)}to{box-shadow:var(--shadow-card)}}.fx-route>.page>*,.fx-route>.fullstate{animation:riseIn .36s var(--ease) both}.fx-route>.page>:nth-child(2){animation-delay:35ms}.fx-route>.page>:nth-child(3){animation-delay:70ms}.fx-route>.page>:nth-child(n+4){animation-delay:.1s}.fx-route .grid2>*>:nth-child(2),.fx-route .grid2>:nth-child(2)>:first-child{animation:riseIn .4s 90ms var(--ease) both}.fx-route .prog>i{animation:growX .8s .12s var(--ease) both}.fx-route .stackbar i{transform-origin:0;animation:growX .8s .12s var(--ease) both}.fx-route .bar{animation:riseIn .4s var(--ease) both}.pbody{flex-direction:column;flex:1;min-height:0;display:flex}.pbody.fx-tab>*{animation:riseIn .26s var(--ease) both}.pbody.fx-tab .kcard{animation:riseIn .32s var(--ease) both}.pbody.fx-tab .bcol:nth-child(2) .kcard{animation-delay:30ms}.pbody.fx-tab .bcol:nth-child(3) .kcard{animation-delay:60ms}.pbody.fx-tab .bcol:nth-child(n+4) .kcard{animation-delay:90ms}.trow.fx-done,.mini.fx-done{animation:doneWash 1s var(--ease) both}.kcard.fx-done{animation:doneRing 1s var(--ease) both}.fx-done .check,.fx-done .done-ic{animation:popCheck .42s var(--spring) both}.fx-done .tt,.fx-done .title{animation:strike .38s .1s var(--ease) forwards;background:linear-gradient(currentColor,currentColor) 0 58%/0 1.5px no-repeat;text-decoration:none!important}.kcard.fx-moved{animation:land .5s var(--spring) both}.cev.fx-moved,.wcard.fx-moved{animation:popCheck .4s var(--spring) both}.trow.fx-added,.mini.fx-added{animation:riseIn .3s var(--ease) both,addWash 1.4s var(--ease) both}.kcard.fx-added{animation:riseIn .3s var(--ease) both,addRing 1.4s var(--ease) both}.subt.fx-added{animation:riseIn .28s var(--ease) both}.auth-card.fx-auth>*{animation:riseIn .42s var(--ease) both}.auth-card.fx-auth>:nth-child(2){animation-delay:40ms}.auth-card.fx-auth>:nth-child(3){animation-delay:80ms}.auth-card.fx-auth>:nth-child(n+4){animation-delay:.12s}.onb.fx-step>:not(.steps){animation:slideInR .36s var(--ease) both}.onb.fx-step>:nth-child(n+4){animation-delay:50ms}.steps i{transform-origin:0;transition:background .3s}.onb.fx-step .steps i.cur{animation:growX .45s var(--ease) both}.onb.fx-step .ready-row{animation:riseIn .4s var(--ease) both}.onb.fx-step .ready-row:nth-child(2){animation-delay:.12s}.onb.fx-step .ready-row:nth-child(3){animation-delay:.24s}.onb.fx-step .ready-row .ok{animation:popCheck .42s var(--spring) both}.onb.fx-step .ready-row:first-child .ok{animation-delay:.18s}.onb.fx-step .ready-row:nth-child(2) .ok{animation-delay:.3s}.onb.fx-step .ready-row:nth-child(3) .ok{animation-delay:.42s}.onb.fx-step .ready-badge{animation:popCheck .5s 50ms var(--spring) both}.check:active{transform:scale(.88)}.check{transition:background var(--dur),border-color var(--dur),transform .12s var(--ease)}.toggle:after{transition:transform .28s var(--spring)}.pcard{transition:border-color var(--dur),box-shadow .2s var(--ease),transform .2s var(--ease)}.pcard:hover{transform:translateY(-2px)}.kcard{transition:box-shadow var(--dur),transform .18s var(--ease)}.kcard:hover{transform:translateY(-1px)}.stat .v{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){.fx-route>.page>*,.fx-route>.fullstate,.fx-route .grid2>*>*,.fx-route .bar,.pbody.fx-tab>*,.pbody.fx-tab .kcard,.auth-card.fx-auth>*,.onb.fx-step>*,.drawer.enter .drawer-b>*,.kcard.fx-moved,.cev.fx-moved,.wcard.fx-moved,.fx-done .check,.onb.fx-step .ready-row,.onb.fx-step .ready-row .ok,.onb.fx-step .ready-badge{animation:.12s both fadeOnly!important}.fx-route .prog>i,.fx-route .stackbar i,.onb.fx-step .steps i.cur{animation:none!important}.fx-done .tt,.fx-done .title{background:0 0;animation:none;text-decoration:line-through!important}.pcard:hover,.kcard:hover,.check:active{transform:none}}:root[data-motion=reduce] .fx-route>.page>*,:root[data-motion=reduce] .pbody.fx-tab>*,:root[data-motion=reduce] .auth-card.fx-auth>*,:root[data-motion=reduce] .onb.fx-step>*,:root[data-motion=reduce] .drawer.enter .drawer-b>*,:root[data-motion=reduce] .kcard.fx-moved{animation:.12s both fadeOnly!important}:root[data-motion=reduce] .fx-route .prog>i,:root[data-motion=reduce] .fx-route .stackbar i{animation:none!important}:root[data-motion=reduce] .pcard:hover,:root[data-motion=reduce] .kcard:hover{transform:none}@media (max-width:1100px){.grid2{grid-template-columns:minmax(0,1fr)}.topsearch{width:auto}.topsearch .lbltxt,.topsearch .kbd{display:none}}@media (max-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}.shell.collapsed .side .sitem{justify-content:flex-start;padding:0 8px}.side-scrim{background:var(--overlay);z-index:69;animation:.14s both fade;display:block;position:fixed;inset:0}:root{--gutter:16px}.page{padding:20px var(--gutter) 96px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(3){border-left:0}.stat:nth-child(n+3){border-top:1px solid var(--border)}.set{grid-template-columns:minmax(0,1fr)}.set-nav{border-right:0;border-bottom:1px solid var(--border);gap:4px;padding:8px 12px;display:flex;overflow-x:auto}.set-nav .gh{display:none}.set-nav .sitem{flex-shrink:0;width:auto}.set{grid-template-rows:auto minmax(0,1fr)}.set-in{padding:20px 16px 96px}.tl{grid-template-columns:170px minmax(0,1fr)}.board{padding-bottom:90px}.proj-h{padding-top:16px}}@media (max-width:640px){:root{--topbar-h:50px}.bottomnav{z-index:45;background:var(--surface);border-top:1px solid var(--border);padding:4px 6px calc(4px + env(safe-area-inset-bottom,0px));display:flex;position:fixed;bottom:0;left:0;right:0}.bottomnav button{min-height:48px;color:var(--text-3);border-radius:var(--r-sm);flex-direction:column;flex:1;align-items:center;gap:2px;padding:5px 0;font-size:11px;display:flex;position:relative}.bottomnav button.on{color:var(--text)}.bottomnav .bdot{background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:3px;left:calc(50% + 6px)}.hide-m{display:none!important}.ph h1{font-size:var(--fs-xl)}.ph .acts{width:100%;margin-left:0}.list-wrap{padding-left:var(--gutter)}.tlist .thead{display:none}.tlist .trow{border:1px solid var(--border);border-radius:var(--r);flex-wrap:wrap;gap:4px 6px;min-height:0;margin:6px 0;padding:10px 6px;display:flex}.tlist .trow>div{padding:0}.tlist .trow .handle{display:none}.tlist .trow .ttl{flex:calc(100% - 30px);order:1}.tlist .trow .c-check{order:0}.tlist .trow .c-meta{order:2}.tlist .trow>div.c-lbl:empty{display:none}.drawer,.drawer.full{border:0;border-radius:0;width:100vw;inset:0;transform:none}.drawer-b,.drawer.full .drawer-b{padding:16px 16px 40px}.modal-wrap{align-items:flex-end;padding:0}.modal{border-radius:14px 14px 0 0;max-height:92vh}.opts,.tmpls{grid-template-columns:repeat(2,minmax(0,1fr))}.themecards{grid-template-columns:minmax(0,1fr)}.fbuild{min-width:0}.frow{grid-template-columns:1fr 1fr}.frow .conj{display:none}.cal-g{grid-auto-rows:minmax(72px,1fr)}.cev .trunc,.cev .av{display:none}.cev{background:var(--c);border-radius:3px;height:8px;padding:0}.week{grid-template-columns:minmax(0,1fr);overflow-y:auto}.wcol{border-right:0;border-bottom:1px solid var(--border)}.tl-left{display:none}.tl{grid-template-columns:minmax(0,1fr)}#toasts{align-items:stretch;bottom:76px;left:16px;right:16px}.kv{grid-template-columns:96px minmax(0,1fr)}.srow{grid-template-columns:minmax(0,1fr)}.topsearch{width:var(--h-md);background:0 0;border:0;justify-content:center;padding:0}.crumbs button:not(.cur),.crumbs .sep{display:none}.crumbs .cur{text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden}.crumbs .cur>span{display:none!important}.panel-h{flex-wrap:wrap}.panel-h h2{white-space:nowrap}.topbar .ibtn,.topbar .btn,.topsearch{min-width:40px;min-height:40px}.palette{top:8px}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]){--reduce:1}}:root[data-motion=reduce]{--reduce:1}@keyframes fadeOnly{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.modal,.drawer,.pop,.toast,.bulkbar,.tab.on:after{animation-name:fadeOnly!important;animation-duration:.12s!important}.btn:active:not(:disabled){transform:none}.prog>i,.toggle:after,.sitem .chev,.skip{transition:none}.sk{opacity:.85;animation:none}}:root[data-motion=reduce] .modal,:root[data-motion=reduce] .drawer,:root[data-motion=reduce] .pop,:root[data-motion=reduce] .toast,:root[data-motion=reduce] .bulkbar,:root[data-motion=reduce] .tab.on:after{animation-name:fadeOnly!important;animation-duration:.12s!important}:root[data-motion=reduce] .btn:active:not(:disabled){transform:none}:root[data-motion=reduce] .prog>i,:root[data-motion=reduce] .toggle:after{transition:none}:root[data-motion=reduce] .sk{opacity:.85;animation:none}.only-m{display:none}@media (max-width:640px){.only-m{display:block}}
:where(table){white-space:normal;font-variant:normal;text-align:start;font-size:medium;font-style:normal;font-weight:400;line-height:normal}:where(input:not([type=image i]),textarea){box-sizing:border-box}:where(form){margin-block-end:1em}
.lg{background:var(--bg);height:100%;color:var(--text);display:flex;overflow-y:auto}.lg-side{flex-direction:column;flex:0 0 min(560px,46%);min-height:100%;padding:24px 32px;display:flex}.lg-top{justify-content:space-between;align-items:center;gap:16px;min-height:32px;display:flex}.lg-aside{font-size:var(--fs-sm);color:var(--text-3);text-align:right}.lg-logo{align-items:center;gap:9px;display:inline-flex}.lg-mark{background:var(--text);width:26px;height:26px;color:var(--text-inv);letter-spacing:.02em;border-radius:7px;place-items:center;font-size:11px;font-weight:600;line-height:1;display:inline-grid}.lg-mark-lg{border-radius:10px;width:40px;height:40px;font-size:14px}.lg-word{letter-spacing:-.02em;font-size:16px;font-weight:600}.lg-main{flex:1;justify-content:center;align-items:center;padding:40px 0;display:flex}.lg-card{width:100%;max-width:360px;animation:lgIn .42s var(--ease) both;flex-direction:column;gap:16px;display:flex}.lg-badge{background:var(--surface);width:52px;height:52px;color:var(--text-2);border:1px solid var(--border);box-shadow:0 0 0 8px color-mix(in srgb, var(--surface-3) 55%, transparent),var(--shadow-sm);border-radius:50%;align-self:center;place-items:center;margin:4px 0 6px;display:grid}.lg-head{text-align:center;flex-direction:column;gap:6px;display:flex}.lg-head h1{letter-spacing:-.02em;margin:0;font-size:21px;font-weight:600}.lg-head p{color:var(--text-2);font-size:var(--fs-md);margin:0;line-height:1.5}.lg-head b{color:var(--text);overflow-wrap:anywhere;max-width:100%;font-weight:500;display:inline-block}.lg-form{flex-direction:column;gap:14px;margin:0;display:flex}.lg-field{flex-direction:column;gap:6px;display:flex}.lg-field label{font-size:var(--fs-sm);color:var(--text);font-weight:500}.lg-input-wrap{align-items:center;display:flex;position:relative}.lg-input-wrap>svg{color:var(--text-4);pointer-events:none;position:absolute;left:11px}.lg-input-wrap .lg-input{padding-left:34px}.lg-input{border-radius:var(--r);border:1px solid var(--border-strong);background:var(--surface);width:100%;height:40px;font-size:var(--fs-md);transition:border-color var(--dur),box-shadow var(--dur);padding:0 12px}.lg-input::placeholder{color:var(--text-4)}.lg-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.lg-input[aria-invalid=true]{border-color:var(--red)}.lg-input:disabled{background:var(--surface-2);color:var(--text-3)}.lg-code{text-align:center;height:52px;font-family:var(--mono);letter-spacing:.42em;padding-left:calc(12px + .42em);font-size:24px}.lg-btn{border-radius:var(--r);width:100%;height:40px;font-size:var(--fs-md);transition:background var(--dur),opacity var(--dur),box-shadow var(--dur);justify-content:center;align-items:center;gap:8px;font-weight:500;display:inline-flex}.lg-btn:disabled{opacity:.55;cursor:not-allowed}.lg-primary{background:linear-gradient(180deg,color-mix(in srgb, var(--text) 82%, var(--bg)),var(--text));color:var(--text-inv);box-shadow:0 1px 2px #0000001f,inset 0 1px #ffffff14}.lg-primary:not(:disabled):hover{background:var(--text)}.lg-secondary{background:var(--surface);border:1px solid var(--border-strong);color:var(--text);box-shadow:var(--shadow-sm)}.lg-secondary:not(:disabled):hover{background:var(--surface-2)}.lg-or{color:var(--text-4);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:12px;display:flex}.lg-or:before,.lg-or:after{content:"";background:var(--border);flex:1;height:1px}.lg-error{border-radius:var(--r);background:var(--red-soft);color:var(--red);font-size:var(--fs-sm);align-items:flex-start;gap:7px;margin:0;padding:9px 11px;line-height:1.45;display:flex}.lg-error svg{flex-shrink:0;margin-top:2px}.lg-note{text-align:center;color:var(--text-3);font-size:var(--fs-sm);margin:0}.lg-links{justify-content:space-between;gap:12px;display:flex}.lg-link{font-size:var(--fs-sm);color:var(--text-2);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);align-items:center;gap:5px;display:inline-flex}.lg-link:not(:disabled):hover{color:var(--text)}.lg-link:disabled{color:var(--text-4);cursor:default;text-decoration:none}.lg-foot{font-size:var(--fs-sm);color:var(--text-3)}.lg-panel{background:var(--surface-2);border:1px solid var(--border);border-radius:16px;flex:1;align-items:center;min-height:calc(100% - 16px);margin:8px 8px 8px 0;display:flex;position:relative;overflow:hidden}.lg-grid{background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);opacity:.8;background-position:-1px -1px;background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(60% 50% at 40%,#000 10%,#0000 75%);mask-image:radial-gradient(60% 50% at 40%,#000 10%,#0000 75%)}.lg-quote{flex-direction:column;gap:22px;max-width:540px;padding:0 clamp(32px,8%,96px);display:flex;position:relative}.lg-quote p{letter-spacing:-.025em;color:var(--text);margin:0;font-size:clamp(24px,2.3vw,32px);font-weight:500;line-height:1.22}.lg-quote p span{color:var(--text-4)}.lg-sign{font-size:var(--fs-md);flex-direction:column;gap:2px;display:flex}.lg-sign b{font-weight:500}.lg-sign span{color:var(--text-3);font-size:var(--fs-sm)}.lg-spin{animation:.9s linear infinite lgSpin}@keyframes lgSpin{to{transform:rotate(360deg)}}@keyframes lgIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (max-width:900px){.lg-panel{display:none}.lg-side{flex:1;padding:20px}.lg-aside{display:none}}@media (prefers-reduced-motion:reduce){.lg-card{animation:none}.lg-spin{animation-duration:2.4s}}
