.icon-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:7px;border:0;background:transparent;color:var(--text-soft);cursor:default}.icon-btn:hover{background:var(--hover);color:var(--text)}.icon-btn.active{background:var(--accent-soft);color:var(--accent)}.icon-btn--tiny{width:22px;height:22px}.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:7px;border:0;background:var(--surface-2);color:var(--text);font-size:12.5px;font-weight:500;cursor:default;line-height:1.2}.btn:hover{background:var(--surface-3)}.btn.primary{background:var(--accent-fill);color:var(--accent-on-fill);font-weight:600}.btn.primary:hover{filter:brightness(1.06)}.btn.ghost{background:transparent}.btn--tight{padding:4px 8px}.btn.danger{background:var(--danger-soft);color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger-border);font-weight:600}.btn.danger:hover{background:color-mix(in srgb,var(--danger) 20%,transparent)}.btn.ghost:hover{background:var(--hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:6px;font-size:11px;font-weight:500;background:var(--surface-2);color:var(--text-soft);border:1px solid var(--border);line-height:1.4}.chip .chip-dot{width:6px;height:6px;border-radius:50%}.chip.assignee{padding:1px 6px 1px 1px;gap:4px}.chip.assignee .av{width:16px;height:16px;border-radius:50%;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;color:var(--accent-ink)}.av{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#22d3ee,#a78bfa);color:var(--accent-ink);font-weight:700;border-radius:50%;flex-shrink:0}.tabs{display:flex;align-items:center;gap:2px;background:var(--surface);padding:3px;border-radius:8px;border:1px solid var(--border);font-size:12px}.tabs button,.tabs a{background:transparent;border:0;color:var(--text-soft);padding:5px 10px;border-radius:6px;cursor:default;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500}.tabs button:hover,.tabs a:hover{color:var(--text)}.tabs button.active,.tabs a.active{background:var(--surface-3);color:var(--text);box-shadow:var(--shadow-sm)}.tabs .t-ico{width:13px;height:13px;display:flex}.tabs-scroll{position:relative;width:fit-content;max-width:100%;min-width:0}.tabs-scroll-inner{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.tabs-scroll-inner::-webkit-scrollbar{display:none}.tabs-scroll-inner>.tabs{width:max-content}.tabs-scroll .tabs button,.tabs-scroll .tabs a{flex-shrink:0;white-space:nowrap}.tabs-scroll:before,.tabs-scroll:after{content:"";position:absolute;top:0;bottom:0;width:32px;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:1}.tabs-scroll:before{left:0;background:linear-gradient(to left,transparent,var(--bg));border-radius:8px 0 0 8px}.tabs-scroll:after{right:0;background:linear-gradient(to right,transparent,var(--bg));border-radius:0 8px 8px 0}.tabs-scroll.fade-start:before{opacity:1}.tabs-scroll.fade-end:after{opacity:1}.search{display:flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);padding:4px 10px;border-radius:7px;min-width:240px;font-size:12.5px;color:var(--text-muted)}.search input{background:transparent;border:0;outline:0;color:var(--text);flex:1;font-size:12.5px;min-width:0}.search .kbd{font-family:var(--font-mono);font-size:10.5px;padding:1px 5px;border-radius:4px;background:var(--surface-3);color:var(--text-muted);border:1px solid var(--border)}.search-collapsible .search-trigger{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;padding:0;color:var(--text-muted);cursor:default;flex-shrink:0}.search-collapsible .search-close{display:none;align-items:center;justify-content:center;background:transparent;border:0;padding:0;color:var(--text-muted);cursor:default;flex-shrink:0}.search-collapsible .search-close:hover{color:var(--text)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:11.5px;color:var(--text-muted);font-weight:600;letter-spacing:.02em}.field-hint{font-size:12px;line-height:1.45;color:var(--text-muted)}.field-hint.ok{color:var(--success)}.field-hint.err{color:var(--danger)}.field input[type=text],.field input[type=email],.field input[type=password],.field input[type=number],.field input[type=date],.field input[type=datetime-local],.field input[type=time],.field input[type=month],.field input[type=week],.field input[type=search],.field input[type=url],.field input[type=tel],.field input:not([type]),.field textarea,.field select{width:100%;min-width:0;box-sizing:border-box;background:var(--surface-2);border:1px solid var(--border);border-radius:7px;padding:7px 10px;color:var(--text);font-size:13px;outline:0;transition:border-color var(--transition)}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field textarea{min-height:80px;resize:vertical}.toggle{appearance:none;width:36px;height:20px;background:var(--surface-3);border-radius:12px;position:relative;cursor:default;transition:background var(--transition);flex-shrink:0;margin:0}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform var(--transition);box-shadow:var(--shadow-sm)}.toggle:checked{background:var(--accent)}.toggle:checked:after{transform:translate(16px)}.scrim{position:fixed;inset:0;background:var(--scrim);z-index:1000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:scrim-in .2s ease}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);max-width:560px;width:100%;display:flex;flex-direction:column;max-height:80vh;overflow:hidden;animation:modal-in .22s cubic-bezier(.2,.7,.3,1)}@keyframes modal-in{0%{transform:translateY(10px) scale(.98);opacity:0}to{transform:none;opacity:1}}@media(max-width:768px){.scrim{align-items:flex-end;padding:0}.modal{max-width:100%;width:100%;max-height:92dvh;height:auto!important;border-radius:16px 16px 0 0;padding-bottom:env(safe-area-inset-bottom);animation:sheet-in .26s cubic-bezier(.2,.7,.3,1)}.modal:before{content:"";display:block;width:36px;height:4px;border-radius:2px;background:var(--border-strong);margin:8px auto 4px;flex-shrink:0}.modal-hd{padding:8px 16px 12px}.modal-hd h2{font-size:15px}.modal-body{padding:14px 16px}.modal-ft{padding:10px 16px calc(10px + env(safe-area-inset-bottom));position:sticky;bottom:0;background:var(--surface)}.modal .tm-body{grid-template-columns:1fr;grid-template-rows:auto 1fr}.modal .tm-tabs{flex-direction:row;border-right:0;border-bottom:1px solid var(--border);padding:8px;gap:8px;align-items:center}.modal .tm-tabs-list{flex-direction:row;overflow-x:auto;overflow-y:visible;scrollbar-width:none;flex:1;gap:4px}.modal .tm-tabs-list::-webkit-scrollbar{display:none}.modal .tm-tabs-ft{margin-top:0;padding-top:0;padding-left:8px;border-top:0;border-left:1px solid var(--border);flex-shrink:0}.modal .tm-tab{flex-shrink:0;white-space:nowrap}.scrim-page{align-items:stretch}.modal-page{max-width:100%;width:100%;height:100%!important;max-height:var(--app-h);border-radius:0;padding-bottom:env(safe-area-inset-bottom);animation:page-in .24s cubic-bezier(.2,.7,.3,1)}.modal-page:before{display:none}.modal .tm-body-drawer{grid-template-columns:1fr;grid-template-rows:auto 1fr;position:relative}.modal .tm-body-drawer .tm-mobilebar{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;border:0;border-bottom:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:14px;font-weight:500;cursor:pointer}.modal .tm-body-drawer .tm-mobilebar svg{color:var(--text-muted);flex-shrink:0}.modal .tm-body-drawer .tm-tabs{position:absolute;inset:0 auto 0 0;z-index:2;flex-direction:column;align-items:stretch;gap:0;width:78%;max-width:280px;border-right:1px solid var(--border);border-bottom:0;padding:12px 8px;transform:translate(-100%);transition:transform .22s cubic-bezier(.2,.7,.3,1)}.modal .tm-body-drawer.tm-drawer-open .tm-tabs{transform:none}.modal .tm-body-drawer .tm-tabs-list{flex-direction:column;overflow-y:auto;overflow-x:visible}.modal .tm-body-drawer .tm-tabs-ft{margin-top:8px;padding:8px 0 0;border-top:1px solid var(--border);border-left:0}.modal .tm-body-drawer .tm-tab{width:100%;white-space:normal}.modal .tm-body-drawer .tm-drawer-close{display:flex;align-items:center;justify-content:center;align-self:flex-start;width:32px;height:32px;margin-bottom:8px;border:0;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer}.modal .tm-body-drawer .tm-drawer-close:hover{background:var(--hover);color:var(--text)}.modal .tm-body-drawer .tm-drawer-scrim{display:none;position:absolute;inset:0;z-index:1;background:var(--scrim);animation:scrim-in .16s ease}.modal .tm-body-drawer.tm-drawer-open .tm-drawer-scrim{display:block}}@keyframes page-in{0%{transform:translate(100%)}to{transform:none}}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:none}}.modal-hd{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-hd h2{margin:0;font-size:16px;font-weight:600}.modal-body{padding:20px;flex:1;overflow-y:auto}.modal-ft{padding:12px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}.tm-body{display:grid;grid-template-columns:180px 1fr;flex:1;min-height:0}.tm-tabs{display:flex;flex-direction:column;padding:12px 8px;border-right:1px solid var(--border);background:var(--surface-2);min-height:0}.tm-tabs-list{display:flex;flex-direction:column;gap:2px;overflow-y:auto;flex:1;min-height:0}.tm-tabs-ft{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.tm-tabs-ft .tm-tab{width:100%}.tm-tab.tm-tab-danger{color:var(--danger)}.tm-tab.tm-tab-danger:hover{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.tm-tab{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;border:0;background:transparent;color:var(--text-soft);font-size:13px;text-align:left;cursor:default}.tm-tab:hover{color:var(--text);background:var(--hover)}.tm-tab.active{background:var(--surface-3);color:var(--text);box-shadow:var(--shadow-sm)}.tm-content{padding:20px;overflow-y:auto;min-width:0}.tm-mobilebar,.tm-drawer-scrim,.tm-drawer-close{display:none}.progress{height:4px;background:var(--surface-3);border-radius:2px;overflow:hidden}.progress-fill{height:100%;border-radius:2px;background:var(--accent)}.content{min-width:0;min-height:0;overflow:hidden;height:calc(var(--app-h) - var(--topbar-h))!important;position:relative}@media(max-width:768px){.content{height:100%!important}}.content-pad{padding:20px 24px}.page-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.page-hd-col{display:flex;flex-direction:column;align-items:flex-start}.page-hd h1{margin:0;font-size:22px;font-weight:650;letter-spacing:-.01em;color:var(--text)}.page-hd .page-sub{color:var(--text-muted);font-size:13px;margin-top:2px}.page-hd .page-actions{display:flex;align-items:center;gap:6px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.card-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.card-hd h3{margin:0;font-size:13px;font-weight:600}.check-item{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid var(--border-soft);cursor:default;font-size:13px}.check-item:last-child{border-bottom:0}.check-item:hover{background:var(--hover)}.check-item input{position:absolute;opacity:0;pointer-events:none}.check-box{width:18px;height:18px;border:1.5px solid var(--border-strong);border-radius:5px;display:flex;align-items:center;justify-content:center;color:transparent;flex-shrink:0;transition:all var(--transition)}.check-item input:checked~.check-box,.check-box.on{background:var(--accent-fill);border-color:var(--accent);color:var(--accent-on-fill)}.check-title{flex:1;min-width:0}.check-item input:checked~.check-title{color:var(--text-muted);text-decoration:line-through}.spinner{width:22px;height:22px;border:2.5px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.load-pane{display:flex;align-items:center;justify-content:center;height:100%;width:100%}@media screen and (max-width:768px){.page-hd{display:flex;flex-direction:column;align-items:flex-start}.page-actions{width:100%;align-items:flex-start!important;justify-content:space-between}}@media screen and (max-width:560px){.page-hd{display:flex;flex-direction:column;align-items:flex-start}.page-actions{display:flex;gap:16px!important}.page-actions .search{width:100%;min-width:0px!important}.page-actions__buttons{width:100%;display:flex;align-items:center;gap:10px}.page-actions button{min-width:max-content}}@media screen and (max-width:560px){.page-actions{position:relative}.page-actions .search-collapsible{width:auto;min-width:0!important;flex:0 0 auto;padding:0;border:0;background:transparent;gap:0}.page-actions .search-collapsible input,.page-actions .search-collapsible .kbd,.page-actions .search-collapsible .search-close{display:none}.page-actions .search-collapsible .search-trigger{width:34px;height:30px;border-radius:7px;background:var(--surface);border:1px solid var(--border);color:var(--text-muted)}.page-actions .search-collapsible.expanded{position:absolute;inset:0;z-index:5;width:100%;height:max-content;padding:4px 10px;border:1px solid var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft);gap:6px}.page-actions .search-collapsible.expanded .search-trigger{width:auto;height:auto;padding:0;border:0;border-radius:0;background:transparent}.page-actions .search-collapsible.expanded input{display:block}.page-actions .search-collapsible.expanded .search-close{display:inline-flex}}@media(max-width:560px){.content-pad{padding:16px 14px}.page-pad-x{padding-left:14px!important;padding-right:14px!important}}.user-badges{display:inline-flex;align-items:center;gap:2px;flex-shrink:0}.user-badge{display:inline-flex;align-items:center;line-height:0}.sk{display:block;flex-shrink:0;background:var(--surface-3);background-image:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--text) 7%,transparent) 50%,transparent 100%);background-size:240px 100%;background-repeat:no-repeat;animation:sk-sweep 1.25s ease-in-out infinite}@keyframes sk-sweep{0%{background-position:-240px 0}to{background-position:calc(100% + 240px) 0}}@media(prefers-reduced-motion:reduce){.sk{animation:none}}.sk-lines{display:flex;flex-direction:column}.sk-board{display:flex;gap:14px;padding:4px 24px 24px;height:100%;overflow:hidden}.sk-col{width:290px;flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding:10px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.sk-col-hd{padding:2px 2px 6px}.sk-card{display:flex;flex-direction:column;gap:7px;padding:10px 11px;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:10px}.sk-card-ft{display:flex;align-items:center;justify-content:space-between}.sk-list{padding:8px 24px}.sk-row{display:flex;align-items:center;gap:12px;padding:13px 12px;border-bottom:1px solid var(--border-soft)}.sk-row>.sk:first-child{flex:1}.sk-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;padding:4px 24px 24px}.sk-cardbox{display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:12px}@media(max-width:768px){.sk-board{padding:4px 12px 16px;gap:10px}.sk-col{width:min(86vw,320px)}.sk-list,.sk-cards{padding-left:14px;padding-right:14px}}.ptr-indicator{display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;color:var(--text-muted)}.ptr-indicator.is-idle{transition:height .18s cubic-bezier(.2,.7,.3,1)}.ptr-indicator.is-armed{color:var(--accent)}@media(prefers-reduced-motion:reduce){.ptr-indicator.is-idle{transition:none}}.preloader{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;background:var(--bg);background-image:radial-gradient(circle at 50% 42%,var(--accent-soft),transparent 60%);animation:preloader-in .4s ease both}@keyframes preloader-in{0%{opacity:0}to{opacity:1}}.preloader-logo{position:relative;width:76px;height:76px;border-radius:20px;display:flex;align-items:center;justify-content:center;color:var(--accent-ink);font-size:34px;font-weight:800;background:linear-gradient(135deg,var(--accent),var(--accent-2));animation:preloader-flip 2.4s cubic-bezier(.65,0,.35,1) infinite;transform-style:preserve-3d;will-change:transform}.preloader-logo:after{content:"";position:absolute;inset:-14px;border-radius:28px;background:var(--accent-glow);filter:blur(22px);z-index:-1;animation:preloader-glow 2.4s ease-in-out infinite}.preloader-mark{display:block;animation:preloader-spin 2.4s linear infinite}@keyframes preloader-flip{0%{transform:perspective(420px) rotateY(0) scale(1)}50%{transform:perspective(420px) rotateY(180deg) scale(1.08)}to{transform:perspective(420px) rotateY(360deg) scale(1)}}@keyframes preloader-spin{to{transform:rotate(360deg)}}@keyframes preloader-glow{0%,to{opacity:.5;transform:scale(.92)}50%{opacity:1;transform:scale(1.06)}}.preloader-text{min-height:18px;font-size:13.5px;letter-spacing:.01em;color:var(--text-muted);text-align:center;animation:preloader-text-cycle 2.6s ease-in-out infinite}@keyframes preloader-text-cycle{0%,to{opacity:.35}25%,75%{opacity:1}}@media(prefers-reduced-motion:reduce){.preloader-logo,.preloader-logo:after,.preloader-mark,.preloader-text{animation-duration:1ms;animation-iteration-count:1}}.code-input{display:flex;gap:8px;justify-content:space-between;margin:4px 0}.code-input input{flex:1;width:0;text-align:center;font-size:22px;font-weight:600;font-family:var(--font-mono);background:var(--surface-2);border:1.5px solid var(--border);border-radius:10px;color:var(--text);padding:12px 0;outline:0;transition:border-color var(--transition),background var(--transition),box-shadow var(--transition);font-feature-settings:"tnum"}.code-input input:hover{border-color:var(--border-strong)}.code-input input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 4px var(--accent-soft)}.code-input input.filled{border-color:var(--accent);background:var(--accent-soft)}.cal{width:252px;-webkit-user-select:none;user-select:none}.cal-head{display:flex;align-items:center;gap:2px;margin-bottom:8px}.cal-nav{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;border:none;border-radius:7px;background:none;color:var(--text-muted);cursor:pointer;transition:background var(--transition),color var(--transition)}.cal-nav:hover{background:var(--hover);color:var(--text)}.cal-month{flex:1;height:26px;border:none;border-radius:7px;background:none;color:var(--text);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;text-transform:capitalize}.cal-month:hover{background:var(--hover)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-week{margin-bottom:4px}.cal-wd{display:flex;align-items:center;justify-content:center;height:22px;font-size:10.5px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted)}.cal-wd.is-weekend{color:var(--text-faint)}.cal-day{position:relative;display:flex;align-items:center;justify-content:center;height:32px;border:1px solid transparent;border-radius:8px;background:none;color:var(--text-soft);font-family:inherit;font-size:12.5px;font-variant-numeric:tabular-nums;cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition)}.cal-day:hover:not(:disabled){background:var(--hover-2);color:var(--text)}.cal-day:disabled{opacity:.3;cursor:default}.cal-day.is-outside{color:var(--text-faint)}.cal-day.is-weekend:not(.is-selected){color:var(--text-muted)}.cal-day.is-today{border-color:var(--border-strong);font-weight:700;color:var(--text)}.cal-day.is-selected{background:var(--accent-fill);border-color:var(--accent);color:var(--accent-on-fill);font-weight:700}.cal-day.is-selected:hover{background:var(--accent-fill);color:var(--accent-on-fill)}.cal-day.is-marked:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.6}.popover{z-index:1000;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-md, var(--shadow-sm));animation:popover-in .12s ease-out}.popover[data-side=top]{transform-origin:bottom center}.popover[data-side=bottom]{transform-origin:top center}.popover[data-side=left]{transform-origin:center right}.popover[data-side=right]{transform-origin:center left}@keyframes popover-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.popover{animation:none}}.popover-sheet-scrim{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:scrim-in .18s ease}.popover.popover-sheet{position:relative;width:100%;max-width:100%;max-height:80dvh;overflow-y:auto;overscroll-behavior:contain;border-radius:16px 16px 0 0;border-bottom:0;padding-bottom:calc(8px + env(safe-area-inset-bottom));animation:popover-sheet-in .24s cubic-bezier(.2,.7,.3,1)}.popover.popover-sheet>*{width:100%;max-width:100%}.popover.popover-sheet>.tie-pop--date{display:flex;flex-direction:column;align-items:center}.popover.popover-sheet:before{content:"";display:block;width:36px;height:4px;border-radius:2px;background:var(--border-strong);margin:8px auto 6px;flex-shrink:0}@keyframes popover-sheet-in{0%{transform:translateY(12%);opacity:.6}}@media(prefers-reduced-motion:reduce){.popover.popover-sheet,.popover-sheet-scrim{animation:none}}.popover.menu{min-width:220px;padding:4px;display:flex;flex-direction:column;gap:1px}.popover.menu.popover-sheet{min-width:0;padding:0 8px calc(8px + env(safe-area-inset-bottom));gap:2px}.popover-sheet .menu-item{padding:12px;font-size:14.5px}.menu-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 10px;border:0;background:transparent;border-radius:6px;color:var(--text-soft);font:inherit;font-size:13px;text-align:left;cursor:default}.menu-item:hover:not(:disabled){background:var(--accent-fill);color:var(--accent-on-fill)}.menu-item:disabled{opacity:.45;cursor:not-allowed}.menu-item.danger{color:var(--danger)}.menu-item.danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 85%,transparent);color:#fff}.menu-item-label{min-width:0}.menu-item-icon{display:inline-flex;flex-shrink:0}.menu-sep{height:1px;background:var(--border);margin:4px 2px}.tooltip{z-index:1100;background:var(--surface-3);color:var(--text);border:1px solid var(--border);padding:5px 9px;border-radius:6px;font-size:12px;font-weight:500;line-height:1.3;white-space:nowrap;max-width:260px;box-shadow:var(--shadow-md, var(--shadow-sm));pointer-events:none;animation:tooltip-in .12s ease-out}.tooltip[data-side=top]{transform-origin:bottom center}.tooltip[data-side=bottom]{transform-origin:top center}.tooltip[data-side=left]{transform-origin:center right}.tooltip[data-side=right]{transform-origin:center left}@keyframes tooltip-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.tooltip{animation:none}}.lb{position:fixed;inset:0;z-index:3000;display:grid;grid-template-rows:auto 1fr auto;outline:0;animation:lb-in .14s ease-out}@keyframes lb-in{0%{opacity:0}}.lb-scrim{position:absolute;inset:0;background:#000000e0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lb-bar,.lb-stage,.lb-thumbs,.lb-nav{position:relative;z-index:1}.lb-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;color:#fff}.lb-bar-l,.lb-bar-r{display:flex;align-items:center;gap:10px;min-width:0}.lb-counter{font-size:12.5px;opacity:.75}.lb-name{font-size:12.5px;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-btn{width:36px;height:36px;border:0;border-radius:50%;background:#ffffff1a;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition)}.lb-btn:hover{background:#fff3}.lb-stage{display:flex;align-items:center;justify-content:center;overflow:hidden;padding:8px 16px;touch-action:none}.lb-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;transition:transform .16s ease-out}.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:#ffffff1a;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition)}.lb-nav:hover{background:#ffffff38}.lb-nav.prev{left:16px}.lb-nav.next{right:16px}.lb-thumbs{display:flex;gap:8px;padding:12px 16px 16px;justify-content:center;overflow-x:auto;scrollbar-width:none}.lb-thumbs::-webkit-scrollbar{display:none}.lb-thumb{width:56px;height:56px;flex:0 0 auto;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:#ffffff14;cursor:pointer;opacity:.55;transition:opacity var(--transition),border-color var(--transition)}.lb-thumb:hover{opacity:.85}.lb-thumb.on{opacity:1;border-color:#fff}.lb-thumb img{width:100%;height:100%;object-fit:cover;display:block}@media(max-width:768px){.lb-nav{display:none}.lb-thumbs{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.lb-thumb{width:44px;height:44px}}.upd-overlay{position:fixed;inset:0;z-index:4000;display:flex;align-items:flex-end;justify-content:center;padding:24px;background:transparent;pointer-events:none}.upd-card{pointer-events:auto;width:100%;max-width:380px;background:var(--surface, #16181d);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-md, 0 12px 40px rgba(0, 0, 0, .45));padding:18px 18px 16px;animation:upd-in .24s ease}@keyframes upd-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.upd-icon{width:40px;height:40px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:10px}.upd-title{margin:0 0 6px;font-size:16px;font-weight:700}.upd-text{margin:0 0 16px;font-size:13.5px;line-height:1.5;color:var(--text-soft)}.upd-actions{display:flex;justify-content:flex-end;gap:8px}.upd-btn-ghost,.upd-btn-primary{height:36px;padding:0 16px;border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--border)}.upd-btn-ghost{background:transparent;color:var(--text-soft)}.upd-btn-ghost:hover{background:var(--hover);color:var(--text)}.upd-btn-primary{background:var(--accent-fill);border-color:var(--accent);color:var(--accent-on-fill)}.upd-btn-primary:hover{filter:brightness(1.06)}.upd-btn-primary:disabled,.upd-btn-ghost:disabled{opacity:.6;cursor:default}@media(max-width:768px){.upd-overlay{padding:14px}}html[data-desktop-titlebar="1"] body{padding-top:var(--titlebar-h)}html[data-desktop-titlebar="1"] .scrim{top:var(--titlebar-h)}.dtb{position:fixed;top:0;left:0;right:0;height:var(--titlebar-h, 32px);display:flex;align-items:stretch;background:var(--rail-bg);border-bottom:1px solid var(--border-soft);color:var(--text-muted);z-index:100000;-webkit-user-select:none;user-select:none;-webkit-app-region:drag}.dtb-mac .dtb-drag{padding-left:78px}.dtb-drag{display:flex;align-items:center;gap:8px;padding:0 10px;flex:1;min-width:0;overflow:hidden}.dtb-logo{width:16px;height:16px;border-radius:4px;flex:none}.dtb-title{font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em;color:var(--text-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dtb-update{-webkit-app-region:no-drag;display:flex;align-items:center;gap:6px;align-self:center;margin-right:8px;padding:3px 10px;border:none;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-family:inherit;font-size:var(--fs-xs);font-weight:600;cursor:pointer;transition:background var(--transition)}.dtb-update:hover{background:var(--accent-glow)}.dtb-update-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dtb-progress{align-self:center;margin-right:10px;font-size:var(--fs-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.dtb-controls{display:flex;-webkit-app-region:no-drag}.dtb-btn{width:46px;height:100%;display:grid;place-items:center;border:none;background:transparent;color:var(--text-soft);cursor:pointer;padding:0;transition:background .12s linear,color .12s linear}.dtb-btn svg{width:12px;height:12px;display:block}.dtb-btn:hover{background:var(--hover-2);color:var(--text)}.dtb-btn:active{background:var(--hover)}.dtb-btn-close:hover{background:#e81123;color:#fff}.dtb-btn-close:active{background:#c50f1f;color:#fff}.dtb-btn:focus-visible{outline:1px solid var(--accent);outline-offset:-2px}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px;cursor:default;transition:border-color var(--transition),transform var(--transition),box-shadow var(--transition)}.project-card:hover{border-color:var(--border-strong);transform:translateY(-1px);box-shadow:var(--shadow-md)}.pc-hd{display:flex;align-items:flex-start;gap:10px}.pc-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.pc-name{font-size:14px;font-weight:600;color:var(--text)}.pc-desc{font-size:12px;color:var(--text-muted);line-height:1.45;min-height:34px}.pc-desc:empty{display:none}.pc-stats{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--text-muted);font-family:var(--font-mono)}.pc-ft{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid var(--border-soft);margin-top:2px}.status-chip{padding:2px 7px;border-radius:6px;font-size:11px;font-weight:500}.status-chip.ontrack{background:#6ee7b724;color:#6ee7b7;border:1px solid rgba(110,231,183,.3)}.status-chip.planning{background:#a78bfa24;color:#a78bfa;border:1px solid rgba(167,139,250,.3)}.ws-badge{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--accent-ink);flex-shrink:0}.ws-badge.sm{width:26px;height:26px;border-radius:7px;font-size:11px}.ws-badge-img{width:100%;height:100%;border-radius:inherit;object-fit:cover;display:block}.role-chips{display:flex;flex-wrap:wrap;gap:4px;align-items:center;min-width:0}.role-chips-empty{font-size:12px;color:var(--text-muted)}.role-chip{max-width:100%;color:var(--text);gap:5px}.role-chip.is-busy{opacity:.5}.role-chip-dot{width:6px;height:6px;border-radius:50%;flex:none}.role-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-chip-x,.role-chip-add,.role-chip-more{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted)}.role-chip-x{border:0;background:transparent;padding:0;margin-right:-2px;width:12px;height:12px;border-radius:4px;opacity:0;transition:opacity .12s ease}.role-chip:hover .role-chip-x,.role-chip-x:focus-visible{opacity:1}.role-chip-x:hover{color:var(--danger);background:var(--danger-soft)}.role-chip-more{border:1px dashed var(--border);background:transparent;color:var(--text-soft);font-weight:600}.role-chip-more:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-2)}.role-chip-add{border:1px dashed var(--border);background:transparent;border-radius:6px;padding:2px 5px;line-height:1}.role-chip-add:hover{color:var(--text);background:var(--surface-2)}.role-picker{width:240px;padding:6px;display:flex;flex-direction:column;gap:6px}.role-picker-search{width:100%;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:7px;padding:6px 8px;font-size:12px;outline:none}.role-picker-search:focus{border-color:var(--accent)}.role-picker-list{display:flex;flex-direction:column;max-height:220px;overflow-y:auto}.role-picker-item{display:flex;align-items:center;gap:8px;padding:6px 7px;border:0;background:transparent;border-radius:7px;font-size:13px;color:var(--text);cursor:pointer;text-align:left}.role-picker-item:hover:not(:disabled){background:var(--surface-2)}.role-picker-item:disabled{opacity:.55;cursor:default}.role-picker-dot{width:8px;height:8px;border-radius:50%;flex:none}.role-picker-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-picker-empty,.role-picker-err{font-size:12px;color:var(--text-muted);padding:6px 7px}.role-picker-err{color:var(--danger)}.ws-switcher-wrap{position:relative;flex:1;display:flex;align-items:center;gap:4px;min-width:0}.ws-switcher{flex:1;display:flex;align-items:center;gap:10px;padding:6px 8px 6px 6px;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--text);text-align:left;cursor:default;min-width:0;transition:background var(--transition),border-color var(--transition)}.ws-switcher:hover{background:var(--hover)}.ws-switcher.open{background:var(--hover-2);border-color:var(--border)}.ws-switcher .ws-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;line-height:1.2}.ws-switcher .ws-nm{font-size:13.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-switcher .ws-sub{font-size:10.5px;color:var(--text-muted);display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-switcher .ws-sub-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.ws-switcher .ws-chev{color:var(--text-muted);flex-shrink:0;transition:transform var(--transition)}.ws-switcher.open .ws-chev{transform:rotate(180deg)}.ws-popover{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);z-index:50;padding:6px;animation:ws-pop-in .16s cubic-bezier(.2,.7,.3,1);display:flex;flex-direction:column;gap:1px}@keyframes ws-pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.ws-pop-hd{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--text-muted);padding:8px 8px 4px}.ws-pop-item{display:flex;align-items:center;gap:10px;padding:7px 8px;border:0;background:transparent;border-radius:7px;color:var(--text-soft);cursor:default;width:100%;text-align:left;font-family:inherit}.ws-pop-item:hover{background:var(--hover);color:var(--text)}.ws-pop-item.active{background:var(--accent-soft);color:var(--text)}.ws-pop-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;line-height:1.2}.ws-pop-nm{font-size:13px;font-weight:600;color:var(--text)}.ws-pop-st{font-size:10.5px;color:var(--text-muted)}.ws-pop-item.active .ws-pop-st{color:var(--accent)}.ws-pop-check{color:var(--accent);flex-shrink:0}.ws-pop-badge{background:var(--accent-fill);color:var(--accent-on-fill);font-size:10px;font-weight:700;padding:1px 6px;border-radius:8px;min-width:18px;text-align:center;flex-shrink:0}.ws-pop-sep{height:1px;background:var(--border-soft);margin:4px 2px}.ws-pop-action{display:flex;align-items:center;gap:10px;padding:7px 8px;border:0;background:transparent;border-radius:7px;color:var(--text-soft);cursor:default;font-size:12.5px;font-weight:500;width:100%;text-align:left;font-family:inherit}.ws-pop-action:hover{background:var(--hover);color:var(--text)}.ws-pop-ico{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border-radius:6px;color:var(--text-soft);flex-shrink:0}.ws-pop-action:hover .ws-pop-ico{background:var(--surface-3);color:var(--text)}.vc-panel{border-top:1px solid var(--border-soft);background:var(--surface-2);padding:6px 8px 8px;display:flex;flex-direction:column;gap:6px;flex-shrink:0}.vc-panel-hd{display:flex;flex-direction:column;gap:1px;background:transparent;border:0;padding:2px 2px 0;text-align:left;cursor:pointer;min-width:0}.vc-status{display:flex;align-items:center;gap:5px;font-size:var(--fs-sm);font-weight:600;color:var(--st-online)}.vc-status-connecting,.vc-status-reconnecting{color:var(--accent-2)}.vc-panel-channel{display:flex;align-items:center;gap:4px;font-size:var(--fs-xs);color:var(--text-muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vc-panel-hd:hover .vc-panel-channel{color:var(--text-soft);text-decoration:underline}.vc-panel-error{font-size:var(--fs-xs);color:var(--priority-urgent);padding:0 2px;line-height:1.35}.vc-controls{display:flex;gap:4px}.vc-btn{flex:1;height:30px;display:flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-sm);background:var(--surface-3);color:var(--text-soft);cursor:pointer;transition:background var(--transition),color var(--transition)}.vc-btn:hover:not(.disabled){background:var(--hover-2);color:var(--text)}.vc-btn.active{background:var(--accent-soft);color:var(--accent)}.vc-btn.danger.active,.vc-btn.danger:not(.active):hover{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--priority-urgent)}.vc-btn.disabled{opacity:.4;cursor:not-allowed}.vc-members{display:flex;flex-direction:column;gap:1px;padding:1px 0 3px 22px}.vc-member{display:flex;align-items:center;gap:6px;padding:2px 6px;border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--text-muted);min-width:0}.vc-member:hover{background:var(--hover);color:var(--text-soft)}.vc-member-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.vc-member-flags{display:flex;align-items:center;gap:3px;color:var(--text-muted);flex-shrink:0}.vc-member-flags .muted{color:var(--priority-urgent)}.vc-member-flags .live{color:var(--st-online)}.vc-member-avatar{border-radius:50%;box-shadow:0 0 0 0 transparent;transition:box-shadow .12s ease-out;display:inline-flex;flex-shrink:0}.vc-member-avatar.speaking{box-shadow:0 0 0 2px var(--st-online)}.vc-count{font-size:var(--fs-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.vc-page{flex:1;min-height:0;display:flex;overflow:hidden}.vc-stage{position:relative;flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:#000;overflow:hidden}.vc-stage-hd{position:absolute;top:0;left:0;right:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:var(--pad-2);padding:var(--pad-2) var(--pad-3);background:linear-gradient(rgba(0,0,0,.75),transparent);opacity:0;transition:opacity .14s ease-out;pointer-events:none}.vc-stage.chrome-visible .vc-stage-hd{opacity:1;pointer-events:auto}.vc-timer{font-size:var(--fs-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:2px}.vc-stage-title{color:#fff;display:flex;align-items:center;gap:6px;font-size:var(--fs-base);font-weight:500;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vc-stage-count{font-size:var(--fs-xs);color:var(--text-muted);background:var(--surface-3);border-radius:999px;padding:1px 7px;font-variant-numeric:tabular-nums}.vc-stage-actions{display:flex;gap:4px;flex-shrink:0}.vc-stage-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-soft);cursor:pointer}.vc-stage-btn{color:#ffffffb8}.vc-stage-btn:hover{background:#ffffff1f;color:#fff}.vc-stage-btn.active{background:var(--accent-soft);color:var(--accent)}.vc-stage-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--pad-2);padding:52px var(--pad-3) 84px;overflow:hidden}.vc-stage-empty{align-items:center;justify-content:center;color:var(--text-muted);gap:var(--pad-3)}.vc-empty-title{font-size:var(--fs-md);color:var(--text-soft)}.vc-empty-hint{font-size:var(--fs-sm)}.vc-grid{flex:1;min-height:0;min-width:0;display:grid;grid-template-columns:repeat(var(--vc-cols, 2),minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:var(--pad-3)}.vc-grid>.vc-tile{width:100%;height:100%}.vc-focus{flex:1;min-height:0;min-width:0;display:flex}.vc-focus .vc-tile{width:100%;height:100%}.vc-strip{display:flex;gap:var(--pad-2);overflow-x:auto;overflow-y:hidden;flex-shrink:0;height:104px;padding-bottom:2px}.vc-strip .vc-tile{height:100%;width:168px;flex-shrink:0}.vc-strip .vc-tile-avatar :is(.av){width:44px!important;height:44px!important;font-size:16px!important}.vc-tile{position:relative;min-height:0;min-width:0;border-radius:var(--radius-md);background:var(--surface-3);overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:pointer;outline:2px solid transparent;outline-offset:-2px;transition:outline-color .12s ease-out}.vc-tile.speaking{outline-color:var(--st-online)}.vc-tile.focused{background:#000}.vc-video{width:100%;height:100%;object-fit:contain;background:#000;display:block}.vc-tile-avatar{display:flex;align-items:center;justify-content:center}.vc-tile-bar{position:absolute;left:8px;bottom:8px;display:flex;align-items:center;gap:5px;max-width:calc(100% - 16px);padding:3px 8px;border-radius:var(--radius-sm);background:#0000008c;color:#fff;font-size:var(--fs-sm);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.vc-tile-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vc-tile-flag{display:inline-flex;flex-shrink:0}.vc-tile-flag.muted{color:var(--priority-urgent)}.vc-tile-flag.live{color:var(--st-online)}.vc-chat{width:340px;flex-shrink:0;display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--border-soft);background:var(--surface-2)}.vc-chat-hd{display:flex;align-items:center;justify-content:space-between;padding:var(--pad-2) var(--pad-3);border-bottom:1px solid var(--border-soft);flex-shrink:0}.vc-chat-title{display:flex;align-items:center;gap:6px;font-size:var(--fs-base);color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vc-chat-close{border:0;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;padding:2px}.vc-chat-close:hover{color:var(--text)}.vc-chat-body{flex:1;min-height:0;overflow-y:auto;padding:var(--pad-2) 0}.vc-chat-composer{flex-shrink:0;padding:0 var(--pad-2) var(--pad-2)}.vc-device-row{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:7px;padding:4px 10px}.vc-device-ico{color:var(--text-muted);display:flex;flex-shrink:0}.vc-device-row select{flex:1;min-width:0;background:transparent;border:0;outline:0;color:var(--text);font-size:var(--fs-base);padding:4px 0}.vc-setting-row{display:flex;align-items:center;justify-content:space-between;gap:var(--pad-3);margin-top:var(--pad-4)}.vc-setting-label{display:flex;align-items:center;gap:6px;font-size:var(--fs-base);color:var(--text)}.vc-preview{aspect-ratio:16 / 9;border-radius:var(--radius-md);background:#000;overflow:hidden;margin-bottom:var(--pad-3);display:flex;align-items:center;justify-content:center}.vc-preview-video{width:100%;height:100%;object-fit:contain;transform:scaleX(-1)}.vc-preview-empty{display:flex;flex-direction:column;align-items:center;gap:var(--pad-2);color:var(--text-muted);font-size:var(--fs-sm)}.vc-menu-volume{display:flex;flex-direction:column;gap:4px;padding:6px 10px}.vc-menu-volume-label{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--text-muted)}.vc-menu-volume input{width:100%;accent-color:var(--accent)}.vc-menu-section{padding:4px 10px 2px;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.sb-item.vc-drop-target{background:var(--accent-soft);outline:1px dashed var(--accent);outline-offset:-1px}.vc-member.dragging{opacity:.5}@media(max-width:860px){.vc-chat{position:absolute;inset:0;width:auto;z-index:2}.vc-page{position:relative}.vc-grid{grid-template-columns:repeat(min(var(--vc-cols, 2),2),minmax(0,1fr))}.vc-stage-body{padding:var(--pad-2)}.vc-strip{height:84px}.vc-strip .vc-tile{width:132px}}.vc-pick-body{max-height:60vh;overflow-y:auto}.vc-pick-group+.vc-pick-group{margin-top:var(--pad-4)}.vc-pick-group-title{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.vc-pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--pad-2)}.vc-pick-item{display:flex;flex-direction:column;gap:5px;padding:6px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);cursor:pointer;text-align:left;min-width:0}.vc-pick-item:hover{border-color:var(--text-muted)}.vc-pick-item.selected{border-color:var(--accent);background:var(--accent-soft)}.vc-pick-thumb{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:var(--radius-xs);background:#000}.vc-pick-name{font-size:var(--fs-sm);color:var(--text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vc-pick-empty{display:flex;flex-direction:column;align-items:center;gap:var(--pad-2);padding:var(--pad-5);color:var(--text-muted);font-size:var(--fs-sm)}@media(max-width:640px){.vc-grid{grid-template-columns:repeat(min(var(--vc-cols, 2),2),minmax(0,1fr))}.vc-stage{padding:var(--pad-2)}}.sb-item.sb-voice-live,.sb-item.sb-voice-live .sb-ico{color:var(--accent)}.vc-count-full{color:var(--priority-urgent)}.vc-panel-unblock{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;padding:5px 8px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);font-size:var(--fs-sm);cursor:pointer}.vc-invite-list{max-height:46vh;overflow-y:auto;margin-top:var(--pad-2);display:flex;flex-direction:column;gap:2px}.vc-invite-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-soft);cursor:pointer;text-align:left}.vc-invite-row:hover{background:var(--hover);color:var(--text)}.vc-invite-row.selected{background:var(--accent-soft);color:var(--accent)}.vc-invite-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-base)}.vc-invite-empty{padding:var(--pad-4);text-align:center;color:var(--text-muted);font-size:var(--fs-sm)}.vc-tile.screen{background:var(--surface-3)}.vc-screen-cta{display:flex;flex-direction:column;align-items:center;gap:var(--pad-2);color:var(--text-muted);padding:var(--pad-3);text-align:center}.vc-screen-ended{font-size:var(--fs-base);color:var(--text-soft)}.vc-screen-btn{padding:6px 14px;border:0;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font-size:var(--fs-sm);cursor:pointer}.vc-screen-btn:hover{background:var(--hover-2)}.vc-live-badge{position:absolute;top:8px;left:8px;padding:2px 7px;border-radius:var(--radius-xs);background:var(--priority-urgent);color:#fff;font-size:10px;font-weight:700;letter-spacing:.04em}.vc-tile-more{position:absolute;top:6px;right:6px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-sm);background:#0000008c;color:#fff;cursor:pointer;opacity:0;transition:opacity .12s ease-out}.vc-tile:hover .vc-tile-more{opacity:1}.vc-controlbar{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;align-items:center;justify-content:center;gap:var(--pad-2);padding:var(--pad-3);background:linear-gradient(transparent,#000c);opacity:0;transition:opacity .14s ease-out;pointer-events:none}.vc-stage.chrome-visible .vc-controlbar{opacity:1;pointer-events:auto}.vc-cb-cluster{display:flex;align-items:center;gap:2px;background:#1e1f22eb;border-radius:999px;padding:4px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.vc-cb-group{display:flex;align-items:center}.vc-cb-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:transparent;color:#fff;cursor:pointer;transition:background var(--transition)}.vc-cb-group.has-chevron .vc-cb-btn{border-radius:999px 0 0 999px;padding-right:2px}.vc-cb-btn:hover:not(.disabled){background:#ffffff24}.vc-cb-btn.active{background:#ffffff38}.vc-cb-btn.danger.active,.vc-cb-btn.danger:hover{background:var(--priority-urgent);color:#fff}.vc-cb-btn.disabled{opacity:.4;cursor:not-allowed}.vc-cb-chevron{width:18px;height:40px;display:flex;align-items:center;justify-content:center;border:0;border-radius:0 999px 999px 0;background:transparent;color:#ffffffb3;cursor:pointer}.vc-cb-chevron:hover{background:#ffffff24;color:#fff}.vc-cb-hangup{width:56px;height:40px;display:flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--priority-urgent);color:#fff;cursor:pointer}.vc-cb-hangup:hover{filter:brightness(.9)}.vc-cb-right{position:absolute;right:var(--pad-3);display:flex;gap:4px}.vc-cb-plain{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-sm);background:transparent;color:#ffffffb3;cursor:pointer}.vc-cb-plain:hover{background:#ffffff1f;color:#fff}@media(hover:none){.vc-stage-hd,.vc-controlbar{opacity:1;pointer-events:auto}.vc-tile-more{opacity:1}}.vc-submenu{position:relative}.vc-submenu-trigger{width:100%}.vc-submenu-panel{position:absolute;left:100%;top:-4px;min-width:180px;max-height:260px;overflow-y:auto;padding:4px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);box-shadow:0 10px 28px #00000073;z-index:1}@media(max-width:520px){.vc-submenu-panel{left:auto;right:100%}}.att-presence-tag{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:1px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--ap-tint, var(--text-muted)) 45%,transparent);background:color-mix(in srgb,var(--ap-tint, var(--text-muted)) 14%,transparent);color:var(--ap-tint, var(--text-muted));white-space:nowrap}.att-presence-tag:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ap-tint, var(--text-muted))}.att-presence-dot{display:inline-block;border-radius:50%;background:var(--ap-tint, var(--text-muted));flex-shrink:0}.att-presence-tag.is-office,.att-presence-dot.is-office{--ap-tint: #34d399}.att-presence-tag.is-remote,.att-presence-dot.is-remote{--ap-tint: #60a5fa}.att-presence-tag.is-lunch,.att-presence-dot.is-lunch{--ap-tint: #f59e0b}.att-presence-tag.is-away,.att-presence-dot.is-away{--ap-tint: #a78bfa}.user-card-trigger{cursor:pointer}.user-card-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.member-row{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:6px;cursor:default;width:100%}.member-row:hover{background:var(--hover)}.member-row .mr-meta{flex:1;min-width:0}.member-row .mr-nm{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-row .mr-st{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-card{padding:14px;display:flex;gap:12px;align-items:flex-start}.member-card .mc-name{font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px;min-width:0}.member-card .mc-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-card .mc-muted{display:inline-flex;color:var(--text-muted)}.member-card--clickable{cursor:pointer;text-align:left;transition:border-color .12s ease,background .12s ease}.member-card--clickable:hover{border-color:var(--border-strong);background:var(--surface-2)}.member-card--clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.owner-crown{display:inline-flex;align-items:center;color:#f0b429;flex:none}.member-card .mc-title{font-size:12px;color:var(--text-muted)}.member-card .mc-status{font-size:12px;color:var(--text-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-card .mc-tags{margin-top:6px}.member-card-detail{width:300px;padding:16px;display:flex;flex-direction:column;gap:12px}.member-card-detail .mcd-head{display:flex;gap:12px;align-items:center}.member-card-detail .mcd-avatar-btn{border:0;padding:0;background:transparent;cursor:pointer;border-radius:50%;flex:none;height:56px}.member-card-detail .mcd-avatar-btn:hover{filter:brightness(1.08)}.member-card-detail .mcd-avatar-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.member-card-detail .mcd-handle{font-size:12px;color:var(--text-muted);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-card-detail .mcd-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-card-detail .mcd-muted{display:flex;align-items:center;gap:7px;font-size:12px;padding:7px 9px;border-radius:8px;background:var(--danger-soft);color:var(--danger)}.member-card-detail .mcd-actions{display:flex;align-items:center;gap:6px}.member-card-detail .mcd-actions .mcd-write-btn{flex:1}.member-card-detail .mcd-ghost-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 10px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text-soft);font-size:13px;cursor:pointer;white-space:nowrap}.member-card-detail .mcd-ghost-btn:hover{color:var(--text);background:var(--surface-2)}.member-card-detail .mcd-more{flex:none}.member-card-detail .mcd-section{display:flex;flex-direction:column;gap:6px}.member-card-detail .mcd-section-hd{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.member-actions-err{font-size:12px;color:var(--danger);padding:6px 9px;max-width:230px;line-height:1.35}.member-card-detail .mcd-name{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:5px}.member-card-detail .mcd-title{font-size:12px;color:var(--text-muted);margin-top:1px}.member-card-detail .mcd-presence{font-size:12px;color:var(--text-muted);margin-top:3px}.member-card-detail .mcd-custom{font-size:13px;color:var(--text-soft);line-height:1.4}.member-card-detail .mcd-write-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 12px;border-radius:8px;border:0;background:var(--accent-fill);color:var(--accent-on-fill);font-size:13px;font-weight:500;cursor:pointer}.member-card-detail .mcd-write-btn:hover:not(:disabled){filter:brightness(1.05)}.member-card-detail .mcd-write-btn:disabled{opacity:.6;cursor:default}.member-card-detail .mcd-tags{display:flex;gap:4px;flex-wrap:wrap}.member-card-detail .mcd-meta{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--border);padding-top:12px}.member-card-detail .mcd-meta-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-soft);min-width:0}.member-card-detail .mcd-meta-row svg{color:var(--text-muted);flex:none}.member-card-detail .mcd-meta-val{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar-wrap{position:relative}.avatar-wrap .avatar-dot{position:absolute;right:-2px;bottom:-2px}.avatar-wrap .avatar-dot--members{right:0;bottom:0}.mr-typing{color:var(--accent);font-style:italic;display:inline-flex;align-items:center;gap:6px}.mr-typing-dots{display:inline-flex;align-items:center;gap:2px}.mr-typing-dots span,.chat-typing-dots span{width:3px;height:3px;border-radius:50%;background:currentColor;animation:typing-bounce 1.1s infinite ease-in-out}.mr-typing-dots span:nth-child(2),.chat-typing-dots span:nth-child(2){animation-delay:.15s}.mr-typing-dots span:nth-child(3),.chat-typing-dots span:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-2px);opacity:1}}.msg{display:grid;grid-template-columns:40px 1fr auto;gap:12px;padding:3px 10px;border-radius:6px;position:relative;transition:opacity .12s ease-out}.msg .msg-body{transition:color .12s ease-out}.msg-actions{position:absolute;right:0;display:none;align-self:flex-start;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:2px;box-shadow:var(--shadow-sm)}.msg:hover .msg-actions,.msg-picker-open .msg-actions{display:inline-flex;bottom:50%}.msg-picker-pop{position:relative}.msg-edit textarea{width:100%;background:var(--surface-2);border:1px solid var(--accent);border-radius:6px;padding:8px 10px;color:var(--text);font:inherit;font-size:14px;resize:vertical;outline:none}.msg.is-pending{opacity:.6}.msg.is-pending .msg-body{color:var(--text-muted)}.msg:hover{background:var(--hover)}.msg .msg-av{align-self:flex-start;margin-top:2px}.msg-grouped-start{margin-top:12px}.msg-grouped{padding-top:3px;padding-bottom:3px}.msg-grouped .msg-time-inline{font-family:var(--font-mono);font-size:10px;color:var(--text-faint);opacity:0;margin-top:4px}@media(hover:hover){.msg-grouped:hover .msg-time-inline{opacity:1}}.msg-hd{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}.msg-hd .nm{font-size:14px;font-weight:600;color:var(--text)}.msg-hd .ts{font-size:11px;color:var(--text-faint);font-family:var(--font-mono)}.verified-badge{display:inline-flex;align-items:center;align-self:center;color:var(--accent, #3b82f6);flex-shrink:0}.msg-hd .verified-badge{align-self:baseline;transform:translateY(2px)}.msg-body{font-size:14px;color:var(--text-soft);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.msg-body.not-supported{background:var(--surface-2);border-radius:6px;padding:10px}.msg-mention{color:var(--accent);background:var(--accent-soft);padding:1px 4px;border-radius:3px;font-weight:500;border:1px solid transparent}.msg-link{color:var(--accent);text-decoration:none;word-break:break-all}.msg-link:hover{text-decoration:underline}.msg-link-previews{display:flex;flex-direction:column;gap:6px;margin-top:6px}.msg-link-card{position:relative;display:flex;flex-direction:column;gap:8px;max-width:460px;padding:8px 10px 8px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;text-decoration:none;color:inherit;overflow:hidden;transition:border-color .12s ease,background .12s ease}.msg-link-card:hover{border-color:var(--accent);background:var(--surface-3, var(--surface-2))}.msg-link-card-bar{position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:2px;background:var(--accent)}.msg-link-card-main{display:flex;gap:10px;align-items:flex-start;min-width:0}.msg-link-card-body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.msg-link-card-thumb{flex:none;width:56px;height:56px;border-radius:6px;overflow:hidden;background:var(--surface-3, var(--surface-2))}.msg-link-card-thumb img{display:block;width:100%;height:100%;object-fit:contain}.msg-link-card-probe{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;left:-9999px}.msg-link-card-site{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:500;color:var(--accent);text-transform:lowercase}.msg-link-card-favicon{width:12px;height:12px;border-radius:2px;object-fit:cover}.msg-link-card-title{font-size:14px;font-weight:600;color:var(--text);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.msg-link-card-desc{font-size:13px;color:var(--text-soft);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.msg-link-card-image{border-radius:6px;overflow:hidden;max-height:260px;background:var(--surface-3, var(--surface-2))}.msg-link-card-image img{display:block;width:100%;height:auto;max-height:260px;object-fit:cover}.msg-link-card.is-loading{pointer-events:none}.msg-link-card-skeleton.skel-line{height:10px;border-radius:4px;background:linear-gradient(90deg,var(--surface-3, var(--surface-2)) 0%,var(--border) 50%,var(--surface-3, var(--surface-2)) 100%);background-size:200% 100%;animation:msg-skel 1.2s ease-in-out infinite}.msg-link-card-skeleton.skel-line.short{width:30%}@keyframes msg-skel{0%{background-position:100% 0}to{background-position:-100% 0}}.msg-attachments{display:flex;flex-direction:column;gap:6px;margin-top:6px;max-width:460px}.msg-album{display:grid;gap:3px;width:min(360px,100%);border-radius:10px;overflow:hidden}.msg-album.n2{grid-template-columns:1fr 1fr;grid-auto-rows:170px}.msg-album.n3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;height:240px}.msg-album.n3 .msg-album-cell:first-child{grid-row:1 / span 2}.msg-album.n4{grid-template-columns:1fr 1fr;grid-auto-rows:120px}.msg-album-cell{position:relative;padding:0;border:0;background:var(--surface-2);line-height:0;overflow:hidden;cursor:zoom-in}.msg-album-cell img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--transition)}.msg-album-cell:hover img{transform:scale(1.03)}.msg-album-cell.is-uploading img{opacity:.6}.msg-album-more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0000008c;color:#fff;font-size:20px;font-weight:600;line-height:1}.msg-attachment-image{display:block;max-width:360px;cursor:zoom-in;border-radius:8px;overflow:hidden;background:var(--surface-2);line-height:0;position:relative}.msg-attachment-video-wrap{position:relative;display:inline-block;line-height:0}.msg-attachment-image.is-uploading img,.msg-attachment-video-wrap.is-uploading .msg-attachment-video{opacity:.55;filter:saturate(.85)}.msg-attachment-image.is-uploading,.msg-attachment-video-wrap.is-uploading,.msg-attachment-file.is-uploading{cursor:default;pointer-events:none}.msg-attachment-uploading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.msg-attachment-spinner{width:22px;height:22px;border-radius:50%;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;animation:msg-attachment-spin .7s linear infinite}.msg-attachment-file .msg-attachment-spinner{width:16px;height:16px;border-width:2px;border-color:var(--border);border-top-color:var(--accent)}@keyframes msg-attachment-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.msg-attachment-spinner{animation-duration:1.4s}}.msg-attachment-image img{display:block;width:100%;height:auto;max-height:360px;object-fit:cover}.msg-attachment-video{display:block;max-width:360px;max-height:360px;border-radius:8px;background:#000}.msg-attachment-audio{width:100%;max-width:360px}.msg-attachment-file{display:inline-flex;align-items:center;gap:10px;padding:8px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:inherit;text-decoration:none;max-width:360px;transition:border-color .12s ease,background .12s ease}.msg-attachment-file:hover{border-color:var(--accent);background:var(--surface-3, var(--surface-2))}.msg-attachment-file-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:none;border-radius:6px;background:var(--surface-3, var(--surface));color:var(--text-muted)}.msg-attachment-file-meta{display:flex;flex-direction:column;min-width:0;flex:1}.msg-attachment-file-name{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-attachment-file-size{font-size:11px;color:var(--text-muted);font-family:var(--font-mono)}.msg-attachment-file-action{color:var(--text-muted);flex:none}.msg-attachment-skel{width:160px;height:60px;border-radius:8px;background:linear-gradient(90deg,var(--surface-2) 0%,var(--border) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:msg-skel 1.2s ease-in-out infinite}.msg-reactions{display:flex;gap:4px;margin-top:6px}.reaction{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border);font-size:11.5px;color:var(--text-soft);cursor:pointer;font-family:inherit}.reaction.mine{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.reaction:hover{border-color:var(--accent)}.reaction-add{color:var(--text-muted);padding:2px 6px}.msg-flash{animation:msg-flash 1.2s ease-out}@keyframes msg-flash{0%,30%{background:var(--accent-soft)}to{background:transparent}}.day-divider{display:flex;align-items:center;gap:12px;margin:16px 0 8px;color:var(--text-muted);font-size:11px;font-family:var(--font-mono)}.day-divider:before,.day-divider:after{content:"";flex:1;height:1px;background:var(--border)}@media(max-width:768px){.msg{grid-template-columns:36px 1fr auto;gap:10px;padding:3px 4px}.msg-actions{display:none!important}.reaction{padding:2px 9px;font-size:12px}.msg-time-inline{max-height:0;overflow:hidden}}@media(hover:none){.msg-actions{display:none!important}}.msg-sheet-scrim{position:fixed;inset:0;background:var(--scrim, rgba(0, 0, 0, .55));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:200;display:flex;align-items:flex-end;animation:msg-sheet-fade-in .16s ease-out}.msg-sheet{width:100%;background:var(--surface-2);border-top-left-radius:16px;border-top-right-radius:16px;padding:8px 10px calc(env(safe-area-inset-bottom) + 12px);box-shadow:0 -12px 32px #0006;animation:msg-sheet-slide-in .22s cubic-bezier(.2,.7,.3,1);display:flex;flex-direction:column;gap:10px;max-height:80vh;overflow-y:auto}.msg-sheet-handle{width:38px;height:4px;border-radius:2px;background:var(--border);align-self:center;margin:4px 0 8px}.msg-sheet-react-row{display:flex;gap:6px;padding:0 4px;justify-content:space-between}.msg-sheet-react-btn{flex:1;aspect-ratio:1;max-width:52px;border-radius:999px;border:0;background:var(--surface-3);color:var(--text);font-size:22px;display:flex;align-items:center;justify-content:center;cursor:default}.msg-sheet-react-btn:active{transform:scale(.92)}.msg-sheet-group{background:var(--surface);border-radius:12px;overflow:hidden;border:1px solid var(--border)}.msg-sheet-item{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;border:0;background:transparent;color:var(--text);font:inherit;font-size:15px;text-align:left;cursor:default}.msg-sheet-item+.msg-sheet-item{border-top:1px solid var(--border-soft, var(--border))}.msg-sheet-item:active{background:var(--hover)}.msg-sheet-item.danger{color:var(--danger)}@keyframes msg-sheet-fade-in{0%{opacity:0}to{opacity:1}}@keyframes msg-sheet-slide-in{0%{transform:translateY(100%)}to{transform:none}}.msg.msg-system{display:flex;align-items:center;gap:10px;padding:2px 16px;margin:6px 0;grid-template-columns:none;color:var(--text-muted);font-size:13px}.msg-system-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;flex:none}.msg-system-icon.success{color:var(--success)}.msg-system-icon.error{color:var(--danger)}.msg-system-body{display:flex;align-items:baseline;gap:8px;min-width:0;flex-wrap:wrap}.msg-system-user{font-weight:600;color:var(--text);cursor:pointer}.msg-system-user:hover{text-decoration:underline}.msg-system-ts{font-size:11px;color:var(--text-faint)}.msg-edited-mark{margin-left:6px;font-size:10.5px;color:var(--text-faint);white-space:nowrap}.auth-error{margin-top:12px;padding:10px 12px;border-radius:10px;background:#f43f5e1f;color:var(--danger);border:1px solid rgba(244,63,94,.3);font-size:13px;font-weight:500}.auth-blocked{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:8px 4px 4px}.auth-blocked-title{margin:0;font-size:18px;font-weight:700;color:var(--danger)}.auth-blocked-msg{margin:0;font-size:13.5px;line-height:1.5;color:var(--text-soft)}.auth-blocked-back{margin-top:6px;padding:9px 16px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease}.auth-blocked-back:hover{background:var(--hover);border-color:var(--border-strong)}.auth-stage{height:var(--app-h);width:100vw;overflow-x:hidden;overflow-y:auto;position:relative;display:grid;place-items:start center;padding:max(24px,4vh) 16px;background:radial-gradient(900px 600px at 18% 18%,rgba(34,211,238,.1),transparent 60%),radial-gradient(800px 600px at 86% 88%,rgba(167,139,250,.08),transparent 65%),var(--bg);color:var(--text);font-family:var(--font-sans)}.auth-stage:before{content:"";position:fixed;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 30%,transparent 75%);mask-image:radial-gradient(circle at 50% 50%,#000 30%,transparent 75%);pointer-events:none;z-index:0}.auth-shell{position:relative;z-index:1;width:min(440px,92vw);display:flex;flex-direction:column;gap:24px}.auth-brand{display:flex;align-items:center;gap:10px;justify-content:center}.auth-brand .auth-logo{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--accent-ink);font-size:14px;box-shadow:0 8px 24px var(--accent-glow)}.auth-brand .auth-word{font-size:18px;font-weight:700;letter-spacing:-.01em}.auth-brand .auth-word span{color:var(--accent)}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:28px 28px 22px;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.auth-card-hd{margin-bottom:20px}.auth-card-hd h1{margin:0;font-size:22px;font-weight:650;letter-spacing:-.01em}.auth-card-hd .auth-sub{margin-top:6px;font-size:13px;color:var(--text-muted);line-height:1.5}.auth-card-hd .auth-sub strong{color:var(--text);font-weight:600;font-family:var(--font-mono);font-size:12.5px}.auth-tabs{display:flex;background:var(--surface-2);border:1px solid var(--border);padding:4px;border-radius:10px;margin-bottom:22px;position:relative}.auth-tab{display:flex;align-items:center;justify-content:center;flex:1;background:transparent;border:0;padding:8px 12px;border-radius:7px;color:var(--text-muted);font-size:13px;font-weight:600;cursor:default;transition:color var(--transition);font-family:inherit}.auth-tab.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.auth-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.auth-field label{font-size:11.5px;font-weight:600;color:var(--text-muted);letter-spacing:.02em}.auth-input{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:11px 13px;color:var(--text);font-size:14px;font-family:inherit;outline:0;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.auth-input::placeholder{color:var(--text-faint)}.auth-input:hover{border-color:var(--border-strong)}.auth-input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 4px var(--accent-soft)}.auth-input-wrap{position:relative;display:flex;align-items:center}.auth-input-wrap .auth-input{flex:1;padding-right:42px}.auth-input-icon{position:absolute;right:10px;color:var(--text-muted);display:flex;align-items:center;background:transparent;border:0;width:28px;height:28px;border-radius:6px;justify-content:center;cursor:default}.auth-input-icon:hover{background:var(--hover);color:var(--text)}.auth-input-prefix{position:absolute;left:12px;color:var(--text-muted);font-size:14px;pointer-events:none}.auth-input-wrap .auth-input.has-prefix{padding-left:26px}.auth-input.ok{border-color:color-mix(in srgb,var(--success) 55%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 12%,transparent)}.auth-input.err{border-color:color-mix(in srgb,var(--danger) 55%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--danger) 12%,transparent)}.auth-input-status.checking{color:var(--text-muted)}.auth-input-status.available{color:var(--success)}.auth-input-status.taken,.auth-input-status.invalid{color:var(--danger)}.auth-input-status:hover{background:transparent;color:inherit}.auth-field-hint{margin-top:6px;font-size:12px;color:var(--text-muted)}.auth-field-hint.ok{color:var(--success)}.auth-field-hint.err{color:var(--danger)}.auth-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:0;border-radius:10px;background:var(--accent-fill);color:var(--accent-on-fill);font-size:14px;font-weight:650;font-family:inherit;cursor:default;transition:filter var(--transition),transform var(--transition);box-shadow:0 8px 24px var(--accent-glow);letter-spacing:-.005em}.auth-btn:hover{filter:brightness(1.06)}.auth-btn:active{transform:translateY(1px)}.auth-btn:disabled{background:var(--surface-3);color:var(--text-muted);box-shadow:none;cursor:not-allowed}.auth-row{display:flex;align-items:center;justify-content:space-between;margin:-4px 0 18px;font-size:12.5px}.auth-check{display:inline-flex;align-items:center;gap:8px;color:var(--text-soft);cursor:default}.auth-check input{position:absolute;opacity:0;pointer-events:none}.auth-check .box{width:16px;height:16px;border-radius:5px;border:1.5px solid var(--border-strong);display:inline-flex;align-items:center;justify-content:center;color:transparent;transition:all var(--transition)}.auth-check input:checked~.box{background:var(--accent-fill);border-color:var(--accent);color:var(--accent-on-fill)}.auth-link{color:var(--accent);font-weight:600;cursor:default;background:transparent;border:0;padding:0;font-family:inherit;font-size:inherit}.auth-link:hover{text-decoration:underline;text-underline-offset:3px}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin:18px 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-social{display:grid;grid-template-columns:1fr;gap:8px}.auth-social.double{grid-template-columns:1fr 1fr}.auth-social-btn{padding:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:9px;color:var(--text-soft);display:flex;align-items:center;justify-content:center;gap:6px;font-family:inherit;font-size:12.5px;font-weight:600;cursor:default}.auth-social-btn:hover{background:var(--surface-3);color:var(--text);border-color:var(--border-strong)}.auth-footer{margin-top:14px;text-align:center;font-size:12.5px;color:var(--text-muted)}.auth-meta{text-align:center;font-size:11px;color:var(--text-faint);margin-top:4px}.auth-meta .dot{color:var(--text-faint);padding:0 6px}.auth-lang{display:inline-flex;gap:2px;vertical-align:middle}.auth-lang-opt{background:none;border:none;cursor:pointer;padding:1px 5px;border-radius:5px;font:inherit;font-weight:600;color:var(--text-faint);transition:color .15s,background .15s}.auth-lang-opt:hover{color:var(--text-muted)}.auth-lang-opt.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.auth-steps{display:flex;align-items:center;gap:10px;margin-bottom:20px}.auth-step{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.auth-step-dot{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);border:1.5px solid var(--border);color:var(--text-muted);font-size:11px;font-weight:700;font-family:var(--font-mono);flex-shrink:0;transition:all var(--transition)}.auth-step.active .auth-step-dot{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 0 0 4px var(--accent-soft)}.auth-step.done .auth-step-dot{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.auth-step-label{font-size:11px;font-weight:600;color:var(--text-muted);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auth-step.active .auth-step-label,.auth-step.done .auth-step-label{color:var(--text)}.auth-step-bar{flex:1;height:2px;background:var(--border);border-radius:2px;overflow:hidden}.auth-step-bar-fill{display:block;height:100%;background:var(--accent);width:0%;transition:width .32s cubic-bezier(.2,.7,.3,1)}.auth-resend{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:14px;font-size:12.5px;color:var(--text-muted)}.auth-resend .timer{font-family:var(--font-mono);color:var(--text-soft);font-size:12px}.auth-avatar-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;margin:4px 0 18px}.auth-avatar{position:relative;width:88px;height:88px;border-radius:50%;background:var(--surface-2);border:1.5px dashed var(--border-strong);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:26px;font-weight:700;cursor:default;overflow:hidden;transition:border-color var(--transition)}.auth-avatar:hover{border-color:var(--accent)}.auth-avatar.has-image{border-style:solid;border-color:var(--border);color:var(--accent-ink)}.auth-avatar .camera{position:absolute;right:-2px;bottom:-2px;width:28px;height:28px;border-radius:50%;background:var(--accent-fill);color:var(--accent-on-fill);display:flex;align-items:center;justify-content:center;border:3px solid var(--surface)}.auth-avatar-help{font-size:11.5px;color:var(--text-muted)}.auth-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.auth-three{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:8px}.auth-select{background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:11px 32px 11px 12px;color:var(--text);font-size:14px;font-family:inherit;outline:0;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236F7686' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 12px center;cursor:default}.auth-select:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.auth-gender{display:grid;grid-template-columns:1fr 1fr;gap:8px}.auth-gender-opt{display:flex;align-items:center;gap:8px;padding:11px 12px;background:var(--surface-2);border:1.5px solid var(--border);border-radius:9px;color:var(--text-soft);font-size:13px;font-weight:500;cursor:default;transition:all var(--transition);font-family:inherit}.auth-gender-opt:hover{border-color:var(--border-strong);color:var(--text)}.auth-gender-opt.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.auth-gender-opt .ico{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.auth-gender-opt.active .ico{color:var(--accent)}.auth-back{display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;color:var(--text-muted);font-size:12.5px;font-weight:600;font-family:inherit;cursor:default;padding:4px 8px;margin:-4px -8px 12px;border-radius:6px}.auth-back:hover{color:var(--text);background:var(--hover)}.auth-banner{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--accent-soft);border:1px solid rgba(34,211,238,.3);border-radius:9px;margin-bottom:16px;font-size:12.5px;color:var(--text-soft);line-height:1.45}.auth-banner .ico{color:var(--accent);flex-shrink:0;margin-top:1px;display:flex}.auth-banner b{color:var(--text);font-weight:600}.auth-step-in{animation:auth-fade .32s cubic-bezier(.2,.7,.3,1)}@keyframes auth-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.auth-success{text-align:center;padding:12px 0 4px}.auth-success-ico{width:56px;height:56px;border-radius:50%;margin:0 auto 16px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;border:1.5px solid rgba(34,211,238,.3)}.auth-success h2{margin:0 0 6px;font-size:20px;font-weight:650}.auth-success p{margin:0 0 18px;color:var(--text-muted);font-size:13px}.auth-approve-art{display:flex;justify-content:center;margin:4px 0 22px}.auth-approve-phone{position:relative;width:72px;height:120px;border-radius:16px;border:2px solid var(--border-strong);background:linear-gradient(180deg,var(--surface-2),var(--surface));box-shadow:var(--shadow-sm),0 18px 40px -20px var(--accent-glow);display:flex;flex-direction:column;align-items:center;gap:6px;padding-top:10px;animation:auth-approve-float 4.8s ease-in-out infinite}.auth-approve-speaker{width:18px;height:3px;border-radius:2px;background:var(--border-strong);margin-bottom:6px}.auth-approve-line{width:44px;height:5px;border-radius:3px;background:var(--surface-3)}.auth-approve-line.short{width:28px}.auth-approve-badge{position:absolute;left:50%;bottom:20px;width:38px;height:38px;margin-left:-19px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);border:1.5px solid color-mix(in srgb,var(--accent) 45%,transparent);transition:background var(--transition),color var(--transition),border-color var(--transition)}.auth-approve-badge:before,.auth-approve-badge:after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid var(--accent);opacity:0;animation:auth-approve-pulse 2.4s cubic-bezier(.2,.7,.3,1) infinite;pointer-events:none}.auth-approve-badge:after{animation-delay:1.2s}.auth-approve-art.denied .auth-approve-badge{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-border)}.auth-approve-art.expired .auth-approve-badge{background:var(--warning-soft);color:var(--warning);border-color:var(--warning-border)}.auth-approve-art:not(.waiting) .auth-approve-phone,.auth-approve-art:not(.waiting) .auth-approve-badge:before,.auth-approve-art:not(.waiting) .auth-approve-badge:after{animation:none}@keyframes auth-approve-pulse{0%{transform:scale(.95);opacity:.55}to{transform:scale(1.9);opacity:0}}@keyframes auth-approve-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.auth-approve-hd{text-align:center}.auth-approve-wait{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border);font-size:12.5px;color:var(--text-muted)}.auth-approve-wait .timer{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);font-size:12.5px}.auth-approve-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:auth-approve-blink 1.6s ease-in-out infinite}@keyframes auth-approve-blink{0%,to{opacity:.35}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.auth-approve-phone,.auth-approve-badge:before,.auth-approve-badge:after,.auth-approve-dot{animation:none}}.auth-accounts{display:flex;flex-direction:column;gap:8px}.auth-accounts-title{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}.auth-accounts-list{display:flex;flex-direction:column;gap:6px}.auth-account{display:flex;align-items:center;gap:4px;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface);transition:border-color var(--transition),background var(--transition)}.auth-account:hover{border-color:var(--border);background:var(--hover)}.auth-account-main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:10px 12px;background:transparent;border:0;cursor:pointer;text-align:left;font-family:inherit;color:var(--text)}.auth-account-main:disabled{cursor:default}.auth-account-main .spinner{width:15px;height:15px;border-width:2px;flex-shrink:0}.auth-account.stale{border-style:dashed}.auth-account.stale .auth-account-main{opacity:.75}.auth-account-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.auth-account-name{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auth-account-badge{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);background:var(--accent-soft);padding:1px 5px;border-radius:5px;flex-shrink:0}.auth-account-badge.warn{color:var(--priority-urgent, var(--danger));background:color-mix(in srgb,var(--priority-urgent, var(--danger)) 14%,transparent)}.auth-account-mail{font-size:11.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auth-account-go{color:var(--text-muted);flex-shrink:0}.auth-account-x{width:34px;align-self:stretch;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:0 10px 10px 0}.auth-account-x:hover{color:var(--priority-urgent, var(--danger));background:var(--hover-2)}.auth-accounts-add{margin-top:4px;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border:1px dashed var(--border);border-radius:10px;background:transparent;color:var(--text-soft);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:border-color var(--transition),color var(--transition)}.auth-accounts-add:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.auth-accounts-add:disabled{opacity:.55;cursor:not-allowed}.mention-menu{position:absolute;left:0;right:0;bottom:calc(100% + 6px);max-height:260px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-sm);padding:4px;z-index:50}.mention-section{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);padding:6px 8px 2px}.mention-row{display:flex;align-items:center;gap:8px;width:100%;padding:5px 8px;border:0;background:transparent;color:var(--text);font:inherit;font-size:13px;text-align:left;border-radius:6px;cursor:pointer}.mention-row:hover{background:var(--hover)}.mention-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mention-hint{font-size:11px;color:var(--text-muted)}.mention-role-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.composer-reply{display:flex;align-items:center;gap:8px;padding:6px 8px;margin:4px 0;background:var(--surface-2);border-left:3px solid var(--accent);border-radius:6px;font-size:12px;color:var(--text-soft)}.composer-reply-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-reply-author{color:var(--accent);font-weight:600;margin-right:6px}.msg-reply-ref{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);margin-bottom:3px;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-reply-ref:hover .msg-reply-text{color:var(--text-soft)}.msg-reply-author{color:var(--text-soft);font-weight:500}.msg-reply-bar{width:2px;height:14px;background:var(--border);border-radius:2px;flex-shrink:0}.msg-reply-text{overflow:hidden;text-overflow:ellipsis}.composer{position:relative;margin:0 24px 8px 18px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:4px 10px 4px 12px}.composer-row{display:flex;align-items:center;gap:4px}.composer-input-wrap{position:relative;flex:1;min-height:42px}.composer textarea,.composer-input-backdrop{font-family:inherit;font-size:14px;line-height:1.5;padding:10px 4px;min-height:42px;max-height:200px;border:0;letter-spacing:normal;white-space:pre-wrap;word-wrap:break-word;word-break:break-word;box-sizing:border-box}.composer textarea{position:relative;width:100%;background:transparent;outline:0;resize:none;color:transparent;-webkit-text-fill-color:transparent;caret-color:var(--text);z-index:1}.composer textarea::placeholder{color:var(--text-faint);-webkit-text-fill-color:var(--text-faint)}.composer textarea::selection{background:var(--accent-soft);color:transparent;-webkit-text-fill-color:transparent}.composer-input-backdrop{position:absolute;inset:0;overflow:hidden;pointer-events:none;color:var(--text);z-index:0}.composer-input-backdrop .msg-mention{color:var(--accent);background:var(--accent-soft);border-radius:3px;padding:0;border:0;font-weight:inherit}.composer-tools{display:flex;align-items:center;gap:2px;padding-top:4px}.composer-tools .icon-btn{width:28px;height:28px}.composer.is-dragover{border-color:var(--accent);background:var(--accent-soft)}.composer-dropzone{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--accent-soft);border-radius:10px;color:var(--accent);font-size:14px;font-weight:500;pointer-events:none;z-index:5}.composer-uploads{display:flex;flex-wrap:wrap;gap:6px;padding:6px 0;border-bottom:1px solid var(--border);margin-bottom:4px}.composer-upload{position:relative;display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 4px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;max-width:220px;min-width:0;font-size:12px;color:var(--text-soft)}.composer-upload.is-error{border-color:var(--danger);color:var(--danger)}.composer-upload.is-uploading{opacity:.85}.composer-upload-thumb{width:26px;height:26px;border-radius:4px;object-fit:cover;flex:none}.composer-upload-icon{width:26px;height:26px;border-radius:4px;background:var(--surface-3, var(--surface));display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);flex:none}.composer-upload-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.composer-upload-spinner{width:12px;height:12px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--accent);animation:composer-spin .8s linear infinite;flex:none}.composer-upload-remove{width:18px;height:18px;border-radius:50%;border:0;background:var(--surface-3, var(--surface));color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none}.composer-upload-remove:hover{background:var(--border);color:var(--text)}@keyframes composer-spin{to{transform:rotate(360deg)}}@media(max-width:768px){.chat-wrap{grid-template-rows:1fr auto!important}.composer{margin:0 10px 6px calc(10px + env(safe-area-inset-bottom));padding:4px 6px 4px 10px}.composer-row .icon-btn{width:38px;height:38px}.composer textarea,.composer-input-backdrop{font-size:16px;padding:10px 4px}.composer-reply{margin-top:6px}.mention-menu{max-height:220px}}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border-soft);display:flex;flex-direction:column;min-width:0}.sidebar-hd{padding:8px;min-height:var(--topbar-h);display:flex;align-items:center;gap:4px;border-bottom:1px solid var(--border-soft)}.sidebar-body{flex:1;overflow-y:auto;padding:8px 8px 16px}.sidebar-group{margin-bottom:12px}.sidebar-group-hd{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 4px;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.sidebar-group-hd .grp-title{display:flex;align-items:center;gap:4px;cursor:default}.sidebar-group-hd .grp-add{width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:4px;opacity:0;transition:opacity var(--transition);color:var(--text-soft);border:0;background:transparent}.sidebar-group:hover .grp-add{opacity:1}.sidebar-group-hd .grp-add:hover{background:var(--hover);color:var(--text)}.sb-item{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:6px;color:var(--text-soft);font-size:var(--fs-base);cursor:default;min-height:30px;position:relative}.sb-item:hover{background:var(--hover);color:var(--text)}.sb-item.active{background:var(--hover-2);color:var(--text)}.sb-item.non--active{background:initial!important;color:initial!important}.sb-item.active:before{content:"";position:absolute;left:-8px;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.sb-item .sb-ico{width:16px;height:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.sb-item.active .sb-ico{color:var(--accent)}.sb-item .sb-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-item .sb-badge{background:var(--accent-fill);color:var(--accent-on-fill);font-size:10px;font-weight:700;padding:1px 6px;border-radius:8px;min-width:16px;text-align:center}.sb-item .sb-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.sb-item .sb-hover-action{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--text-muted);cursor:default;flex-shrink:0;opacity:0}.sb-item:hover .sb-hover-action{opacity:1}.sb-item .sb-hover-action:hover{background:var(--hover-2);color:var(--text)}.sb-item.has-hover-action:hover .sb-badge,.sb-item.has-hover-action:hover .sb-dot{display:none}.sb-offer{display:flex;align-items:center;gap:9px;width:100%;margin:2px 0 6px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:10px;background:var(--accent-soft);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--transition),background var(--transition)}.sb-offer:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,transparent)}.sb-offer-ico{display:inline-flex;flex-shrink:0;color:var(--accent)}.sb-offer-body{display:flex;flex-direction:column;min-width:0;flex:1}.sb-offer-title{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-offer-sub{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-offer-go{flex-shrink:0;color:var(--text-muted)}.sidebar-ft{border-top:1px solid var(--border-soft);padding:8px;display:flex;align-items:center;gap:8px;background:var(--bg-soft)}.user-card{display:flex;align-items:center;gap:8px;flex:1;padding:4px 6px;border-radius:8px;cursor:default;min-width:0}.user-card:hover{background:var(--hover)}.user-card .meta{min-width:0;flex:1}.user-card .meta .nm{font-size:12.5px;font-weight:600;color:var(--text)}.user-card .meta .st{font-size:10.5px;color:var(--text-muted)}.user-ctrl{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;color:var(--text-muted);cursor:default;border:0;background:transparent}.user-ctrl:hover{background:var(--hover);color:var(--text)}@media(max-width:768px){.sb-item{min-height:40px;font-size:14px}.sb-item .sb-hover-action,.sidebar-group-hd .grp-add{opacity:1}.user-ctrl{width:36px;height:36px}}.popover.notif-panel{width:360px;max-width:calc(100vw - 24px);padding:0}.notif-panel-body{display:flex;flex-direction:column;max-height:min(70vh,480px)}.notif-panel-hd{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border-soft);font-size:12.5px;font-weight:600;color:var(--text)}.notif-panel-list{flex:1;min-height:0;overflow-y:auto}.notif-panel-row{position:relative;display:flex;align-items:center;gap:10px;width:100%;padding:9px 14px;border:0;border-bottom:1px solid var(--border-soft);background:transparent;color:inherit;font:inherit;text-align:left;cursor:default;transition:background var(--transition)}.notif-panel-row:last-child{border-bottom:0}.notif-panel-row:hover{background:var(--hover)}.notif-panel-row.unread:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;border-radius:0 2px 2px 0;background:var(--accent)}.notif-panel-row.unread .notif-panel-text{color:var(--text)}.notif-panel-ico{display:flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;border-radius:7px;background:var(--surface-2);color:var(--text-soft)}.notif-panel-ico.kind-mention{background:var(--accent-soft);color:var(--accent)}.notif-panel-ico.kind-task{background:#a78bfa24;color:var(--cat-violet)}.notif-panel-ico.kind-review{background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--accent-2)}.notif-panel-ico.kind-calendar{background:#6ee7b71f;color:var(--cat-emerald)}.notif-panel-ico.kind-channel{background:#7dd3fc24;color:var(--cat-sky)}.notif-panel-text{flex:1;min-width:0;font-size:12.5px;line-height:1.35;color:var(--text-soft);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.notif-panel-age{flex-shrink:0;font-family:var(--font-mono);font-size:10.5px;color:var(--text-faint)}.notif-panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:28px 14px;color:var(--text-faint);font-size:12.5px}.notif-panel-all{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px 14px;border:0;border-top:1px solid var(--border-soft);background:transparent;color:var(--accent);font:inherit;font-size:12.5px;font-weight:500;cursor:default;transition:background var(--transition)}.notif-panel-all:hover{background:var(--hover)}.acct-trigger{display:flex;align-items:center;gap:10px;padding:4px 10px 4px 4px;border-radius:24px;border:1px solid var(--border-soft);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer;transition:border-color var(--transition),background var(--transition)}.acct-trigger:hover{border-color:var(--border-strong)}.acct-trigger-meta{display:flex;flex-direction:column;line-height:1.15;text-align:left;min-width:0}.acct-trigger-name{font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.acct-trigger-mail{font-size:10.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.acct-trigger-chev{color:var(--text-muted);flex-shrink:0;transition:transform .16s}.acct-trigger-chev.open{transform:rotate(180deg)}.popover.acct-pop{min-width:280px;max-width:320px;padding:6px;display:flex;flex-direction:column;gap:1px}.acct-head{display:flex;align-items:center;gap:12px;padding:8px 10px 10px}.acct-head-meta{min-width:0}.acct-head-name{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acct-head-mail{margin-top:1px;font-size:11.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acct-sep{height:1px;background:var(--border);margin:5px 2px}.acct-section-title{padding:4px 10px;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint)}.acct-row{border:0;background:transparent;border-radius:7px;color:var(--text-soft);font:inherit;cursor:pointer}.acct-row-action{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:13px;text-align:left}.acct-row-action:hover{background:var(--accent-fill);color:var(--accent-on-fill)}.acct-row-ico{display:inline-flex;flex-shrink:0;color:inherit}.acct-row-label{min-width:0}.acct-row-danger{color:var(--danger)}.acct-row-danger:hover{background:color-mix(in srgb,var(--danger) 85%,transparent);color:#fff}.acct-row-account{display:flex;align-items:center;gap:2px;padding:2px}.acct-row-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:6px 8px;border:0;background:transparent;border-radius:7px;color:var(--text-soft);font:inherit;text-align:left;cursor:pointer}.acct-row-main:hover{background:var(--surface-3)}.acct-row-meta{display:flex;flex-direction:column;line-height:1.2;min-width:0}.acct-row-name{font-size:12.5px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acct-row-mail{font-size:10.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acct-row-main .spinner{width:13px;height:13px;border-width:2px;flex-shrink:0}.acct-error{padding:4px 8px 6px;font-size:11px;color:var(--priority-urgent, var(--danger))}.acct-row-x{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border:0;background:transparent;border-radius:7px;color:var(--text-faint);cursor:pointer;transition:color var(--transition),background var(--transition)}.acct-row-x:hover{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.ci-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:8px;border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;transition:background .12s ease,color .12s ease;white-space:nowrap}.ci-btn:hover{background:var(--accent-fill);color:var(--accent-on-fill)}.ci-btn.is-in{--ci-tint: #34d399}.ci-btn.is-in.is-remote{--ci-tint: #60a5fa}.ci-btn.is-in.is-lunch{--ci-tint: #f59e0b}.ci-btn.is-in.is-away{--ci-tint: #a78bfa}.ci-btn.is-in{border-color:color-mix(in srgb,var(--ci-tint) 50%,transparent);background:color-mix(in srgb,var(--ci-tint) 14%,transparent);color:var(--ci-tint)}.ci-btn.is-in:hover{background:color-mix(in srgb,var(--ci-tint) 24%,transparent);color:var(--ci-tint)}.ci-dot{width:8px;height:8px;border-radius:50%;background:var(--ci-tint);box-shadow:0 0 0 3px color-mix(in srgb,var(--ci-tint) 28%,transparent)}.ci-body{display:flex;flex-direction:column;gap:12px;padding:16px 18px;overflow-y:auto}.ci-seg{min-height:max-content;display:flex;width:100%;border:1px solid var(--border);border-radius:8px;overflow:hidden}.ci-seg button{flex:1 1 0;min-width:0;border:0;background:transparent;color:var(--text-soft);font-size:13px;padding:7px 14px;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ci-seg button.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.ci-geo{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-soft);background:var(--surface-2);border-radius:8px;padding:8px 10px}.ci-geo svg{min-width:15px}.ci-geo-ok{color:#34d399}.ci-geo-err{color:var(--priority-urgent, #f59e0b)}.ci-geo-err button{border:0;background:none;color:var(--accent);cursor:pointer;text-decoration:underline;font-size:12.5px}.ci-geo-acc{display:block;margin-top:2px;font-style:normal;font-size:12px;color:var(--priority-urgent, #f59e0b)}.ci-cam{position:relative;width:100%;aspect-ratio:3 / 4;background:#000;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center}.ci-video,.ci-shot{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.ci-cam-err{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;color:#fff;font-size:13px;background:#0009}.ci-cam-actions{display:flex;justify-content:center}.support-form{display:flex;flex-direction:column;gap:14px}.support-field label{display:block;font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:6px;letter-spacing:.02em;text-transform:uppercase}.support-field .support-input,.support-field .support-textarea,.support-field .support-select{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text);font-family:inherit;font-size:13px;transition:border-color var(--transition),background var(--transition);box-sizing:border-box}.support-field .support-textarea{min-height:110px;resize:vertical;line-height:1.5}.support-field .support-input:focus,.support-field .support-textarea:focus,.support-field .support-select:focus{outline:none;border-color:var(--accent);background:var(--surface)}.support-field .support-hint{display:block;font-size:11px;color:var(--text-muted);margin-top:4px}.support-error{font-size:12px;color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);border-radius:8px;padding:8px 10px}.support-types{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.support-type{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);cursor:pointer;font-size:13px;color:var(--text-soft);transition:background var(--transition),border-color var(--transition),color var(--transition)}.support-type:hover{background:var(--hover);color:var(--text)}.support-type.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.support-success{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:24px 8px 8px}.support-success .icon-wrap{width:56px;height:56px;border-radius:999px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center}.support-success h3{margin:0;font-size:17px;font-weight:650}.support-success p{margin:0;font-size:13px;color:var(--text-muted);line-height:1.5}.dev-notice{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:16px 8px 4px}.dev-notice-ico{width:56px;height:56px;border-radius:999px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center}.dev-notice h3{margin:0;font-size:17px;font-weight:650}.dev-notice p{margin:0;font-size:13px;color:var(--text-muted);line-height:1.55}.dev-notice-inline-ico{vertical-align:-2px;color:var(--text-soft)}.support-email-actions{display:flex;flex-direction:column;gap:8px}.support-email-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;cursor:pointer;color:var(--text);text-align:left;transition:background var(--transition),border-color var(--transition);text-decoration:none;width:100%}.support-email-row:hover{background:var(--hover);border-color:var(--accent)}.support-email-row .se-ico{width:36px;height:36px;flex-shrink:0;border-radius:8px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center}.support-email-row .se-meta{flex:1;min-width:0}.support-email-row .se-title{font-size:13px;font-weight:600;color:var(--text)}.support-email-row .se-sub{font-size:11px;color:var(--text-muted);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.support-email-row .se-chev{color:var(--text-muted);flex-shrink:0}.support-email-address{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--surface-2);border:1px dashed var(--border);border-radius:8px;font-family:var(--font-mono);font-size:13px;color:var(--text-soft);margin-top:4px}.support-attachments{display:flex;flex-direction:column;gap:6px}.support-attach{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);font-size:13px}.support-attach-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-soft)}.support-attach button{border:0;background:none;color:var(--text-muted);cursor:pointer;display:inline-flex;padding:2px}.support-attach button:hover{color:var(--priority-urgent, var(--danger))}.support-attach-add{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:7px 12px;border:1px dashed var(--border);border-radius:8px;background:transparent;color:var(--accent);font-size:13px;font-weight:500;cursor:pointer}.support-attach-add:hover{background:var(--accent-soft)}.support-attach-add:disabled{opacity:.6;cursor:not-allowed}.topbar{background:var(--topbar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-soft);display:flex;align-items:center;gap:10px;padding:0 16px;height:var(--topbar-h);font-size:13px;z-index:5}.topbar .crumbs{display:flex;align-items:center;gap:8px;flex:1;min-width:0;color:var(--text-soft)}.topbar .crumbs .cb-ico{color:var(--text-muted);display:flex}.topbar .crumbs .cb-sep{color:var(--text-faint);margin:0 2px}.topbar .crumbs .cb-cur{color:var(--text);font-weight:600}.tb-actions{display:flex;align-items:center;gap:6px}.tb-actions .icon-btn.has-unread{position:relative}.tb-actions .icon-btn.has-unread:after{content:"";position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--topbar-bg)}@media(max-width:768px){.topbar{padding:0 8px;padding-top:env(safe-area-inset-top);height:calc(var(--topbar-h) + env(safe-area-inset-top));gap:6px}.topbar .tb-burger{width:38px;height:38px;flex-shrink:0}.topbar .tb-burger:active{background:var(--hover-2)}.topbar .crumbs-mobile{flex:1;overflow:hidden}.topbar .crumbs-mobile .cb-cur{font-size:15px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.tb-actions .icon-btn{width:38px;height:38px}}.tb-back{flex-shrink:0}.search.tb-search{font-family:inherit;cursor:pointer;text-align:left}.search.tb-search:hover{border-color:var(--border-strong);color:var(--text-soft)}.tb-search-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hub-brand-container{display:flex;align-items:center;gap:5px}.hub-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:15px;letter-spacing:-.01em}.hub-brand-mark{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--accent-ink);font-size:13px;box-shadow:0 6px 18px var(--accent-glow)}.hub-brand-word span{color:var(--accent)}.hub-brand-beta-badge{display:inline-flex;padding:1px 8px;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:100%;height:100%;min-height:0;overflow:hidden;background:var(--bg);color:var(--text)}.canvas{background:var(--canvas-bg);display:grid;grid-template-rows:auto 1fr;min-width:0;min-height:0;position:relative;overflow:hidden}.canvas>*:nth-child(2){min-height:0;min-width:0}.sidebar-host{min-width:0;display:flex;min-height:0}.sidebar-host>*{flex:1;min-width:0}@media(max-width:768px){.app-mobile{grid-template-columns:1fr}.sidebar-host-mobile{position:fixed;inset:0 auto 0 0;width:min(86vw,320px);z-index:60;transform:translate(-100%);transition:transform .24s cubic-bezier(.2,.7,.3,1);box-shadow:var(--shadow-lg);will-change:transform;padding-bottom:env(safe-area-inset-bottom)}.sidebar-host-mobile.open{transform:translate(0)}.app-drawer-scrim{position:fixed;inset:0;background:var(--scrim);z-index:55;animation:scrim-in .2s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}}.app-rail{width:64px;background:var(--rail-bg);border-right:1px solid var(--border-soft);display:flex;flex-direction:column;align-items:center;padding:10px 0 12px;gap:8px;min-height:0;overflow:visible}.rail-section{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.rail-workspaces{flex:0 1 auto;max-height:100%;overflow-y:auto;overflow-x:hidden;padding:2px 0;scrollbar-width:none}.rail-workspaces::-webkit-scrollbar{display:none}.rail-divider{width:32px;height:1px;background:var(--border);flex-shrink:0}.rail-spacer{flex:1;min-height:4px}.rail-item{position:relative;width:44px;height:44px;border:0;background:transparent;padding:0;border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--text-soft);cursor:default;transition:border-radius var(--transition),background var(--transition),color var(--transition),transform var(--transition);flex-shrink:0}.rail-item:hover{border-radius:12px;background:var(--hover);color:var(--text)}.rail-item:active{transform:scale(.96)}.rail-item:before{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%) scaleY(.2);width:4px;height:24px;border-radius:0 4px 4px 0;background:var(--accent);opacity:0;transition:opacity var(--transition),transform var(--transition),height var(--transition)}.rail-item:hover:before{opacity:.5;transform:translateY(-50%) scaleY(.45)}.rail-item.active:before{opacity:1;transform:translateY(-50%) scaleY(1)}.rail-ws{border-radius:14px;overflow:hidden}.rail-ws .rail-ws-badge{display:block;width:100%;height:100%}.rail-ws .rail-ws-badge .ws-badge{width:100%;height:100%;border-radius:inherit;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center}.rail-ws:hover{border-radius:12px}.rail-ws.active{border-radius:12px;box-shadow:0 0 0 2px var(--rail-bg),0 0 0 4px var(--accent-soft)}.rail-jump{color:var(--text-soft)}.rail-jump.active{background:var(--accent-soft);color:var(--accent);border-radius:12px}.rail-jump:hover{color:var(--text)}.rail-jump.active:hover{color:var(--accent)}.rail-add{color:var(--accent);background:var(--accent-soft);border:1px dashed transparent}.rail-add:hover{background:var(--accent-fill);color:var(--accent-on-fill)}.rail-add:before{display:none}.rail-unread{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--priority-urgent);color:#fff;font-size:10.5px;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--rail-bg);pointer-events:none}@media(max-width:768px){.app-rail{display:none}}.ntx-host{position:fixed;left:16px;bottom:16px;z-index:9000;display:flex;flex-direction:column-reverse;gap:10px;pointer-events:none;max-width:360px}.ntx-card{pointer-events:auto;display:grid;grid-template-columns:32px 1fr 24px;align-items:flex-start;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px;box-shadow:0 8px 32px #00000059,0 1px #ffffff0a inset;cursor:pointer;transition:transform .18s ease,border-color .18s ease;animation:ntx-in .22s cubic-bezier(.16,1,.3,1);min-width:260px}.ntx-card:hover{transform:translateY(-1px);border-color:var(--border-strong, var(--border))}@keyframes ntx-in{0%{opacity:0;transform:translate(-12px,8px)}to{opacity:1;transform:translate(0)}}.ntx-ico{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--text-soft);flex-shrink:0}.ntx-ico.kind-mention{background:var(--accent-soft);color:var(--accent)}.ntx-ico.kind-task{background:#a78bfa24;color:var(--cat-violet)}.ntx-ico.kind-comment{background:#6ee7b724;color:var(--cat-emerald)}.ntx-ico.kind-channel{background:#7dd3fc24;color:var(--cat-sky)}.ntx-body{min-width:0;display:flex;flex-direction:column;gap:2px}.ntx-title{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.ntx-text{font-size:13px;color:var(--text);line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;word-break:break-word}.ntx-close{width:22px;height:22px;border:none;background:transparent;color:var(--text-muted);border-radius:5px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition),color var(--transition)}.ntx-close:hover{background:var(--hover);color:var(--text)}.upg-host{position:fixed;right:16px;bottom:16px;z-index:1200;display:flex;flex-direction:column;gap:10px;max-width:360px;pointer-events:none}.upg-card{pointer-events:auto;display:flex;gap:12px;padding:14px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--accent);box-shadow:0 8px 30px #00000059,0 0 0 1px var(--accent-soft);animation:upg-in .18s ease-out}@keyframes upg-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.upg-ico{flex:0 0 auto;width:32px;height:32px;border-radius:var(--radius-md);display:grid;place-items:center;color:var(--accent);background:var(--accent-soft)}.upg-body{display:flex;flex-direction:column;gap:4px;min-width:0}.upg-title{font-size:var(--fs-sm);font-weight:600;color:var(--text)}.upg-text{font-size:var(--fs-xs);color:var(--text-muted);line-height:1.4}.upg-cta{margin-top:8px;align-self:flex-start;display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:0;border-radius:var(--radius-sm);background:var(--accent-fill);color:var(--accent-on-fill);font-size:var(--fs-xs);font-weight:600;font-family:inherit;cursor:pointer}.upg-cta:hover{filter:brightness(1.06)}.upg-close{flex:0 0 auto;align-self:flex-start;background:transparent;border:0;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:var(--radius-xs)}.upg-close:hover{color:var(--text);background:var(--surface-2)}.mobile-bottom-bar{flex-shrink:0;display:flex;align-items:stretch;height:var(--bottom-bar-h);padding-bottom:env(safe-area-inset-bottom);background:var(--topbar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border-soft);z-index:40}.mbb-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 2px;background:none;border:0;cursor:pointer;color:var(--text-muted);-webkit-tap-highlight-color:transparent;transition:color .14s ease}.mbb-tab:active{background:var(--hover-2)}.mbb-tab.active{color:var(--accent)}.mbb-tab-ico{position:relative;display:flex;align-items:center;justify-content:center;height:24px}.mbb-tab-label{font-size:10.5px;font-weight:550;letter-spacing:-.01em;line-height:1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mbb-tab-badge{position:absolute;top:-5px;left:calc(50% + 6px);min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--accent-fill);color:var(--accent-on-fill);font-size:10px;font-weight:700;line-height:16px;text-align:center;box-shadow:0 0 0 2px var(--topbar-bg)}.offline-bar{position:fixed;top:0;left:0;right:0;z-index:2000;display:flex;align-items:center;justify-content:center;gap:7px;padding:calc(6px + env(safe-area-inset-top)) 12px 6px;background:var(--warning-soft);color:var(--warning);font-size:12px;font-weight:600;box-shadow:0 1px 0 var(--warning-border);animation:offline-in .2s ease-out}@keyframes offline-in{0%{transform:translateY(-100%)}}@media(prefers-reduced-motion:reduce){.offline-bar{animation:none}}.main-layout{display:flex;height:var(--app-h);width:100%;overflow:hidden;background:var(--bg);color:var(--text)}.main-layout>.app-rail{flex-shrink:0}.main-layout-content{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;position:relative}@media(max-width:768px){.main-layout-mobile{flex-direction:column;height:var(--app-h)}}.col-dot{width:8px;height:8px;border-radius:50%;background:var(--text-faint)}.col-dot.tone-muted{background:#71717a}.col-dot.tone-sky{background:#7dd3fc}.col-dot.tone-amber{background:#f5c56c}.col-dot.tone-violet{background:#a78bfa}.col-dot.tone-emerald{background:#6ee7b7}.task-card{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:10px;padding:10px 11px;display:flex;flex-direction:column;gap:7px;cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.task-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.tc-title{font-size:13.5px;font-weight:500;color:var(--text);line-height:1.4;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.tc-labels{display:flex;flex-wrap:wrap;gap:4px;min-width:0}.tc-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.tc-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0;color:var(--text-muted)}.tc-badge{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-variant-numeric:tabular-nums;color:var(--text-muted)}.tc-badge.is-complete{color:var(--success)}.tc-assignees{display:inline-flex;align-items:center;flex-shrink:0}.tc-assignees>.av{border:2px solid var(--surface-2);margin-left:-7px}.tc-assignees>.av:first-child{margin-left:0}.tc-extra{margin-left:-4px;font-size:10.5px;font-weight:600;background:var(--surface-3);color:var(--text-soft);border-radius:999px;padding:3px 6px;border:2px solid var(--surface-2)}.tc-cover{margin:-3px -4px 2px;border-radius:8px;overflow:hidden;max-height:140px}.tc-cover img{width:100%;max-height:140px;object-fit:cover;display:block}.pri-mark{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--pri-size, 14px);height:var(--pri-size, 14px)}.pri-mark>svg{width:100%;height:100%;display:block}.pri-tag{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;white-space:nowrap;line-height:1}.pri-tag .pri-mark{transform:translateY(1px)}.pri-tag.is-routine{color:var(--text-muted);font-weight:500}.pri-badge{display:inline-flex;align-items:center;gap:4px;border:1px solid;border-radius:6px;font-weight:600;white-space:nowrap}.pri-badge--sm{height:22px;padding:0 7px;font-size:11.5px}.pri-badge--md{height:28px;padding:0 10px;font-size:12.5px}.due-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid transparent;border-radius:6px;font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums;background:none;font-family:inherit;color:var(--text-muted)}.due-chip--xs{height:20px;padding:0 5px;font-size:11px;margin:0 -5px}.due-chip--sm{height:24px;padding:0 8px;font-size:12px}.due-chip--md{height:28px;padding:0 10px;font-size:12.5px}.due-chip.tone-overdue{background:color-mix(in srgb,var(--danger) 14%,transparent);border-color:color-mix(in srgb,var(--danger) 30%,transparent);color:var(--danger);font-weight:600}.due-chip.tone-today{background:var(--warning-soft);border-color:var(--warning-border);color:var(--warning);font-weight:600}.due-chip.tone-soon{color:var(--text-soft)}.due-chip.tone-done{color:var(--success)}.due-chip.is-click{cursor:pointer}.due-chip.is-click:hover{background:var(--hover-2);border-color:var(--border);color:var(--text)}.due-chip.tone-overdue.is-click:hover,.due-chip.tone-today.is-click:hover{filter:brightness(1.12);color:inherit}.lbl{display:inline-flex;align-items:center;max-width:160px;border:none;border-radius:5px;font-weight:600;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:inset 0 0 0 1px #00000014}.lbl--xs{height:18px;padding:0 6px;font-size:10.5px}.lbl--sm{height:22px;padding:0 8px;font-size:11.5px}.lbl--md{height:28px;padding:0 11px;font-size:12.5px;border-radius:6px}.lbl--dot{width:36px;min-width:36px;padding:0;height:8px;border-radius:999px}.lbl--dot.lbl--xs{height:7px}.lbl--click{cursor:pointer;transition:filter var(--transition)}.lbl--click:hover{filter:brightness(1.08)}.lbl--more{background:var(--surface-3);color:var(--text-soft);box-shadow:inset 0 0 0 1px var(--border)}.lbl-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:0}.lblpop{width:320px;max-width:86vw;padding:12px}.lblpop-head{display:flex;align-items:center;gap:2px;padding:0 0 10px}.lblpop-title{flex:1;text-align:center;font-size:12.5px;font-weight:600;color:var(--text-soft)}.lblpop-back{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:6px;background:none;color:var(--text-muted);cursor:pointer}.lblpop-back:hover{background:var(--hover);color:var(--text)}.lblpop-head>.lblpop-back+.lblpop-title{margin-right:24px}.lblpop-searchwrap{display:flex;align-items:center;gap:7px;padding:0 9px;height:34px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);transition:border-color var(--transition)}.lblpop-searchwrap:focus-within{border-color:var(--accent)}.lblpop-input{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--text);font-size:13px;font-family:inherit}.lblpop-input.bare{height:34px;padding:0 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;box-sizing:border-box;width:100%}.lblpop-input.bare:focus{border-color:var(--accent)}.lblpop-clear{display:inline-flex;border:none;background:none;color:var(--text-muted);cursor:pointer;padding:2px}.lblpop-clear:hover{color:var(--text)}.lblpop-list{display:flex;flex-direction:column;gap:4px;max-height:252px;overflow-y:auto;margin:10px 0 6px}.lblpop-row{display:flex;align-items:center;gap:4px}.lblpop-bar{flex:1;min-width:0;height:34px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px;border:none;border-radius:7px;cursor:pointer;font-size:13px;font-weight:600;font-family:inherit;box-shadow:inset 0 0 0 1px #00000014;transition:filter var(--transition)}.lblpop-bar:hover{filter:brightness(1.08)}.lblpop-bar.on{box-shadow:inset 0 0 0 1px #00000014,0 0 0 2px var(--accent)}.lblpop-bar-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lblpop-edit{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:30px;height:34px;background:none;border:none;border-radius:7px;color:var(--text-muted);cursor:pointer}.lblpop-edit:hover{background:var(--hover);color:var(--text)}.lblpop-empty{padding:14px 4px;text-align:center;font-size:12px;color:var(--text-muted)}.lblpop-action{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:34px;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:8px;color:var(--text-soft);font-size:12.5px;font-weight:500;font-family:inherit;cursor:pointer;transition:background var(--transition),color var(--transition)}.lblpop-action:hover{background:var(--hover-2);color:var(--text)}.lblpop-previewwrap{display:flex;align-items:center;justify-content:center;padding:14px 0;margin-bottom:4px;background:var(--surface-2);border-radius:8px}.lblpop-field{display:block;margin-top:12px}.lblpop-label{display:block;margin-bottom:6px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.lblpop-palette{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.lblpop-swatch{display:inline-flex;align-items:center;justify-content:center;height:30px;border:none;border-radius:6px;cursor:pointer;box-shadow:inset 0 0 0 1px #00000014;transition:transform var(--transition)}.lblpop-swatch:hover{transform:scale(1.06)}.lblpop-swatch.on{box-shadow:inset 0 0 0 1px #00000014,0 0 0 2px var(--accent)}.lblpop-foot{display:flex;align-items:center;gap:8px;margin-top:16px}.lblpop-foot .btn{flex:1}.lblpop-del{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 10px;background:none;border:1px solid transparent;border-radius:7px;color:var(--text-muted);font-size:12.5px;font-family:inherit;cursor:pointer}.lblpop-del:hover{background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}.lblpop-del.confirm{background:color-mix(in srgb,var(--danger) 14%,transparent);border-color:color-mix(in srgb,var(--danger) 40%,transparent);color:var(--danger);font-weight:600}.lblmgr-list{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.lblmgr-row{display:flex;align-items:center;gap:6px;padding:3px;border-radius:8px}.lblmgr-row:hover{background:var(--hover)}.lblmgr-chip{flex:1;max-width:none;justify-content:flex-start}.lblmgr-editor{padding:12px;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:10px}.lblmgr-editor .lblpop-head{padding-top:0}.lbled-form{display:block}.lbled-error{margin-top:12px;padding:7px 10px;background:color-mix(in srgb,var(--danger) 10%,transparent);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);border-radius:7px;font-size:12px;color:var(--danger)}.tie-btn{display:inline-flex;align-items:center;gap:4px;max-width:100%;min-width:0;border:1px solid transparent;border-radius:7px;background:none;color:var(--text-muted);font-family:inherit;font-weight:500;cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition)}.tie-btn--xs{height:20px;padding:0 4px;font-size:11px}.tie-btn--sm{height:26px;padding:0 6px;margin:0 -6px;font-size:12px}.tie-btn--md{min-height:30px;padding:2px 8px;margin:0 -8px;font-size:13px;gap:7px}.tie-plus-ico{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;border-radius:5px;background:var(--surface-2);color:var(--text-faint);transition:background var(--transition),color var(--transition)}.tie-btn:hover .tie-plus-ico{background:var(--surface-3);color:var(--text-soft)}.tie-btn:hover{background:var(--hover-2);color:var(--text)}.tie-btn--wide{height:auto;padding:1px 4px;align-items:flex-start;flex-wrap:wrap}.tie-btn--empty{border-style:dashed;border-color:var(--border);color:var(--text-faint);margin:0}.tie-btn--empty:hover{border-color:var(--accent);border-style:solid;color:var(--text-soft)}.tie-anchor{display:inline-flex;min-width:0}.tie-pop{width:260px;max-width:86vw;padding:12px}.tie-pop--date{width:276px}.tie-pop-hd{padding:0 0 8px;text-align:center;font-size:12.5px;font-weight:600;color:var(--text-soft)}.tie-searchwrap{display:flex;align-items:center;gap:7px;height:32px;padding:0 9px;margin-bottom:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text-muted)}.tie-searchwrap:focus-within{border-color:var(--accent)}.tie-search{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--text);font-family:inherit;font-size:13px}.tie-list{display:flex;flex-direction:column;gap:2px}.tie-list--scroll{max-height:248px;overflow-y:auto}.tie-opt{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;justify-items:center;gap:9px;height:34px;padding:0 8px;border:none;border-radius:7px;background:none;color:var(--text-soft);font-family:inherit;font-size:13px;text-align:left;cursor:pointer;transition:background var(--transition),color var(--transition)}.tie-opt:hover{background:var(--hover-2);color:var(--text)}.tie-opt.on{background:var(--accent-soft);color:var(--text);font-weight:500}.tie-opt.on>svg:last-child{color:var(--accent)}.tie-opt-label{justify-self:stretch;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tie-empty{padding:14px 4px;text-align:center;font-size:12px;color:var(--text-muted)}.tie-presets{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:10px}.tie-preset{height:28px;padding:0 6px;border:1px solid var(--border-soft);border-radius:7px;background:var(--surface-2);color:var(--text-soft);font-family:inherit;font-size:11.5px;font-weight:500;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background var(--transition),color var(--transition),border-color var(--transition)}.tie-preset:hover{background:var(--hover-2);color:var(--text)}.tie-preset.on{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.tie-clear{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;height:30px;margin-top:10px;border:1px solid var(--border-soft);border-radius:7px;background:none;color:var(--text-muted);font-family:inherit;font-size:12px;cursor:pointer}.tie-clear:hover:not(:disabled){background:var(--hover-2);color:var(--text)}.tie-clear:disabled{opacity:.4;cursor:default}.draft-files{display:flex;flex-direction:column;gap:6px}.draft-files-list{display:flex;flex-wrap:wrap;gap:6px}.draft-file{position:relative;height:56px;border-radius:7px;border:1px solid var(--border);background:var(--surface-3);overflow:hidden;flex-shrink:0}.draft-file.is-image{width:72px}.draft-file.is-image img{width:100%;height:100%;object-fit:cover;display:block}.draft-file.is-doc{max-width:160px;display:flex;align-items:center;gap:5px;padding:0 22px 0 8px;color:var(--text-muted);font-size:11.5px}.draft-file-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-soft)}.draft-file-cover{position:absolute;left:3px;bottom:3px;padding:0 4px;border-radius:3px;background:#0000009e;color:#fff;font-size:9.5px;font-weight:600;line-height:14px;letter-spacing:.02em;pointer-events:none}.draft-file-remove{position:absolute;top:3px;right:3px;width:16px;height:16px;border-radius:50%;border:0;padding:0;display:flex;align-items:center;justify-content:center;background:#0000009e;color:#fff;cursor:pointer;opacity:0;transition:opacity .12s}.draft-file:hover .draft-file-remove,.draft-file-remove:focus-visible{opacity:1}@media(hover:none){.draft-file-remove{opacity:1}}.draft-files.is-compact .draft-file{height:44px}.draft-files.is-compact .draft-file.is-image{width:56px}.draft-files-notice{font-size:11.5px;color:var(--danger)}.is-file-dragover{outline:2px dashed var(--accent);outline-offset:-2px}.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ct-trigger{display:flex;align-items:center;gap:6px;width:100%;min-height:36px;padding:5px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:inherit;font-size:13px;text-align:left;cursor:pointer;transition:border-color var(--transition)}.ct-trigger:hover{border-color:var(--border-strong)}.ct-trigger.is-empty{color:var(--text-muted)}@media(max-width:560px){.ct-row{grid-template-columns:1fr}}.ct-ft{align-items:center}.ct-ft-attach,.ct-ft-error{margin-right:auto}.ct-ft-error{color:var(--danger);font-size:12.5px;line-height:1.4;overflow-wrap:anywhere}.cr-body{padding:16px 20px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}.cr-when{display:grid;grid-template-columns:1fr 140px;gap:10px}@media(max-width:480px){.cr-when{grid-template-columns:1fr}}.cr-presets{display:flex;flex-wrap:wrap;gap:6px}.cr-chip{padding:6px 11px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-soft);font-size:12.5px;cursor:pointer}.cr-chip:hover{color:var(--text);border-color:var(--border-strong)}.cr-chip.on{background:var(--accent-soft);border-color:transparent;color:var(--accent);font-weight:600}.cr-custom{display:flex;align-items:center;gap:8px;margin-top:8px}.cr-custom input[type=number]{width:84px}.cr-custom-tail{font-size:12.5px;color:var(--text-muted)}.cr-hint{display:block;margin-top:6px;font-size:11.5px;color:var(--text-muted)}.cr-target{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:11.5px;color:var(--text-muted)}.cr-error{font-size:12.5px;color:var(--danger)}.hub-stage{position:relative;display:flex;flex-direction:column;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;color:var(--text);font-family:var(--font-sans);background:radial-gradient(900px 520px at 12% -8%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 62%),radial-gradient(760px 520px at 100% 0%,color-mix(in srgb,var(--accent-2) 5%,transparent),transparent 60%),var(--bg)}.hub-stage:before{content:"";position:absolute;inset:0 0 auto;height:560px;background-image:linear-gradient(color-mix(in srgb,var(--text) 3.5%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--text) 3.5%,transparent) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 70% 90% at 30% 0%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 90% at 30% 0%,#000 20%,transparent 75%);pointer-events:none}.hub-top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:20px;flex-shrink:0;height:56px;padding:0 28px;border-bottom:1px solid var(--border-soft);background:color-mix(in srgb,var(--topbar-bg, var(--bg)) 82%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hub-top-spacer{flex:1}.hub-body{position:relative;z-index:1;width:100%;max-width:1240px;margin:0 auto;padding:30px 28px 40px;flex:1}.hub-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.hub-date{font-size:12px;font-weight:500;color:var(--text-muted);margin-bottom:6px}.hub-date:first-letter,.hub-later-when:first-letter{text-transform:uppercase}.hub-hero h1{margin:0;font-size:30px;font-weight:650;letter-spacing:-.025em;line-height:1.15}.hub-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;min-height:28px}.hub-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-soft);font-size:12.5px;font-weight:500;white-space:nowrap;transition:border-color var(--transition),background var(--transition)}.hub-chip b{font-weight:700;font-variant-numeric:tabular-nums}button.hub-chip:hover{background:var(--surface-2)}.hub-chip.tone-danger{color:var(--danger);border-color:var(--danger-border);background:var(--danger-soft)}.hub-chip.tone-warn{color:var(--warning);border-color:var(--warning-border);background:var(--warning-soft)}.hub-chip.tone-accent{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent);background:var(--accent-soft)}.hub-chip.tone-calm{color:var(--success);border-color:color-mix(in srgb,var(--success) 30%,transparent);background:var(--success-soft)}.hub-hero-actions{display:flex;gap:8px;flex-shrink:0}.hub-hero-actions .btn{height:34px;padding:0 14px;font-size:13px}.hub-menu-label{padding:6px 10px 4px;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.hub-menu-ws{display:inline-flex;align-items:center;gap:8px;min-width:0}.hub-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.hub-col{display:flex;flex-direction:column;gap:20px;min-width:0}.hub-panel{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);overflow:hidden;scroll-margin-top:72px}.hub-panel-hd{display:flex;align-items:center;gap:8px;padding:13px 16px 11px}.hub-panel-hd h2{margin:0;font-size:13.5px;font-weight:650;letter-spacing:-.005em}.hub-panel-ico{display:inline-flex;color:var(--text-muted)}.hub-panel-spacer{flex:1}.hub-panel-ft{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;border:0;border-top:1px solid var(--border-soft);background:transparent;color:var(--text-muted);font-size:12px}.hub-panel-ft:hover{color:var(--text);background:var(--hover)}.hub-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;border-radius:9px;background:var(--surface-2);color:var(--text-soft);font-size:10.5px;font-weight:650;font-variant-numeric:tabular-nums}.hub-count--accent{background:var(--accent-fill);color:var(--accent-on-fill)}.hub-link{display:inline-flex;align-items:center;gap:4px;padding:2px 4px;border:0;background:transparent;color:var(--accent);font-size:12px;font-weight:500}.hub-link:hover{text-decoration:underline}.hub-link:disabled{opacity:.5}.hub-link .flip{transform:rotate(180deg)}.hub-muted{color:var(--text-muted);font-size:11.5px}.hub-sublabel{padding:0 16px 6px;font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint)}.hub-ws-mark{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;color:#fff;font-weight:700;letter-spacing:-.01em;line-height:1;text-transform:uppercase}.hub-ws-mark img{width:100%;height:100%;object-fit:cover}.hub-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:26px 20px 28px;color:var(--text-muted);font-size:12.5px;text-align:center}.hub-empty b{color:var(--text);font-size:13.5px;font-weight:600}.hub-empty--tall{padding:40px 20px 44px}.hub-empty--inline{padding:4px 16px 14px;align-items:flex-start}.hub-empty-ico{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--success-soft);color:var(--success)}.hub-rows-sk{display:flex;flex-direction:column;gap:8px;padding:6px 16px 16px}.hub-row-sk{display:block;height:38px;border-radius:8px}.hub-tabs{padding:0 16px 10px}.hub-tabs .tabs{width:max-content}.hub-tab-n{min-width:16px;padding:0 5px;border-radius:8px;background:var(--surface-3);color:var(--text-soft);font-size:10px;font-weight:650;line-height:16px;text-align:center;font-variant-numeric:tabular-nums}.hub-tabs .is-hot .hub-tab-n{background:var(--danger-soft);color:var(--danger)}.hub-task-list{border-top:1px solid var(--border-soft)}.hub-task{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 16px;border-bottom:1px solid var(--border-soft);outline:none;transition:background var(--transition)}.hub-task:last-child{border-bottom:0}.hub-task:hover,.hub-task:focus-visible{background:var(--hover)}.hub-task:focus-visible{box-shadow:inset 2px 0 0 var(--accent)}.hub-check{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin:-2px;padding:0;border:0;background:transparent}.hub-check-box{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--border-strong);color:transparent;transition:border-color var(--transition),background var(--transition),color var(--transition)}.hub-check:not(:disabled):hover .hub-check-box{border-color:var(--success);color:var(--success)}.hub-check:disabled:not(.on) .hub-check-box{border-style:dashed;opacity:.6}.hub-check.on .hub-check-box{border-color:var(--success);background:var(--success);color:#fff;animation:hub-pop .22s ease-out}@media(pointer:coarse){.hub-check{min-width:var(--tap);min-height:var(--tap);margin:-10px -8px -10px -12px}.hub-chip{min-height:0;height:32px}}@keyframes hub-pop{0%{transform:scale(.7)}70%{transform:scale(1.12)}to{transform:scale(1)}}.hub-task-main{display:flex;flex-direction:column;gap:3px;min-width:0}.hub-task-line{display:flex;align-items:center;gap:7px;min-width:0}.hub-task-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500}.hub-task.is-closed .hub-task-title{color:var(--text-muted);text-decoration:line-through}.hub-task-meta{display:flex;align-items:center;gap:10px;min-width:0;color:var(--text-muted);font-size:11.5px}.hub-task-id{flex-shrink:0;font-family:var(--font-mono);font-size:11px;color:var(--text-faint)}.hub-task-where{display:inline-flex;align-items:center;gap:6px;min-width:0}.hub-task-project{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-task-sub{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;font-variant-numeric:tabular-nums}.hub-task-end{display:flex;align-items:center;justify-content:flex-end}.hub-undo{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 10px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:11.5px;font-weight:500}.hub-undo:hover{background:var(--surface-3)}.hub-list-ft{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;padding:9px 12px 11px;border-top:1px solid var(--border-soft)}.hub-deadlines{display:flex;align-items:center;gap:8px;width:calc(100% - 24px);margin:0 12px 8px;padding:8px 10px;border:1px solid var(--warning-border);border-radius:var(--radius-md);background:var(--warning-soft);color:var(--warning);font-size:12.5px;font-weight:500;text-align:left}.hub-deadlines span{flex:1}.hub-deadlines:hover{filter:brightness(1.08)}.hub-timeline{position:relative;margin:0;padding:2px 0 10px;list-style:none}.hub-timeline:before{content:"";position:absolute;left:68px;top:14px;bottom:18px;width:1px;background:var(--border)}.hub-event{position:relative;display:grid;grid-template-columns:42px 12px minmax(0,1fr);gap:8px;align-items:start;width:100%;padding:7px 12px;border:0;background:transparent;color:inherit;text-align:left}.hub-event:hover{background:var(--hover)}.hub-event-time{padding-top:1px;font-family:var(--font-mono);font-size:11.5px;color:var(--text-soft);font-variant-numeric:tabular-nums}.hub-event-dot{justify-self:center;width:9px;height:9px;margin-top:4px;border-radius:50%;box-shadow:0 0 0 3px var(--surface)}.hub-event-body{display:flex;flex-direction:column;gap:3px;min-width:0}.hub-event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500}.hub-event-meta{display:flex;align-items:center;gap:6px;min-width:0;color:var(--text-muted);font-size:11px}.hub-event-sent{display:inline-flex;color:var(--success)}.hub-event.is-past{opacity:.55}.hub-event.is-past .hub-event-dot{filter:grayscale(.7)}.hub-now{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;align-items:center;padding:2px 12px}.hub-now-time{font-family:var(--font-mono);font-size:10.5px;font-weight:600;color:var(--accent)}.hub-now-line{position:relative;height:1.5px;border-radius:1px;background:var(--accent)}.hub-now-line:before{content:"";position:absolute;left:2px;top:50%;width:8px;height:8px;border-radius:50%;background:var(--accent);transform:translateY(-50%);box-shadow:0 0 0 3px var(--accent-soft)}.hub-later{padding:10px 0 8px;border-top:1px solid var(--border-soft)}.hub-later-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;padding:6px 16px;border:0;background:transparent;color:inherit;text-align:left;font-size:12.5px}.hub-later-row:hover{background:var(--hover)}.hub-later-when{color:var(--text-muted);font-size:11.5px;font-variant-numeric:tabular-nums}.hub-later-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-feed{border-top:1px solid var(--border-soft)}.hub-feed-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:10px;align-items:start;width:100%;padding:10px 16px;border:0;border-bottom:1px solid var(--border-soft);background:transparent;color:inherit;text-align:left}.hub-feed-row:last-child{border-bottom:0}.hub-feed-row:hover{background:var(--hover)}.hub-feed-ico{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:var(--surface-2);color:var(--text-muted)}.hub-feed-ico.kind-mention{background:var(--accent-soft);color:var(--accent)}.hub-feed-ico.kind-task{background:color-mix(in srgb,var(--cat-violet) 14%,transparent);color:var(--cat-violet)}.hub-feed-ico.kind-review{background:var(--warning-soft);color:var(--accent-2)}.hub-feed-ico.kind-calendar{background:color-mix(in srgb,var(--cat-emerald) 13%,transparent);color:var(--cat-emerald)}.hub-feed-ico.kind-channel{background:color-mix(in srgb,var(--cat-sky) 14%,transparent);color:var(--cat-sky)}.hub-feed-body{display:flex;flex-direction:column;gap:3px;min-width:0}.hub-feed-text{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;line-height:1.4;color:var(--text-soft)}.hub-feed-text strong{color:var(--text);font-weight:600}.hub-feed-sub{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;color:var(--text-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.hub-feed-sub:empty{display:none}.hub-feed-end{padding-top:2px;white-space:nowrap}.hub-section-hd{display:flex;align-items:center;gap:8px;margin:4px 2px 12px}.hub-section-hd h2{margin:0;font-size:13.5px;font-weight:650}.hub-space-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:14px}.hub-space{--ws: var(--accent);position:relative;display:flex;flex-direction:column;gap:12px;min-width:0;padding:16px;overflow:hidden;border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface);color:inherit;text-align:left;transition:border-color var(--transition),transform var(--transition),box-shadow var(--transition)}.hub-space:hover,.hub-space:focus-visible{border-color:color-mix(in srgb,var(--ws) 45%,var(--border));box-shadow:var(--shadow-md);transform:translateY(-1px);outline:none}.hub-space-glow{position:absolute;top:-70px;right:-70px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--ws) 22%,transparent),transparent 70%);pointer-events:none;transition:opacity var(--transition);opacity:.7}.hub-space:hover .hub-space-glow{opacity:1}.hub-space-hd{position:relative;display:flex;align-items:center;gap:12px;min-width:0}.hub-space-name{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.hub-space-name .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:650;letter-spacing:-.01em}.hub-space-name .slug{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.hub-space-tags{position:relative;display:flex;flex-wrap:wrap;gap:6px}.hub-tag{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 8px;border-radius:10px;background:var(--surface-2);color:var(--text-soft);font-size:11px;font-weight:500}.hub-tag i{width:7px;height:7px;border-radius:50%}.hub-tag.is-paid{background:var(--accent-soft);color:var(--accent)}.hub-space-work{position:relative;display:flex;flex-wrap:wrap;gap:4px 12px;min-height:18px;font-size:12.5px}.hub-space-work .is-strong{font-weight:600}.hub-space-work .is-danger{color:var(--danger)}.hub-space-work .is-warn{color:var(--warning)}.hub-space-ft{position:relative;display:flex;align-items:center;gap:8px;min-width:0;margin-top:auto;padding-top:12px;border-top:1px solid var(--border-soft)}.hub-avatars{display:inline-flex;flex-shrink:0;padding-left:6px}.hub-avatars .av{margin-left:-6px;box-shadow:0 0 0 2px var(--surface)}.hub-space-people{display:inline-flex;align-items:center;gap:5px;min-width:0;overflow:hidden;color:var(--text-muted);font-size:11.5px;white-space:nowrap}.hub-space-people .sep{color:var(--text-faint)}.hub-online-dot{width:7px;height:7px;border-radius:50%;background:var(--st-online)}.hub-space-cta{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;margin-left:auto;color:var(--accent);font-size:12px;font-weight:600;opacity:0;transform:translate(-4px);transition:opacity var(--transition),transform var(--transition)}.hub-space:hover .hub-space-cta,.hub-space:focus-visible .hub-space-cta{opacity:1;transform:none}.hub-space--new{align-items:center;justify-content:center;gap:6px;min-height:190px;border-style:dashed;border-color:var(--border);background:transparent;text-align:center}.hub-space--new:hover{background:var(--surface);border-color:var(--accent)}.hub-space-new-ico{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin-bottom:4px;border-radius:12px;background:var(--accent-soft);color:var(--accent)}.hub-space-new-title{font-size:13.5px;font-weight:600}.hub-space--new .hub-muted{max-width:220px;line-height:1.45}.hub-proj-list{padding:0 6px 8px}.hub-proj{display:grid;grid-template-columns:26px minmax(0,1fr) auto auto;gap:10px;align-items:center;width:100%;padding:6px 10px;border:0;border-radius:var(--radius-md);background:transparent;color:inherit;text-align:left}.hub-proj:hover{background:var(--hover)}.hub-proj-ico{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;font-size:13px}.hub-proj-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500}.hub-proj-n{min-width:22px;color:var(--text-muted);font-size:11.5px;text-align:right;font-variant-numeric:tabular-nums}.hub-welcome{display:flex;flex-direction:column;align-items:center;max-width:520px;margin:6vh auto 0;padding:40px 36px 32px;border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-lg);text-align:center}.hub-welcome-mark{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;margin-bottom:18px;border-radius:15px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--accent-ink);font-size:22px;font-weight:800;box-shadow:0 10px 30px var(--accent-glow)}.hub-welcome h1{margin:0 0 10px;font-size:24px;font-weight:650;letter-spacing:-.02em}.hub-welcome p{margin:0 0 22px;color:var(--text-soft);font-size:13.5px;line-height:1.55}.hub-welcome-cta{height:38px;padding:0 18px;font-size:13.5px}.hub-join{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:26px;padding-top:20px;border-top:1px solid var(--border-soft);text-align:left}.hub-join label{color:var(--text-muted);font-size:12px;font-weight:500}.hub-join-row{display:flex;gap:8px}.hub-join-row input{flex:1;min-width:0;height:34px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-soft);color:var(--text);font-size:13px;outline:none}.hub-join-row input:focus{border-color:var(--accent)}.hub-join-row .btn{height:34px}.hub-join-err{color:var(--danger);font-size:12px}.hub-footer{display:flex;justify-content:center;gap:18px;margin-top:36px;color:var(--text-faint);font-size:11.5px}.hub-footer a:hover{color:var(--text-soft)}@media(max-width:1080px){.hub-grid{grid-template-columns:minmax(0,1fr)}.hub-col{display:contents}.hub-tasks{order:1}.hub-agenda{order:2}.hub-waiting{order:3}.hub-spaces{order:4}.hub-starred{order:5}}@media(max-width:720px){.hub-top{padding:0 16px}.hub-body{padding:20px 16px 28px}.hub-hero{flex-direction:column;align-items:stretch;margin-bottom:18px}.hub-hero h1{font-size:24px}.hub-hero-actions .btn{flex:1;justify-content:center}.hub-grid{gap:16px}.hub-space-grid{grid-template-columns:minmax(0,1fr)}.hub-space-cta{opacity:1;transform:none}.hub-task{padding:11px 14px}.hub-task-title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.hub-welcome{margin-top:2vh;padding:32px 20px 24px}}@media(prefers-reduced-motion:reduce){.hub-space,.hub-space-cta,.hub-check.on .hub-check-box{transition:none;animation:none;transform:none}}.task-list{height:100%;overflow-y:auto;padding:0 24px 24px}.tl-headrow,.tl-row{display:grid;grid-template-columns:minmax(0,1fr) 84px minmax(110px,230px) 118px 108px;gap:12px;align-items:center;padding:8px 12px;font-size:12.5px}.tl-headrow{position:sticky;top:0;z-index:3;height:var(--tl-head-h);box-sizing:border-box;color:var(--text-muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;font-weight:600;border-bottom:1px solid var(--border);background:var(--canvas-bg);padding-top:0;padding-bottom:0}.task-list{--tl-head-h: 34px}.tl-toolbar{padding:4px 0 8px}.tl-group{margin-top:10px}.tl-group-hd{position:sticky;top:var(--tl-head-h);z-index:2;display:flex;align-items:center;gap:8px;padding:8px 12px 6px;background:var(--canvas-bg);border-bottom:1px solid var(--border-soft)}.tl-group-name{font-weight:600;font-size:12.5px}.tl-group-count{font-size:11px;font-variant-numeric:tabular-nums;color:var(--text-muted)}.tl-row{border-bottom:1px solid var(--border-soft);cursor:pointer}.tl-row:hover{background:var(--hover)}.tl-c{min-width:0}.tl-c.title{display:flex;align-items:center;gap:8px;color:var(--text);font-weight:500}.tl-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-c.asn{display:flex;justify-content:flex-end}.month-cal{height:100%;padding:0 24px 24px;display:flex;flex-direction:column;min-height:0}.mc-toolbar{display:flex;align-items:center;gap:4px;padding:4px 0 10px}.mc-month{min-width:150px;font-size:14px;font-weight:600;text-transform:capitalize}.mc-today{height:28px;padding:0 12px;margin-left:6px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-soft);font-family:inherit;font-size:12px;cursor:pointer}.mc-today:hover{border-color:var(--border-strong);color:var(--text)}.mc-undated{margin-left:auto;font-size:12px;color:var(--text-muted)}.mc-hd{display:grid;grid-template-columns:repeat(7,1fr);font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);padding:8px 0}.mc-hd>div{padding:0 8px}.mc-hd>div.is-weekend{color:var(--text-faint)}.mc-grid{flex:1;display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:1fr;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:8px;overflow:hidden}.mc-cell{background:var(--surface);padding:6px 8px;display:flex;flex-direction:column;gap:3px;min-height:90px;overflow:hidden}.mc-cell.out{background:var(--bg-soft)}.mc-cell.out .mc-day{color:var(--text-faint)}.mc-cell.today{background:var(--accent-soft)}.mc-day{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.mc-cell.today .mc-day{color:var(--accent);font-weight:700}.mc-cell{overflow-y:auto;scrollbar-width:thin}.mc-cell.is-over{outline:2px solid var(--accent);outline-offset:-2px}.mc-event{display:flex;align-items:center;gap:5px;width:100%;flex-shrink:0;padding:3px 6px;background:var(--surface-2);border:none;border-left:3px solid var(--border-strong);border-radius:4px;color:var(--text-soft);font-family:inherit;font-size:10.5px;line-height:1.35;text-align:left;cursor:pointer;transition:background var(--transition)}.mc-event:hover{background:var(--surface-3);color:var(--text)}.mc-event-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-more{align-self:flex-start;flex-shrink:0;padding:2px 4px;border:none;border-radius:4px;background:none;color:var(--text-muted);font-family:inherit;font-size:10.5px;cursor:pointer}.mc-more:hover{background:var(--hover-2);color:var(--text)}.checklist-view{height:100%;overflow-y:auto;padding:4px 24px 24px}.cl-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:4px 0 12px}.cl-filter{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-muted);font-family:inherit;font-size:12px;cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition)}.cl-filter:hover{color:var(--text);border-color:var(--border-strong)}.cl-filter.on{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.cl-summary{margin-left:auto;font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.cl-note{display:flex;align-items:center;gap:7px;margin-bottom:12px;padding:9px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text-muted);font-size:12px}.cl-card{margin-bottom:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden}.cl-hd{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--border-soft)}.cl-avatar-empty{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;border:1px dashed var(--border-strong);border-radius:50%;color:var(--text-faint)}.cl-who{flex:1;min-width:0}.cl-name{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cl-title{font-size:11px;color:var(--text-muted)}.cl-progress{display:flex;align-items:center;gap:8px;width:140px;flex-shrink:0}.cl-progress .progress{flex:1}.cl-count{font-size:11px;font-variant-numeric:tabular-nums;color:var(--text-muted)}.cl-list{display:flex;flex-direction:column}.cl-row{display:flex;align-items:center;gap:9px;padding:4px 14px 4px 10px;border-bottom:1px solid var(--border-soft)}.cl-row:last-child{border-bottom:0}.cl-row:hover{background:var(--hover)}.cl-check{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border:none;border-radius:7px;background:none;cursor:pointer}.cl-check:hover:not(:disabled) .check-box{border-color:var(--accent)}.cl-check:disabled{cursor:default;opacity:.45}.cl-rowtitle{flex:1;min-width:0;padding:6px 0;border:none;background:none;color:var(--text);font-family:inherit;font-size:13px;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cl-rowtitle:hover{color:var(--accent)}.cl-row.is-done .cl-rowtitle{color:var(--text-muted);text-decoration:line-through}.cl-labels{flex-shrink:0}@media(max-width:768px){.task-list,.month-cal,.checklist-view{padding-left:14px;padding-right:14px}.cl-progress .progress{display:none}.cl-progress{width:auto}.cl-row{padding-right:10px}.tl-headrow,.tl-row{grid-template-columns:minmax(0,1fr) auto auto auto;gap:10px;padding:8px 6px}.tl-headrow>div:nth-child(3),.tl-row>.tl-c:nth-child(3){display:none}.mc-toolbar{flex-wrap:wrap;row-gap:4px}.mc-month{min-width:0}.mc-undated{font-size:11px;white-space:nowrap}.mc-cell{min-height:62px;padding:4px 5px}.mc-hd>div{padding:0 5px}}@media(max-width:480px){.tl-headrow,.tl-row{grid-template-columns:minmax(0,1fr) auto auto}.tl-headrow>div:nth-child(4),.tl-row>.tl-c:nth-child(4){display:none}}.pi-wrap{height:100%;overflow-y:auto;padding:0 24px 28px}.pi-cover{border:1px solid;border-radius:14px;padding:18px 20px;margin-bottom:16px;position:relative;overflow:hidden}.pi-cover:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(45deg,rgba(255,255,255,.012) 0 8px,transparent 8px 18px)}.pi-cover-row{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:flex-start}.pi-icon-tile{width:64px;height:64px;border:1px solid;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);transition:transform var(--transition);font:inherit;cursor:default}.pi-icon-tile:hover{transform:translateY(-1px)}.pi-title-block{min-width:0;display:flex;flex-direction:column;gap:4px;padding-top:2px}.pi-eyebrow{font-size:10px;letter-spacing:.12em;color:var(--text-muted);font-weight:600;font-family:var(--font-mono)}.pi-cover-meta{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.pi-status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:11.5px;font-weight:500;color:var(--text-soft)}.pi-status-dot{width:7px;height:7px;border-radius:50%;box-shadow:0 0 0 3px #ffffff0a}.pi-cover-quick{display:flex;gap:14px;font-size:11.5px;color:var(--text-muted)}.pi-cover-quick span{display:inline-flex;align-items:center;gap:5px}.pi-edit-display{position:relative;padding:4px 28px 4px 6px;margin:0 -6px;border-radius:6px;cursor:text;color:var(--text);transition:background var(--transition);font-size:14px;line-height:1.5;word-wrap:break-word}.pi-edit-display.big{font-size:26px;font-weight:650;letter-spacing:-.01em;line-height:1.15}.pi-edit-display:hover{background:var(--hover)}.pi-edit-display .pi-edit-pencil{position:absolute;right:6px;top:50%;transform:translateY(-50%);color:var(--text-faint);opacity:0;display:flex;transition:opacity var(--transition)}.pi-edit-display.multi .pi-edit-pencil{top:8px;transform:none}.pi-edit-display:hover .pi-edit-pencil{opacity:1}.pi-edit-display.multi p{margin:0 0 8px;font-size:13.5px;line-height:1.6;color:var(--text-soft)}.pi-edit-display.multi p:last-child{margin:0}.pi-edit-empty{color:var(--text-faint);font-style:italic;font-weight:400;font-size:13.5px}.pi-edit-input,.pi-edit-area{width:100%;background:var(--surface-2);border:1px solid var(--accent);border-radius:7px;padding:6px 10px;color:var(--text);font:inherit;font-size:14px;outline:0;box-shadow:0 0 0 3px var(--accent-soft)}.pi-edit-input.big{font-size:26px;font-weight:650;letter-spacing:-.01em;line-height:1.2;padding:4px 10px}.pi-edit-area{resize:vertical;min-height:120px;line-height:1.6;font-size:13.5px}.pi-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:flex-start}@media(max-width:1100px){.pi-grid{grid-template-columns:1fr}}@media(max-width:768px){.pi-wrap{padding-left:14px;padding-right:14px}.pi-cover{padding:14px}.pi-cover-row{grid-template-columns:auto 1fr;gap:12px}.pi-cover-meta{grid-column:1 / -1;flex-direction:row;align-items:center;flex-wrap:wrap}.pi-edit-display.big,.pi-edit-input.big{font-size:22px}.pi-card-hd{flex-wrap:wrap;row-gap:8px}.pi-card-hd>.pi-row{width:100%;justify-content:space-between}}.pi-main{display:flex;flex-direction:column;gap:16px;min-width:0}.pi-side{display:flex;flex-direction:column;gap:12px}.pi-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.pi-card-hd{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border-soft);gap:8px}.pi-card-hd.compact{padding:10px 12px}.pi-card-hd h3{margin:0;font-size:12.5px;font-weight:600;display:inline-flex;align-items:center;gap:7px;color:var(--text)}.pi-card-hd h4{margin:0;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);display:inline-flex;align-items:center;gap:7px}.pi-card-hd h3 svg{color:var(--text-muted)}.pi-card .pi-desc{padding:14px}.pi-count{font-size:10.5px;color:var(--text-muted);background:var(--surface-2);padding:1px 6px;border-radius:5px;border:1px solid var(--border-soft);font-weight:500;font-family:var(--font-mono)}.pi-hint{font-size:10.5px;color:var(--text-faint)}.pi-seg{display:inline-flex;gap:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:7px;padding:2px}.pi-seg button{background:transparent;border:0;color:var(--text-muted);font:inherit;font-size:11.5px;font-weight:500;padding:3px 10px;border-radius:5px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all var(--transition)}.pi-seg button:hover{color:var(--text-soft)}.pi-seg button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000002e,inset 0 0 0 1px var(--border)}.pi-seg-count{font-family:var(--font-mono);font-size:10px;background:var(--surface-3);color:var(--text-muted);padding:0 4px;border-radius:3px}.pi-seg button.on .pi-seg-count{background:var(--accent-soft);color:var(--accent)}.pi-drop{display:flex;align-items:center;gap:14px;margin:12px 14px 0;padding:14px 16px;border:1px dashed var(--border-strong);border-radius:10px;background:var(--bg-soft);color:var(--text-muted);transition:all var(--transition);cursor:pointer}.pi-drop.is-over{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.pi-drop svg{flex-shrink:0}.pi-drop-title{font-size:12.5px;font-weight:500;color:var(--text)}.pi-drop.is-over .pi-drop-title{color:var(--accent)}.pi-drop-sub{font-size:11px;color:var(--text-muted);margin-top:2px}.pi-files{padding:12px 14px 14px;display:grid;gap:8px}.pi-file{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:8px;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:9px;transition:border-color var(--transition)}.pi-file:hover{border-color:var(--border)}.pi-file-thumb{width:44px;height:44px;border-radius:8px;display:flex;align-items:center;justify-content:center;position:relative}.pi-file-ext{font-size:10.5px;font-weight:700;letter-spacing:.04em;font-family:var(--font-mono)}.pi-file-pin{position:absolute;top:-4px;right:-4px;width:18px;height:18px;border-radius:50%;background:var(--accent-fill);color:var(--accent-on-fill);display:flex;align-items:center;justify-content:center;border:2px solid var(--surface)}.pi-file-meta{min-width:0}.pi-file-nm{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pi-file-sub{font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:6px;margin-top:3px}.pi-file-sub .mono{font-family:var(--font-mono)}.pi-dot{color:var(--text-faint)}.pi-file-acts{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity var(--transition)}.pi-file:hover .pi-file-acts{opacity:1}.pi-empty{padding:22px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-muted);font-size:12px;border:1px dashed var(--border);border-radius:9px;background:var(--bg-soft)}.pi-empty svg{color:var(--text-faint)}.pi-links{padding:12px 14px 14px;display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.pi-link{display:flex;align-items:center;gap:10px;min-width:0;padding:8px 10px;border-radius:8px;border:1px solid var(--border-soft);background:var(--surface-2);transition:border-color var(--transition)}.pi-link:hover{border-color:var(--border)}.pi-link-favi{width:30px;height:30px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pi-link-body{flex:1;min-width:0}.pi-link-title{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pi-link-url{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-mono)}.pi-link .icon-btn{width:26px;height:26px;flex-shrink:0;opacity:0;transition:opacity var(--transition)}.pi-link:hover .icon-btn{opacity:1}.pi-link-edit{background:var(--bg-soft);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.pi-link-edit .icon-btn,.pi-link-edit .btn{opacity:1}.pi-link-input{flex:1;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:5px 9px;color:var(--text);font:inherit;font-size:12.5px;outline:0}.pi-link-input.mono{font-family:var(--font-mono);font-size:11.5px}.pi-link-input:focus{border-color:var(--accent)}.pi-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;border:1px solid;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;white-space:nowrap}.pi-status-grid{padding:10px;display:grid;grid-template-columns:minmax(0,1fr);gap:5px}.pi-status-btn{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:8px 10px;white-space:nowrap;background:transparent;border:1px solid var(--border);border-radius:7px;color:var(--text-soft);font:inherit;font-size:11.5px;font-weight:500;cursor:pointer;transition:all var(--transition)}.pi-status-btn:hover{background:var(--hover);color:var(--text)}.pi-status-btn.on{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.pi-props{padding:6px 10px 10px}.pi-prop{display:flex;align-items:center;justify-content:space-between;padding:7px 4px;font-size:12px;border-bottom:1px solid var(--border-soft)}.pi-prop:last-child{border-bottom:0}.pi-prop-k{color:var(--text-muted);display:inline-flex;align-items:center;gap:6px}.pi-prop-v{color:var(--text);display:inline-flex;align-items:center;gap:6px;font-weight:500;text-align:right}.pi-prop-v.mono{font-family:var(--font-mono)}.pi-budget{padding:12px 14px 14px}.pi-budget-row{display:flex;align-items:baseline;gap:6px}.pi-budget-num{font-size:18px;font-weight:650;color:var(--text);letter-spacing:-.01em;font-family:var(--font-mono)}.pi-budget-of{font-size:11.5px;color:var(--text-muted)}.pi-bar{height:6px;background:var(--surface-3);border-radius:3px;margin:8px 0 6px;overflow:hidden}.pi-bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.pi-budget-foot{font-size:10.5px;color:var(--text-muted);font-family:var(--font-mono)}.pi-tags{padding:10px 12px;display:flex;flex-wrap:wrap;gap:5px;align-items:center}.pi-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 8px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;font-size:11.5px;color:var(--text-soft);font-family:var(--font-mono)}.pi-tag-x{background:transparent;border:0;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;color:var(--text-faint);cursor:pointer}.pi-tag-x:hover{background:var(--hover);color:var(--text)}.pi-tag-input{background:transparent;border:1px dashed var(--border);border-radius:6px;padding:3px 8px;color:var(--text-soft);font:inherit;font-size:11.5px;outline:0;min-width:80px;width:80px;font-family:var(--font-mono)}.pi-tag-input:focus{border-style:solid;border-color:var(--accent);color:var(--text)}.pi-members{padding:6px 10px 10px;display:flex;flex-direction:column;gap:2px}.pi-member{display:flex;align-items:center;gap:10px;padding:6px 4px;border-radius:7px;transition:background var(--transition)}.pi-member:hover{background:var(--hover)}.pi-member-meta{flex:1;min-width:0}.pi-member-nm{font-size:12.5px;font-weight:500;color:var(--text)}.pi-member-rl{font-size:11px;color:var(--text-muted);margin-top:1px}.pi-team-picker{padding:6px 10px 4px;display:flex;flex-direction:column;gap:6px}.pi-team-picker-list{max-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.pi-team-pick-row{display:flex;align-items:center;gap:8px;padding:5px 8px;border:0;background:transparent;color:var(--text);font:inherit;font-size:12.5px;cursor:pointer;border-radius:6px;text-align:left}.pi-team-pick-row:hover{background:var(--hover)}.pi-team-pick-nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pi-team-pick-sub{font-size:11px;color:var(--text-muted)}.pi-team-pick-empty{padding:8px;font-size:12px;color:var(--text-muted)}.pi-team-roles{padding:6px 10px 0;display:flex;flex-wrap:wrap;gap:6px}.pi-team-role-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px 3px 6px;border:1px solid;border-radius:999px;font-size:11.5px;font-weight:500;background:var(--surface-2)}.pi-team-role-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.pi-team-role-x{margin-left:2px;border:0;background:transparent;color:inherit;cursor:pointer;opacity:.55;padding:0;display:inline-flex;align-items:center;transition:opacity var(--transition)}.pi-team-role-x:hover{opacity:1}.pi-danger .pi-card-hd h4{color:var(--priority-urgent)}.pi-danger-body{padding:8px 10px 10px;display:flex;flex-direction:column;gap:4px}.pi-danger-btn{display:flex;align-items:center;gap:8px;padding:7px 10px;background:transparent;border:1px solid var(--border);border-radius:7px;color:var(--text-soft);font:inherit;font-size:12px;cursor:pointer;transition:all var(--transition)}.pi-danger-btn:hover{background:var(--hover);color:var(--text)}.pi-danger-btn.delete{color:var(--priority-urgent);border-color:color-mix(in srgb,var(--danger) 25%,transparent)}.pi-danger-btn.delete:hover{background:color-mix(in srgb,var(--danger) 10%,transparent);border-color:var(--priority-urgent)}.pi-row{display:flex;align-items:center;gap:6px}.tf-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 0}.tf-search{display:flex;align-items:center;gap:4px;flex:0 1 260px;min-width:150px;padding:4px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:7px}.tf-search input{flex:1;min-width:0;background:transparent;border:0;outline:none;color:var(--text);font-size:13px}.tf-count{margin-left:auto;font-size:11px;font-variant-numeric:tabular-nums;color:var(--text-muted)}@media(pointer:coarse){.tf-bar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:4px 0;gap:6px}.tf-bar::-webkit-scrollbar{display:none}.tf-bar{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent 100%);mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent 100%)}.tf-bar>*{flex-shrink:0}.tf-search{flex:1 1 140px;min-width:120px;max-width:none}.tf-search input{font-size:16px}.tf-count{margin-left:4px;padding-right:4px}}.tf-pop-body{padding:6px;min-width:200px;max-height:min(280px,60dvh);overflow-y:auto}.popover-sheet .tf-pop-body{min-width:0;max-height:70dvh;padding:4px 10px calc(8px + env(safe-area-inset-bottom))}.kanban{height:100%;display:flex;gap:14px;padding:4px 24px 24px;overflow-x:auto;overflow-y:hidden;align-items:stretch}.kanban-toolbar{display:flex;align-items:center;gap:12px;padding:4px 24px 0}.kanban-toolbar-filters{flex:1 1 240px;min-width:0}.kanban-toolbar>.btn{flex-shrink:0;white-space:nowrap}.kanban-col{width:290px;flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;transition:border-color var(--transition),background var(--transition);max-height:100%}.kanban-col.is-over{border-color:var(--border-strong)}.kanban-col-hd{display:flex;justify-content:space-between;align-items:center;padding:12px 12px 8px;border-bottom:1px solid var(--border-soft)}.col-name{font-size:12.5px;font-weight:600}.col-count{font-size:11px;color:var(--text-muted)}.kanban-col-body{padding:8px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex:1}.add-card-btn{display:flex;align-items:center;justify-content:center;gap:6px;border:1px dashed var(--border-strong);background:transparent;color:var(--text-muted);padding:8px;border-radius:8px;font-size:12px;cursor:default}.add-card-btn:hover{color:var(--text);background:var(--hover)}.quick-add{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:9px;padding:8px;display:flex;flex-direction:column;gap:6px}.quick-add textarea{width:100%;border:0;resize:none;outline:none;background:transparent;color:var(--text);font:inherit;font-size:13px;line-height:1.35}.quick-add-actions{display:flex;align-items:center;gap:6px}.kanban-toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:9px;background:var(--danger-strong);color:#fff;font-size:12.5px;box-shadow:var(--shadow-lg, 0 8px 24px rgba(0, 0, 0, .35));animation:kanban-toast-in .16s ease-out}.kanban-toast button{display:flex;align-items:center;border:0;background:transparent;color:inherit;opacity:.8;cursor:pointer;padding:0}.kanban-toast button:hover{opacity:1}@keyframes kanban-toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.kanban-col--add{background:transparent;border:none;min-width:200px}.add-col-btn{display:flex;align-items:center;gap:6px;width:100%;padding:10px 12px;border:1px dashed var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface) 50%,transparent);color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s}.add-col-btn:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.add-col-btn:disabled{opacity:.5;cursor:not-allowed}.kanban-col-name-input{flex:1;min-width:0;background:var(--surface-2, var(--bg));border:1px solid var(--accent);border-radius:6px;color:var(--text);font:inherit;font-weight:600;padding:3px 7px}.kanban-col-menu{position:absolute;top:26px;right:0;z-index:40;width:180px;background:var(--surface-2, var(--surface));border:1px solid var(--border);border-radius:10px;padding:6px;box-shadow:0 12px 32px #0006;display:flex;flex-direction:column;gap:2px}.kanban-col-menu>button{text-align:left;background:none;border:none;color:var(--text);font-size:13px;padding:7px 9px;border-radius:6px;cursor:pointer}.kanban-col-menu>button:hover:not(:disabled){background:var(--surface-hover, rgba(255, 255, 255, .06))}.kanban-col-menu>button:disabled{opacity:.4;cursor:not-allowed}.kanban-col-menu>button.danger{color:var(--priority-urgent, var(--danger))}.kanban-col-menu-colors{display:flex;flex-wrap:wrap;gap:6px;padding:7px 9px}.color-swatch{width:18px;height:18px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.color-swatch.active{border-color:var(--text)}.kanban-menu-backdrop{position:fixed;inset:0;z-index:30}.arch-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px}.arch-title{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-grip{display:inline-flex;align-items:center;color:var(--text-faint);cursor:grab;margin-right:2px;opacity:0;transition:opacity .15s}.kanban-col-hd:hover .col-grip{opacity:1}.col-grip:active{cursor:grabbing}.kanban-col.col-dragging{opacity:.4}.kanban-col.col-drop-here{box-shadow:inset 3px 0 0 var(--accent)}.kanban.is-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.kanban.is-panning .kanban-col{pointer-events:none}.col-name{cursor:pointer}.col-name:hover{text-decoration:underline;text-decoration-style:dotted}.kanban-col-hd{cursor:grab}.kanban-col-hd:active{cursor:grabbing}.arch-tabs{display:flex;gap:4px;padding:0 20px;border-bottom:1px solid var(--border)}.arch-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:13px;font-weight:600;padding:10px 6px;cursor:pointer}.arch-tab.active{color:var(--text);border-bottom-color:var(--accent)}.arch-rows{display:flex;flex-direction:column;gap:6px}.dnd-wrap.is-dragging{display:none}.dnd-wrap.is-shifted{transform:translateY(var(--drop-h))}.kanban-col-body.is-target .dnd-wrap{transition:transform .16s cubic-bezier(.2,.7,.3,1)}.dnd-wrap.draws-slot:before{content:"";position:absolute;left:0;right:0;bottom:100%;margin-bottom:8px;height:calc(var(--drop-h) - 8px);border:1.5px dashed var(--border-strong);border-radius:10px;background:color-mix(in srgb,var(--accent) 6%,transparent)}.kanban-slot{flex-shrink:0;height:calc(var(--drop-h) - 8px);border:1.5px dashed var(--border-strong);border-radius:10px;background:color-mix(in srgb,var(--accent) 6%,transparent)}.task-card--preview{background:var(--surface-2);opacity:1;border-color:var(--accent);box-shadow:var(--shadow-lg)}@media(prefers-reduced-motion:reduce){.kanban-col-body.is-target .dnd-wrap{transition:none}}@media(max-width:768px){.kanban-toolbar{padding:4px 12px 0;gap:8px}.kanban-toolbar-filters{flex:1 1 auto;min-width:0}.kanban-archive-btn{flex-shrink:0;padding:10px}.kanban-archive-btn>span{display:none}.kanban{padding:4px 12px 16px;gap:10px;scroll-snap-type:x mandatory;scroll-padding-left:12px}.kanban-col{width:min(86vw,320px);scroll-snap-align:start}.kanban-col--add{width:min(70vw,260px)}}.canvas-with-right{display:grid;grid-template-columns:minmax(0,1fr) var(--context-w);grid-template-rows:minmax(0,1fr);min-height:0;height:100%;overflow:hidden}.canvas-with-right.no-right{grid-template-columns:1fr}.chat-wrap{width:100%;height:100%;display:grid;grid-template-rows:auto 1fr auto;background:var(--canvas-bg);min-height:0}.chat-wrap.is-dm{grid-template-rows:1fr auto}.chat-channel-hd{padding:14px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.chat-channel-hd .ch-name{display:flex;align-items:center;gap:6px;font-size:16px;font-weight:600}.chat-channel-hd .ch-topic{color:var(--text-muted);font-size:12.5px;padding-left:12px;border-left:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-stream{overflow-y:auto;padding:16px 24px 8px;display:flex;flex-direction:column}.chat-typing{min-height:20px;padding:2px 24px 0;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);font-style:italic;line-height:1;flex-shrink:0}.chat-typing-dots{display:inline-flex;align-items:center;gap:3px;color:var(--accent)}.chat-typing-dots span{width:4px;height:4px;border-radius:50%;background:currentColor;animation:typing-bounce 1.1s infinite ease-in-out}.chat-typing-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.chat-older-loading{align-self:center;padding:6px 12px;margin-bottom:8px;font-size:12px;color:var(--text-muted);opacity:.8}.right-panel{min-height:0;background:var(--sidebar-bg);border-left:1px solid var(--border-soft);overflow-y:auto;padding:14px}.rp-group-hd{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--text-muted);padding:4px 6px 8px}@media(max-width:768px){.canvas-with-right-mobile{grid-template-columns:1fr}.chat-channel-hd{padding:10px 12px;gap:8px}.chat-channel-hd .ch-name{font-size:15px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-members-btn{width:38px;height:38px}.chat-stream{padding:8px 10px 6px}.chat-members-scrim{position:fixed;inset:0;background:var(--scrim);z-index:55;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:scrim-in .2s ease}.chat-members-drawer{position:fixed;top:0;bottom:0;right:0;width:min(82vw,320px);background:var(--sidebar-bg);border-left:1px solid var(--border-soft);z-index:60;transform:translate(100%);transition:transform .24s cubic-bezier(.2,.7,.3,1);display:flex;flex-direction:column;will-change:transform;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);box-shadow:var(--shadow-lg)}.chat-members-drawer.open{transform:translate(0)}.chat-members-drawer-hd{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border-soft);font-size:14px;font-weight:600;color:var(--text)}.chat-members-drawer .right-panel{border-left:0;padding:10px 12px;flex:1}}.cred-wrap{height:100%;overflow-y:auto;padding:4px 24px 24px}.cred-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.cred-title{margin:0;font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:8px}.cred-sub{margin:4px 0 0;font-size:12px;color:var(--text-muted);max-width:60ch}.cred-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:10px}.cred-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px;min-width:0}.cred-card-hd{display:flex;align-items:flex-start;gap:10px;min-width:0}.cred-kind{width:30px;height:30px;flex:0 0 auto;border-radius:8px;background:var(--surface-2);color:var(--text-soft);display:inline-flex;align-items:center;justify-content:center}.cred-card-main{flex:1;min-width:0}.cred-card-title{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cred-card-meta{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:11.5px;color:var(--text-muted);min-width:0}.cred-card-meta .mono{font-family:var(--font-mono)}.cred-url{color:var(--accent);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cred-card-actions{display:flex;gap:2px;flex:0 0 auto}.cred-secret{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:8px;padding:6px 6px 6px 10px;min-width:0}.cred-secret-value{flex:1;min-width:0;font-family:var(--font-mono);font-size:12px;color:var(--text);overflow-x:auto;white-space:pre;scrollbar-width:none}.cred-secret-value::-webkit-scrollbar{display:none}.cred-secret-value.is-masked{letter-spacing:2px;color:var(--text-muted)}.cred-secret-actions{display:flex;gap:2px;flex:0 0 auto}.cred-notes{font-size:12px;color:var(--text-soft);white-space:pre-wrap;border-left:2px solid var(--border);padding-left:10px}.cred-notes-hint,.cred-copied{font-size:11px;color:var(--text-muted)}.cred-copied{color:var(--st-online)}.cred-error{font-size:12px;color:var(--priority-urgent)}.cred-card-ft{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10.5px;color:var(--text-muted);border-top:1px solid var(--border-soft);padding-top:8px}.cred-empty{border:1px dashed var(--border);border-radius:12px;padding:36px 20px;text-align:center;color:var(--text-soft);display:flex;flex-direction:column;align-items:center;gap:8px}.cred-empty p{margin:0;font-size:12px;max-width:48ch}.cred-form{padding:16px;display:flex;flex-direction:column;gap:12px;min-height:0;overflow-y:auto;overscroll-behavior:contain}.cred-form .field{display:flex;flex-direction:column;gap:5px}.cred-form .field>span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:600}.cred-form input,.cred-form textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:8px 10px;color:var(--text);font:inherit;font-size:13px;outline:0;resize:vertical}.cred-form textarea{font-family:var(--font-mono);font-size:12px}.cred-form input:focus,.cred-form textarea:focus{border-color:var(--accent)}.cred-kinds{display:flex;flex-wrap:wrap;gap:6px}.cred-kind-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text-soft);font:inherit;font-size:12px;cursor:pointer;transition:all var(--transition)}.cred-kind-btn:hover{background:var(--hover)}.cred-kind-btn.on{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.cred-hint{margin:0;font-size:11.5px;color:var(--text-muted);display:inline-flex;align-items:center;gap:6px}.cred-form-actions{display:flex;justify-content:flex-end;gap:8px;position:sticky;bottom:0;background:var(--surface);padding:8px 0 2px;margin-top:-4px}.cred-login{display:inline-flex;align-items:center;gap:4px;min-width:0}.cred-login .mono{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cred-login-copy{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;border:none;border-radius:5px;background:none;color:var(--text-faint);cursor:pointer;transition:background var(--transition),color var(--transition)}.cred-login-copy:hover{background:var(--hover-2);color:var(--text)}.audit-list{display:flex;flex-direction:column}.audit-item{display:flex;align-items:flex-start;gap:10px;padding:9px 4px;position:relative}.audit-item:not(:last-child):before{content:"";position:absolute;left:15px;top:32px;bottom:-9px;width:1px;background:var(--border)}.audit-item__avatar{position:relative;z-index:1;flex-shrink:0}.audit-item__body{flex:1;min-width:0;font-size:13px;line-height:1.5;color:var(--text-soft)}.audit-item__actor{font-weight:600;color:var(--text)}.audit-item__target{color:var(--text);font-weight:500}.audit-item__detail{margin-top:2px;font-size:12px;color:var(--text-muted)}.audit-item__detail .mono{font-family:var(--font-mono)}.audit-item__time{flex-shrink:0;font-size:11.5px;color:var(--text-muted);white-space:nowrap;margin-top:2px}.audit-item__dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}:root{--sidebar-w: 248px;--context-w: 296px;--topbar-h: 48px;--bottom-bar-h: calc(58px + env(safe-area-inset-bottom)) ;--titlebar-h: 0px;--app-h: calc(100dvh - var(--titlebar-h));--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--pad-1: 4px;--pad-2: 8px;--pad-3: 12px;--pad-4: 16px;--pad-5: 24px;--pad-6: 32px;--font-sans: "Geist", ui-sans-serif, system-ui, sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--fs-xs: 11px;--fs-sm: 12.5px;--fs-base: 13.5px;--fs-md: 15px;--fs-lg: 18px;--fs-xl: 22px;--fs-2xl: 28px;--fs-3xl: 36px;--accent: #19b6d8;--accent-fill: #0e7490;--accent-on-fill: #ffffff;--accent-ink: #06121a;--accent-soft: rgba(25, 182, 216, .14);--accent-glow: rgba(25, 182, 216, .3);--accent-2: #f5c56c;--accent-2-soft: rgba(245, 197, 108, .14);--cat-cyan: #22d3ee;--cat-violet: #a78bfa;--cat-pink: #f472b6;--cat-lime: #bef264;--cat-amber: #f5c56c;--cat-sky: #7dd3fc;--cat-rose: #fb7185;--cat-emerald: #6ee7b7;--st-online: #4ade80;--st-idle: #facc15;--st-dnd: #f87171;--st-offline: #71717a;--danger: #f87171;--danger-strong: #b4232a;--danger-soft: rgba(248, 113, 113, .12);--danger-border: rgba(248, 113, 113, .38);--warning: #f5c56c;--warning-soft: rgba(245, 197, 108, .14);--warning-border: rgba(245, 197, 108, .32);--success: #4ade80;--success-soft: rgba(74, 222, 128, .14);--priority-urgent: #f87171;--priority-high: #f5c56c;--priority-med: #7dd3fc;--priority-low: #8a93a3;--tap: 44px;--transition: .16s cubic-bezier(.2, .7, .3, 1)}[data-theme=dark]{color-scheme:dark;--bg: #0b0d11;--bg-soft: #11141a;--surface: #161a22;--surface-2: #1d222b;--surface-3: #252b36;--hover: rgba(255, 255, 255, .04);--hover-2: rgba(255, 255, 255, .07);--border: #252a34;--border-soft: #1c2029;--border-strong: #323844;--text: #eceef3;--text-soft: #b8bdc8;--text-muted: #6f7686;--text-faint: #4b5260;--scrim: rgba(8, 10, 14, .7);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .45);--shadow-lg: 0 20px 60px rgba(0, 0, 0, .55);--rail-bg: #07090c;--sidebar-bg: #0e1117;--canvas-bg: #11141a;--topbar-bg: rgba(17, 20, 26, .85)}[data-theme=light]{color-scheme:light;--bg: #f7f8fa;--bg-soft: #eef0f4;--surface: #ffffff;--surface-2: #f4f5f8;--surface-3: #ebedf2;--hover: rgba(15, 20, 30, .04);--hover-2: rgba(15, 20, 30, .07);--border: #e6e8ee;--border-soft: #eceef3;--border-strong: #d4d7df;--text: #1a1d24;--text-soft: #4a515e;--text-muted: #7a8190;--text-faint: #a4abb8;--scrim: rgba(20, 24, 32, .4);--shadow-sm: 0 1px 2px rgba(15, 20, 30, .06);--shadow-md: 0 4px 16px rgba(15, 20, 30, .08);--shadow-lg: 0 20px 60px rgba(15, 20, 30, .14);--rail-bg: #11141a;--sidebar-bg: #f2f3f7;--canvas-bg: #fafbfc;--topbar-bg: rgba(247, 248, 250, .85);--accent: #0e7490;--accent-soft: rgba(14, 116, 144, .12);--accent-glow: rgba(14, 116, 144, .28);--danger: #d6353d;--danger-soft: rgba(214, 53, 61, .1);--danger-border: rgba(214, 53, 61, .32);--warning: #a9680a;--warning-soft: rgba(169, 104, 10, .1);--warning-border: rgba(169, 104, 10, .3);--success: #157f3c;--success-soft: rgba(21, 127, 60, .1);--priority-urgent: #d6353d;--priority-high: #a9680a;--priority-med: #1b6f93;--priority-low: #6b7280}[data-density=compact]{--row-h: 28px;--card-pad: 10px;--gap: 6px}[data-density=balanced]{--row-h: 34px;--card-pad: 13px;--gap: 10px}[data-density=spacious]{--row-h: 40px;--card-pad: 16px;--gap: 14px}.dnd-wrap{position:relative}.dnd-wrap[data-drop-before=true]:before,.dnd-wrap[data-drop-after=true]:after{content:"";position:absolute;left:4px;right:4px;height:2px;background:var(--accent);border-radius:2px;pointer-events:none;z-index:1}.dnd-wrap[data-drop-before=true]:before{top:-1px}.dnd-wrap[data-drop-after=true]:after{bottom:-1px}.dnd-wrap-h[data-drop-before=true]:before,.dnd-wrap-h[data-drop-after=true]:after{width:2px;height:auto;inset:4px auto}.dnd-wrap-h[data-drop-before=true]:before{left:-1px}.dnd-wrap-h[data-drop-after=true]:after{right:-1px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11";overflow-x:hidden;height:100dvh;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}.container{padding:20px 24px 40px}#root{height:var(--app-h)}button,[role=button],[role=menuitem],.menu-item,.tabs a,.kanban-col-hd,.col-grip,.chip,.lbl,.av,.cal,.tie-btn,label{-webkit-user-select:none;user-select:none}button{font-family:inherit;cursor:default}input,textarea{font-family:inherit}a{color:inherit;text-decoration:none}::selection{background:var(--accent-soft);color:var(--text)}.scroll,.scroll *{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.scroll::-webkit-scrollbar,.scroll *::-webkit-scrollbar{width:8px;height:8px}.scroll::-webkit-scrollbar-thumb,.scroll *::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px;border:2px solid transparent;background-clip:content-box}.scroll::-webkit-scrollbar-track{background:transparent}.placeholder-img{background:repeating-linear-gradient(45deg,var(--surface-2) 0 8px,var(--surface) 8px 16px);border:1px dashed var(--border-strong);border-radius:8px;color:var(--text-muted);font-family:var(--font-mono);font-size:11px;display:flex;align-items:center;justify-content:center}.row{display:flex;align-items:center}.col{display:flex;flex-direction:column}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.flex-1{flex:1;min-width:0}.text-muted{color:var(--text-muted)}.text-soft{color:var(--text-soft)}.text-faint{color:var(--text-faint)}.mono{font-family:var(--font-mono)}.divider{height:1px;background:var(--border);margin:12px 0}.divider-v{width:1px;background:var(--border);align-self:stretch}.view-in{animation:vfade .24s ease}@keyframes vfade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);gap:8px;text-align:center}.empty h3{color:var(--text);font-size:16px;margin:0}@media screen and (max-width:768px){.container{padding:16px 14px 30px}}@media(pointer:coarse){button,[role=button],a.btn,.tabs a,summary{min-height:40px}input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:var(--tap);font-size:16px}textarea,.chip,.lbl,.av,.tie-btn,.cmt-action,.tc-badge,.toggle,.cal-day,.lblpop-swatch,.color-swatch,.icon-btn--tiny,.rt-tool,.auth-input-icon,.mbb-tab{min-height:0}.btn,.auth-btn,.auth-social-btn,.auth-tab,.auth-input,.tabs button,.tabs a,.menu-item,.tie-opt,.lblpop-bar,.lblpop-action,.cl-filter,.mc-today,.td-addrow,.tie-preset,.tie-clear{min-height:var(--tap)}.btn{padding:10px 16px;font-size:13.5px}.tabs button,.tabs a{padding:10px 14px;font-size:13px}.menu-item,.tie-opt{font-size:14px}.icon-btn{width:38px;height:38px}.icon-btn--tiny{width:34px;height:34px}.rt-tool{width:38px;height:38px}.cal-day{height:40px}.cal-nav{width:36px;height:36px}.tie-btn--xs,.tie-btn--sm{min-height:32px}.td-subtask-check,.cl-check{min-width:var(--tap);min-height:var(--tap)}.sidebar-group-hd .grp-add,.sb-item .sb-hover-action{min-width:36px}.td-subtask-del,.lblpop-edit,.inbox-del{min-width:36px;min-height:36px}.toggle{width:46px;height:28px}.toggle:after{width:22px;height:22px}.toggle:checked:after{transform:translate(18px)}.auth-input-icon{width:36px;height:36px}.auth-check .box{width:20px;height:20px}.auth-link,.cmt-action{padding:7px 3px;margin:-7px -3px}.kanban-col-hd{gap:4px}.tc-meta{gap:12px}.col-grip{display:none}.task-card{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}}@media(hover:none){.td-subtask-del,.td-attach-del,.inbox-del,.us-avatar-overlay,.pi-edit-pencil,.pi-file-acts,.pi-link .icon-btn,.sidebar-group-hd .grp-add,.sb-item .sb-hover-action,.vc-tile-more,.msg-grouped .msg-time-inline{opacity:1}.td-subtask-del,.td-attach-del,.inbox-del,.pi-edit-pencil{color:var(--text-faint)}}@media(pointer:coarse){::view-transition-old(root){animation:vt-leave .13s ease-in both}::view-transition-new(root){animation:vt-enter .21s cubic-bezier(.2,.7,.3,1) both}}@keyframes vt-leave{to{opacity:0}}@keyframes vt-enter{0%{opacity:0;transform:translateY(6px)}}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}
