:root{--ground:#f8f7f2;--surface:#fff;--surface-2:#efeee6;--ink:#333d56;--ink-2:#55607a;--muted:#8189a0;--line:#e2e1d8;--line-strong:#c9c8bd;--brand:#ffdd2d;--brand-deep:#f5cf00;--accent:#333d56;--accent-ink:#333d56;--accent-soft:#fff4bf;--danger:#b93f2a;--danger-soft:#f8e4df;--warn:#a66a00;--warn-soft:#f7ebcf;--agent:#6a4fc2;--agent-soft:#ece6fa;--shadow:0 1px 2px #333d560f, 0 8px 24px #333d5614;--shadow-lg:0 24px 64px #333d5633;--font-display:"Manrope", "Segoe UI", system-ui, sans-serif;--font-body:"Onest", "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", Consolas, monospace;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--ground);color:var(--ink);font-family:var(--font-body);margin:0;font-size:14px;line-height:1.5}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;letter-spacing:-.01em;margin:0}.app{flex-direction:column;height:100vh;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:24px;height:56px;padding:0 28px;display:flex}.brand{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);white-space:nowrap;align-items:center;gap:10px;font-size:15px;font-weight:800;display:flex}.brand .mark{background:var(--brand);width:26px;height:26px;color:var(--ink);letter-spacing:.04em;border-radius:5px;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:inline-flex}.nav{gap:4px;display:flex}.nav a{color:var(--ink-2);white-space:nowrap;border-radius:8px;padding:6px 12px;font-weight:500;text-decoration:none}.nav a.on{background:var(--surface-2);color:var(--ink)}.topbar .users-link{color:var(--ink-2);white-space:nowrap;border-radius:8px;align-items:center;gap:7px;margin-left:auto;padding:6px 12px;font-weight:500;text-decoration:none;display:inline-flex}.topbar .users-link svg{width:16px;height:16px}.topbar .users-link:hover,.topbar .users-link.on{background:var(--surface-2);color:var(--ink)}.topbar .me{color:var(--ink-2);background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;margin-left:0;padding:4px 8px;display:flex}.topbar .me:hover{background:var(--surface-2)}.topbar .me .out{color:var(--muted);font-size:12px}.avatar{width:28px;height:28px;font-family:var(--font-display);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.avatar.agent{border-radius:8px}.avatar.sm{width:22px;height:22px;font-size:9px}.btn{border:1px solid var(--line-strong);background:var(--surface);white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-weight:500;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.6;cursor:default}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--ink);font-weight:600}.btn.primary:hover{background:var(--brand-deep);border-color:var(--brand-deep)}.btn.dark{background:var(--ink);border-color:var(--ink);color:#fff}.btn.dark:hover{background:#24304a}.btn.ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-2)}.btn.sm{padding:5px 10px;font-size:13px}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:600}.input,textarea.input,select.input{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;width:100%;padding:9px 12px}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}textarea.input{resize:vertical;line-height:1.55}.chip{background:var(--surface-2);color:var(--ink-2);border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}.chip.agent{background:var(--agent-soft);color:var(--agent)}.chip.owner{background:var(--accent-soft);color:var(--accent-ink)}.chip.danger{background:var(--danger-soft);color:var(--danger)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12px}.error-text{color:var(--danger);font-size:13px}.muted{color:var(--muted)}.login{grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid}.login-side{background:var(--brand);color:var(--ink);flex-direction:column;justify-content:space-between;padding:56px;display:flex}.login-side .brand .mark{background:var(--ink);color:var(--brand)}.login-side h1{max-width:12ch;margin-top:48px;font-size:40px;line-height:1.1}.login-side p{color:var(--ink);opacity:.8;max-width:44ch;font-size:15px}.login-side .chip{color:var(--ink);background:#333d561f}.login-side .chip.agent{background:var(--ink);color:var(--brand)}.login-side .login-foot{color:var(--ink);opacity:.6}.login-side .roles{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.login-form{justify-content:center;align-items:center;padding:40px;display:flex}.login-card{flex-direction:column;gap:18px;width:100%;max-width:380px;display:flex}.login-card h2{font-size:22px}.login-card .sub{color:var(--muted);margin-top:4px}.login-card .row{color:var(--ink-2);justify-content:space-between;align-items:center;font-size:13px;display:flex}.login-card .btn.primary{justify-content:center;padding:11px;font-size:15px}.login-foot{color:var(--muted);font-size:12px}.page{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:28px;overflow-y:auto}.page-head{justify-content:space-between;align-items:end;gap:16px;margin-bottom:20px;display:flex}.page-head h1{font-size:24px}.page-head .sub{color:var(--muted);margin-top:2px}.toolbar{align-items:center;gap:10px;margin-bottom:14px;display:flex}.toolbar .input{max-width:300px}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:720px}th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--line);padding:12px 16px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 16px}tr:last-child td{border-bottom:0}tbody tr:hover td{background:#fafbf8}.user-cell{align-items:center;gap:12px;display:flex}.user-cell .name{font-weight:600}.user-cell .email{color:var(--muted);font-size:12px}.actions{justify-content:end;gap:6px;display:flex}.actions .btn{padding:5px 9px;font-size:13px}.row-confirm{color:var(--danger);align-items:center;gap:8px;font-size:13px;display:inline-flex}.btn.danger{color:var(--danger);border-color:#e7c4bc}.btn.danger:hover{background:var(--danger-soft)}.pchips{flex-wrap:wrap;gap:4px;display:flex}.pchips .chip{gap:4px;font-size:11px}.pchips .chip .pdot{width:7px;height:7px}.modal.small{max-width:460px}.form-grid{gap:14px;padding:4px 24px 20px;display:grid}.form-grid .two{grid-template-columns:1fr 1fr;gap:14px;display:grid}.kind-pick{gap:8px;display:flex}.kind-pick label{border:1px solid var(--line-strong);cursor:pointer;border-radius:8px;flex:1;align-items:center;gap:8px;padding:9px 12px;display:flex}.kind-pick input{accent-color:var(--accent)}.kind-pick label:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.role-note{color:var(--muted);font-size:12px}.ws-list{flex-direction:column;gap:6px;display:flex}.ws-row{border:1px solid var(--line);background:var(--ground);border-radius:8px;grid-template-columns:1fr 160px;align-items:center;gap:10px;padding:6px 10px;display:grid}.ws-row.on{background:var(--surface);border-color:var(--line-strong)}.ws-row label{cursor:pointer;text-transform:none;letter-spacing:0;min-width:0;color:var(--ink);align-items:center;gap:9px;font-size:14px;font-weight:500;display:flex}.ws-row label span.nm{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ws-row input[type=checkbox]{accent-color:var(--ink);flex:none;width:16px;height:16px}.ws-row select.input,.ws-row input.input{padding:5px 8px;font-size:13px}.ws-row .newrole{gap:4px;display:flex}.ws-row .newrole .btn{padding:4px 8px}.board-head{flex:none;align-items:center;gap:16px;padding:16px 28px 12px;display:flex}.board-head h1{font-size:20px}.board-head .count{color:var(--muted);font-size:13px}.board-head .seg{margin-left:8px}.board-head .right{color:var(--muted);align-items:center;gap:10px;margin-left:auto;font-size:13px;display:flex}.seg{background:var(--surface-2);border-radius:8px;padding:3px;display:inline-flex}.seg button{color:var(--ink-2);background:0 0;border:0;border-radius:6px;padding:5px 12px;font-weight:500}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #1b231a1a}.board{scroll-snap-type:x proximity;flex:1;align-items:flex-start;gap:16px;min-height:0;padding:4px 28px 24px;display:flex;overflow:auto hidden}.board.wrap{flex-wrap:wrap;align-content:flex-start;overflow:hidden auto}.board.wrap .col{max-height:none}.board-wrap-toggle{cursor:pointer;color:var(--ink-2);border-radius:6px;align-items:center;gap:6px;padding:4px 8px;display:inline-flex}.board-wrap-toggle:hover{background:var(--surface-2)}.board-wrap-toggle input{accent-color:var(--ink)}.board::-webkit-scrollbar{height:10px}.board::-webkit-scrollbar-thumb{background:var(--line-strong);border:2px solid var(--ground);border-radius:999px}.col{background:var(--surface-2);scroll-snap-align:start;border-radius:14px;flex-direction:column;flex:none;width:300px;max-height:100%;display:flex}.col-head{align-items:center;gap:10px;padding:12px 14px 8px;display:flex}.col-head .name{font-family:var(--font-display);font-size:14px;font-weight:700}.col-head .role{color:var(--muted);font-size:12px}.col-head .n{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.col-body{flex-direction:column;gap:8px;min-height:60px;padding:4px 10px 10px;display:flex;overflow-y:auto}.col-body.over{outline:2px dashed var(--accent);outline-offset:-6px;border-radius:10px}.col-body.blocked{outline:2px dashed var(--danger);outline-offset:-6px;border-radius:10px}.col-empty{color:var(--muted);text-align:center;padding:18px 8px;font-size:13px}.col-foot{padding:0 10px 10px}.col-foot .btn{width:100%;color:var(--ink-2);background:0 0;border-style:dashed;justify-content:center}.col-foot .btn:hover{background:var(--surface)}.board-empty{color:var(--muted);text-align:center;width:100%;padding:60px 28px}.card{background:var(--surface);border:1px solid var(--line);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:10px;padding:11px 12px;transition:box-shadow .15s,transform .15s;box-shadow:0 1px 1px #1b231a0a}.card:hover{box-shadow:var(--shadow);border-color:var(--line-strong)}.card.dragging{opacity:.45;cursor:grabbing;transform:rotate(-1deg)}.card .title{font-weight:600;line-height:1.35}.card .meta{color:var(--muted);align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}.card .meta .spacer{flex:1}.card.done{opacity:.85;cursor:pointer}.card.done .title{color:var(--ink-2)}.due{font-family:var(--font-mono);background:var(--surface-2);color:var(--ink-2);border-radius:5px;align-items:center;gap:4px;padding:1px 6px;font-size:11px;display:inline-flex}.due.soon{background:var(--warn-soft);color:var(--warn)}.due.over{background:var(--danger-soft);color:var(--danger)}.due.ok{background:var(--surface-2);color:var(--muted)}.proj{position:relative}.proj-btn{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:8px;padding:5px 10px;font-weight:600;display:flex}.proj-btn:hover{background:var(--surface-2)}.pdot{border-radius:3px;flex:none;width:10px;height:10px}.proj-btn .caret{color:var(--muted);font-size:11px}.proj-menu{background:var(--surface);border:1px solid var(--line);min-width:250px;box-shadow:var(--shadow);z-index:60;border-radius:10px;padding:6px;position:absolute;top:calc(100% + 6px);left:0}.proj-menu .lbl{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:6px 10px 4px;font-size:11px;font-weight:600}.proj-menu button{text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;width:100%;padding:8px 10px;font-weight:500;display:flex}.proj-menu button:hover{background:var(--surface-2)}.proj-menu button.on{background:var(--accent-soft)}.proj-menu button .key{font-family:var(--font-mono);color:var(--muted);margin-left:auto;font-size:11px}.proj-menu .note{border-top:1px solid var(--line);color:var(--muted);margin-top:4px;padding:10px 10px 4px;font-size:12px}.overlay{z-index:100;background:#1b231a6b;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);box-shadow:var(--shadow-lg);border-radius:16px;flex-direction:column;width:100%;max-width:860px;max-height:calc(100vh - 48px);display:flex;overflow:hidden}.modal-head{align-items:flex-start;gap:12px;padding:20px 24px 12px;display:flex}.modal-head h2{flex:1;font-size:20px;line-height:1.3}.modal-head h2.placeholder{color:var(--muted);font-style:italic;font-weight:600}.ai-tag{color:var(--agent);background:var(--agent-soft);letter-spacing:.02em;border-radius:999px;align-items:center;gap:5px;margin-top:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.ai-tag svg{width:11px;height:11px}.x{width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:8px;font-size:20px;line-height:1}.x:hover{background:var(--surface-2);color:var(--ink)}.modal-body{grid-template-columns:1fr 240px;gap:24px;padding:8px 24px 20px;display:grid;overflow-y:auto}.modal-main{flex-direction:column;gap:20px;min-width:0;display:flex}.modal-main textarea.input{min-height:220px;font-size:15px}.modal-side{border-left:1px solid var(--line);flex-direction:column;gap:16px;padding-left:24px;display:flex}.kv{flex-direction:column;gap:4px;display:flex}.kv .k{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px;font-weight:600}.kv .v{align-items:center;gap:8px;display:flex}.kv input[type=date]{padding:6px 8px}.modal-foot{border-top:1px solid var(--line);background:var(--ground);align-items:center;gap:10px;padding:14px 24px;display:flex}.modal-foot .spacer{flex:1}.modal-foot .note{color:var(--muted);font-size:12px}.toast{background:var(--ink);color:#fff;opacity:0;pointer-events:none;z-index:200;border-radius:999px;padding:9px 16px;font-size:13px;transition:opacity .2s;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast.on{opacity:1}.center{min-height:100vh;color:var(--muted);justify-content:center;align-items:center;display:flex}@media (width<=800px){.login{grid-template-columns:1fr}.login-side{display:none}.modal-body{grid-template-columns:1fr}.modal-side{border-left:0;border-top:1px solid var(--line);padding-top:16px;padding-left:0}.topbar{gap:12px;padding:0 16px}.board-head,.board{padding-left:16px;padding-right:16px}.board-head .right span{display:none}.page{padding:16px}.form-grid .two,.ws-row{grid-template-columns:1fr}.topbar .users-link span{display:none}}@media (width<=1100px){.topbar .me .chip{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.kb-wrap{flex:1;grid-template-columns:260px 1fr;min-height:0;display:grid}.kb-side{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.kb-ask{border-bottom:1px solid var(--line);padding:14px 14px 8px}.kb-tree{flex:1;padding:6px 8px 16px;overflow-y:auto}.kb-sect{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);align-items:center;gap:6px;padding:12px 8px 4px;font-size:11px;font-weight:600;display:flex}.kb-sect>span:first-child{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.kb-sect-acts{gap:2px;display:none}.kb-sect:hover .kb-sect-acts{display:inline-flex}.kb-sect-acts .x{width:20px;height:20px;font-size:14px}.kb-page{text-align:left;width:100%;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;font-weight:500;display:flex}.kb-page .kb-sect-acts{display:none}.kb-page:hover .kb-sect-acts{display:inline-flex}.kb-page:hover{background:var(--surface-2)}.kb-page.on{background:var(--accent-soft);color:var(--ink)}.kb-page .ico{text-align:center;flex:none;width:18px}.kb-page .t{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.kb-page .lock{color:var(--muted);font-size:10px}.kb-empty-side{color:var(--muted);padding:12px 8px;font-size:13px}.kb-empty-side.small{padding:4px 16px;font-size:12px}.kb-page.archived .t,.kb-sect.archived>span:first-child{color:var(--muted);text-decoration:line-through}.kb-archive-toggle{color:var(--muted);border-top:1px solid var(--line);cursor:pointer;align-items:center;gap:8px;padding:8px 14px;font-size:12px;display:flex}.kb-archive-toggle input{accent-color:var(--ink)}.kb-foot{border-top:1px solid var(--line);align-items:center;gap:6px;padding:10px 14px;display:flex}.kb-foot .btn:first-child{color:var(--ink-2);background:0 0;border-style:dashed;flex:1;justify-content:center}.kb-main{flex-direction:column;min-width:0;min-height:0;display:flex}.doc-bar{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:10px;min-height:56px;padding:10px 28px;display:flex}.crumbs{color:var(--muted);flex:1;align-items:center;gap:6px;min-width:0;font-size:13px;display:flex}.crumbs b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.crumbs .sep{color:var(--line-strong)}.kb-actions{flex:none;align-items:center;gap:8px;display:flex}.doc-scroll{flex:1;overflow-y:auto}.doc-cols{grid-template-columns:minmax(0,1fr) 260px;gap:32px;max-width:1180px;padding:28px 28px 60px;display:grid}.doc-cols.no-side{grid-template-columns:minmax(0,1fr)}.kb-empty{text-align:center;color:var(--muted);padding:60px}article.doc{min-width:0;max-width:76ch}article.doc h1{margin-bottom:8px;font-size:30px;line-height:1.15}.doc-title-input{font-family:var(--font-display);letter-spacing:-.01em;border:0;border-bottom:2px dashed var(--line-strong);background:0 0;outline:none;width:100%;margin-bottom:8px;padding:0 0 4px;font-size:30px;font-weight:700;line-height:1.15}.doc-title-input:focus{border-bottom-color:var(--brand)}article.doc .meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:24px;font-size:12px;display:flex}.doc-side{flex-direction:column;gap:18px;font-size:13px;display:flex}.doc-side h4,.doc-files h4{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px;font-size:11px;font-weight:600}.toc a{color:var(--ink-2);border-left:2px solid var(--line);padding:3px 0 3px 10px;text-decoration:none;display:block}.toc a:hover{color:var(--ink);border-color:var(--brand)}.doc-files{border-top:1px solid var(--line);margin-top:36px;padding-top:16px}.doc-files h4{align-items:center;gap:10px;display:flex}.doc-files h4 .btn{text-transform:none;letter-spacing:0;margin-left:auto}.files{flex-direction:column;gap:6px;display:flex}.file{border:1px solid var(--line);background:var(--ground);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.file .ext{font-family:var(--font-mono);background:var(--surface);border:1px solid var(--line);text-transform:uppercase;border-radius:4px;padding:2px 5px;font-size:10px;font-weight:500}.file .fname{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);flex:1;text-decoration:none;overflow:hidden}.file .fname:hover{text-decoration:underline}.file .size{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.pick{cursor:pointer;border:1px solid var(--line);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.pick input{accent-color:var(--ink)}.pick:has(input:checked){border-color:var(--ink);background:var(--accent-soft)}.doc-editor.editing{outline:2px solid var(--brand);outline-offset:12px;border-radius:4px}.doc-body{color:var(--ink);font-size:15px;line-height:1.65}.doc-body .codex-editor__redactor{padding-bottom:24px!important}.doc-body .ce-block__content,.doc-body .ce-toolbar__content{max-width:100%;margin:0}.doc-body .ce-toolbar__actions{right:-4px}.doc-body .ce-toolbar__plus,.doc-body .ce-toolbar__settings-btn{color:var(--ink-2)}.doc-body .ce-toolbar__plus:hover,.doc-body .ce-toolbar__settings-btn:hover{background:var(--accent-soft);color:var(--ink)}.doc-body .ce-popover{font-family:var(--font-body)}.doc-body .ce-popover-item--active,.doc-body .ce-inline-tool--active{background:var(--accent-soft);color:var(--ink)}.doc-body .ce-block--selected .ce-block__content{background:var(--accent-soft);border-radius:6px}.doc-body .ce-paragraph{padding:2px 0;line-height:1.65}.doc-body .ce-paragraph[data-placeholder]:empty:before{color:var(--muted)}.doc-body .ce-header{font-family:var(--font-display);letter-spacing:-.01em;margin:0;padding:0}.doc-body h1.ce-header{margin:24px 0 6px;font-size:26px}.doc-body h2.ce-header{margin:24px 0 6px;font-size:19px}.doc-body h3.ce-header{margin:16px 0 4px;font-size:15px}.doc-body .cdx-list{margin:4px 0;padding-left:22px}.doc-body .cdx-list__item{padding:2px 0;line-height:1.6}.doc-body .tc-wrap{--color-border:var(--line);--color-background:var(--surface-2);margin:8px 0 12px}.doc-body .tc-table{font-size:14px}.doc-body .tc-cell{padding:7px 10px;line-height:1.5}.doc-body .tc-table--heading .tc-row:first-child{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);font-size:12px;font-weight:600}.doc-body .cdx-quote{border-left:3px solid var(--brand);background:var(--accent-soft);border-radius:0 8px 8px 0;margin:12px 0;padding:10px 14px}.doc-body .cdx-quote__text{min-height:0;box-shadow:none;background:0 0;border:0;margin-bottom:0;padding:0}.doc-body .cdx-quote__caption{box-shadow:none;color:var(--muted);background:0 0;border:0;padding:4px 0 0;font-size:12px}.doc-editor:not(.editing) .cdx-quote__caption:is(:empty,:has(>br:only-child)){display:none}.doc-body .inline-code{font-family:var(--font-mono);background:var(--surface-2);color:var(--ink);border-radius:4px;padding:1px 5px;font-size:13px}.doc-body .ce-code__textarea{font-family:var(--font-mono);background:var(--ink);color:#fff;border:0;border-radius:8px;min-height:80px;padding:12px 14px;font-size:13px}.doc-body .ce-delimiter{margin:8px 0}.doc-body .image-tool__image{border:1px solid var(--line);border-radius:8px;overflow:hidden}.doc-body .image-tool__image-picture{max-width:100%}.doc-body .image-tool__caption{box-shadow:none;color:var(--muted);background:0 0;border:0;padding:4px 0;font-size:12px}.doc-editor:not(.editing) .image-tool__caption:is(:empty,:has(>br:only-child)){display:none}.doc-editor:not(.editing) [data-placeholder]:before{display:none!important}.doc-body .cdx-button{border-color:var(--line-strong);color:var(--ink-2)}.doc-body a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--brand);text-decoration-color:var(--brand);text-underline-offset:2px;text-decoration-thickness:2px}.doc-body .codex-editor--narrow .ce-toolbar__actions{right:-8px}@media (width<=800px){.kb-wrap{grid-template-columns:1fr}.kb-side{display:none}.doc-cols{grid-template-columns:1fr;padding:16px}.doc-side{display:none}.doc-bar{padding:10px 16px}}.msg-wrap{flex:1;grid-template-columns:250px 1fr;min-height:0;display:grid}.side{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;padding-bottom:16px;display:flex;overflow-y:auto}.side-h{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);align-items:center;padding:16px 16px 6px;font-size:11px;font-weight:600;display:flex}.side-h .btn{margin-left:auto;padding:0 7px;font-size:15px;line-height:20px}.sound-toggle{text-transform:none;letter-spacing:0;cursor:pointer;color:var(--muted);align-items:center;gap:5px;margin-left:auto;font-weight:500;display:inline-flex}.sound-toggle input{accent-color:var(--ink)}.ch{color:var(--ink-2);text-align:left;background:0 0;border:0;align-items:center;gap:9px;width:100%;padding:6px 16px;font-weight:500;display:flex}.ch:hover{background:var(--surface-2)}.ch.on{background:var(--accent-soft);color:var(--ink)}.ch .ico{text-align:center;flex:none;width:20px;font-size:15px}.ch .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ch .always{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;flex:none;font-size:10px}.ch .badge{background:var(--brand);min-width:18px;height:18px;color:var(--ink);border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.chat{flex-direction:column;min-width:0;min-height:0;display:flex}.chat-h{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:12px;min-height:56px;padding:10px 20px;display:flex}.chat-h h2{font-size:16px}.chat-h .sub{color:var(--muted);font-size:12px}.ch-ico{background:var(--surface-2);border-radius:8px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;display:inline-flex}.restricted{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.restricted .avs{display:inline-flex}.restricted .avs .avatar{box-shadow:0 0 0 2px var(--surface);margin-left:-6px}.restricted .avs .avatar:first-child{margin-left:0}.pins{background:var(--accent-soft);border-bottom:1px solid #eed98a;flex-direction:column;gap:4px;max-height:120px;padding:8px 20px;font-size:13px;display:flex;overflow-y:auto}.pin{cursor:pointer;align-items:center;gap:8px;min-width:0;display:flex}.pin:hover .txt{color:var(--ink)}.pin b{white-space:nowrap;font-weight:600}.pin .txt{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2);flex:1;overflow:hidden}.msgs{flex-direction:column;flex:1;gap:4px;padding:16px 20px;display:flex;overflow-y:auto}.msgs>div{flex-direction:column;gap:14px;display:flex}.load-more{align-self:center;margin-bottom:8px}.day{text-align:center;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:12px;margin:6px 0;font-size:11px;display:flex}.day:before,.day:after{content:"";background:var(--line);flex:1;height:1px}.msg{border-radius:8px;gap:12px;margin:-6px 0;padding:6px 10px;transition:background .4s;display:flex;position:relative}.msg:hover{background:var(--surface)}.msg.hl{background:var(--accent-soft)}.msg .body{flex:1;min-width:0}.msg .who{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.msg .who b{font-weight:600}.msg .who .t{color:var(--muted);font-size:12px;font-family:var(--font-mono)}.msg .pinned-mark{color:var(--warn);font-size:11px}.msg p{white-space:pre-wrap;overflow-wrap:anywhere;max-width:72ch;margin:2px 0 0}.msg p a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--brand);text-decoration-color:var(--brand);text-underline-offset:2px;text-decoration-thickness:2px}.quote{border-left:3px solid var(--brand);background:var(--surface-2);cursor:pointer;border-radius:0 6px 6px 0;max-width:60ch;margin:4px 0 6px;padding:6px 10px;font-size:13px}.quote b{font-size:12px;font-weight:600;display:block}.quote span{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.att{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.att .img{border:1px solid var(--line);border-radius:8px;max-width:320px;display:block;overflow:hidden}.att .img img{max-width:100%;max-height:240px;display:block}.att .file{max-width:300px;color:var(--ink);text-decoration:none}.att .file:hover{background:var(--surface-2)}.msg .acts{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;gap:2px;padding:2px;display:none;position:absolute;top:-12px;right:10px}.msg:hover .acts{display:flex}.acts button{color:var(--ink-2);background:0 0;border:0;border-radius:6px;padding:4px 9px;font-size:12px;font-weight:500}.acts button:hover{background:var(--surface-2);color:var(--ink)}.acts button.danger{color:var(--danger)}.composer{border-top:1px solid var(--line);background:var(--surface);padding:10px 20px 12px}.reply-strip{color:var(--ink-2);background:var(--surface-2);border-left:3px solid var(--brand);border-radius:8px 8px 0 0;align-items:center;gap:6px;margin-bottom:-1px;padding:6px 10px;font-size:13px;display:flex}.reply-strip .txt{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);flex:1;overflow:hidden}.reply-strip .x{width:24px;height:24px;font-size:16px}.comp{border:1px solid var(--line-strong);background:var(--surface);border-radius:10px;align-items:flex-end;gap:8px;padding:6px 8px;display:flex}.comp:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.comp textarea{resize:none;field-sizing:content;background:0 0;border:0;outline:none;flex:1;min-height:28px;max-height:160px;padding:5px 4px}.comp .tools{gap:2px;display:flex}.comp .tools button{color:var(--muted);background:0 0;border:0;border-radius:6px;padding:6px;display:inline-flex}.comp .tools button:hover{background:var(--surface-2);color:var(--ink)}.comp .tools svg{width:18px;height:18px}.pending{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.pending .chip .x{width:18px;height:18px;font-size:14px}.comp-hint{color:var(--muted);margin-top:6px;font-size:11px}.icon-grid{grid-template-columns:repeat(8,1fr);gap:6px;display:grid}.icon-grid button{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;height:40px;font-size:20px}.icon-grid button:hover{background:var(--surface-2)}.icon-grid button.on{border-color:var(--ink);background:var(--accent-soft)}.pick-list{flex-direction:column;gap:4px;max-height:300px;display:flex;overflow-y:auto}.pick-list .pick{padding:6px 10px}.pick-list .pick .chip{margin-left:auto}@media (width<=800px){.msg-wrap{grid-template-columns:1fr}.side{display:none}.msg .acts{box-shadow:none;border:0;display:flex;position:static}}
