:root{--bg:#f6f7f9;--surface:#fff;--text:#1d2330;--muted:#6b7385;--border:#dfe3ea;--accent:#3b5bdb;--accent-text:#fff;--error:#c92a2a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--bg:#14161b;--surface:#1c1f26;--text:#e6e8ee;--muted:#9aa2b4;--border:#2e333d;--accent:#748ffc;--accent-text:#0e1117;--error:#ff8787;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0 0 .6em;line-height:1.25}h3{margin-top:1.6em}.layout{min-height:100vh}.topbar{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:24px;padding:12px 24px;display:flex}.brand{color:var(--text);font-size:18px;font-weight:700}.topbar nav{flex:1;gap:16px;display:flex}.topbar nav a{color:var(--muted)}.topbar nav a.active{color:var(--text);font-weight:600}.user{color:var(--muted);align-items:center;gap:12px;display:flex}main{max-width:960px;margin:0 auto;padding:24px 16px 48px}.center{place-items:center;min-height:100vh;padding:16px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:28px}.login{flex-direction:column;gap:12px;width:100%;max-width:380px;display:flex}.stack{flex-direction:column;gap:8px;display:flex}.row{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.row input{flex:1;min-width:200px}input,select,button,.button{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:8px 12px}button,.button{cursor:pointer;background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.button{text-align:center;display:inline-block}.button:hover{text-decoration:none}.wide{width:100%}button.link{color:var(--accent);background:0 0;border:none;padding:0}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:8px;width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:10px 12px}th{color:var(--muted);font-size:13px;font-weight:600}tr:last-child td{border-bottom:none}.muted{color:var(--muted)}.small{font-size:13px}.error{color:var(--error)}.badge{background:var(--accent);color:var(--accent-text);border-radius:10px;margin-left:8px;padding:1px 6px;font-size:11px}@media (width<=640px){.topbar{flex-wrap:wrap;gap:8px 16px;padding:12px 16px}th,td{padding:8px 10px}}main:has(.project){max-width:none}.project h2{margin-bottom:.3em}.crumbs{color:var(--muted);margin:0 0 6px;font-size:13px}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin:8px 0 16px;display:flex}.tabs .tabs-slot{align-self:center;margin-left:auto;padding:2px 0 4px}.tabs a{color:var(--muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px}.tabs a.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.tabs a:hover{color:var(--text);text-decoration:none}button.secondary{background:var(--surface);color:var(--accent)}button.danger{background:var(--error);border-color:var(--error);color:#fff}button:disabled{opacity:.45;cursor:default}.code-input{text-transform:uppercase;flex:0 0 90px!important;min-width:90px!important}.row.tight{margin-top:4px}.key{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:600}.status{color:#fff;white-space:nowrap;border-radius:10px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.overlay{z-index:10;background:#0a0e1673;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:640px;max-height:92vh;padding:18px 20px 20px;overflow-y:auto}.modal-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.modal-head .close{color:var(--muted);margin-left:auto;font-size:18px}.modal h4{margin:18px 0 6px}.field{flex-direction:column;flex:1;gap:4px;min-width:140px;margin-top:10px;display:flex}.field>span{color:var(--muted);font-size:12px}.field-row{flex-wrap:wrap;gap:10px;display:flex}.criteria{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.criteria li{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.criteria label{align-items:flex-start;gap:8px;display:flex}.crit-done{color:var(--muted);text-decoration:line-through}.passport{max-width:900px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px 16px}.panel p{margin:6px 0}.role-block{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.role-title{color:var(--muted);min-width:140px;font-size:13px}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{background:var(--bg);border:1px solid var(--border);border-radius:14px;align-items:center;gap:6px;padding:2px 10px;font-size:13px;display:inline-flex}.chips select{padding:3px 8px;font-size:13px}.passport-section{margin-bottom:16px}.passport-section h4{margin:0 0 2px}.passport-section .muted.small{margin:0 0 6px}.passport-section textarea{width:100%;font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);resize:vertical;border-radius:6px;padding:8px 10px}.passport-text{white-space:pre-wrap;margin:0}@media (width<=640px){.modal{padding:14px}}.proj-head{align-items:center;gap:12px;display:flex}.proj-head h2{margin-right:auto}.presence{align-items:center;display:flex}.presence .avatar{color:#fff;box-sizing:border-box;cursor:default;-webkit-user-select:none;user-select:none;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:600;display:inline-flex}.presence .avatar+.avatar{margin-left:-6px}.presence .avatar.editing{box-shadow:0 0 0 2px #e8a25c}.emo{vertical-align:-.2em;width:1.15em;height:1.15em;display:inline-block}.roadmap-empty{background:var(--surface);border:1px dashed var(--border);border-radius:10px;max-width:640px;padding:24px}.rm-lead{max-width:960px;margin:0 0 12px}.rm-scroll{padding-bottom:8px;overflow-x:auto}.rm-table{border-collapse:collapse;background:var(--surface);font-size:14px}.rm-table th,.rm-table td{border:1px solid var(--border);vertical-align:top;padding:8px 12px}.rm-table thead th{background:color-mix(in srgb, var(--border) 35%, var(--surface));text-align:left;font-weight:600}.rm-obl{min-width:160px;max-width:220px}.rm-goal{white-space:nowrap;min-width:110px}.rm-kt{cursor:grab;width:140px;min-width:120px;max-width:160px;position:relative}.rm-kt.dragging{opacity:.4}.rm-kt.drop-before{box-shadow:inset 3px 0 #2e9e5b}.rm-kt.drop-after{box-shadow:inset -3px 0 #2e9e5b}.rm-kt-n{font-size:15px}.rm-kt-name{color:var(--muted);margin-top:2px;font-size:12px;font-weight:400;line-height:1.3}.rm-cell{text-align:center;white-space:nowrap}.rm-cell.rm-done{color:#fff;background:#0e6fa8}.rm-cell.rm-work{background:#fff3d4}.rm-cell.rm-cancel{color:var(--muted);text-decoration:line-through}.button-like{border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:7px 14px;font-size:14px;display:inline-block}.button-like:hover{border-color:var(--accent)}.tabs .tab-concept{color:#6c6c64}.tabs .tab-concept.active{color:inherit}.st-badge{color:#6a3fc0;vertical-align:2px;background:#efe7ff;border-radius:8px;padding:1px 6px;font-size:10.5px}.st{--st-done:#45a63a;--st-risk:#e57d1f;--st-work:#1a9aa3;--st-plan:#a9a9a0;--st-sync:#d9a520}.st-concept{color:#55554e;background:#f6f3ff;border:1px solid #e1d6fb;border-radius:8px;margin:8px 0 12px;padding:8px 12px;font-size:13px}.st-warn{color:#7a4a00;background:#fff6e8;border:1px solid #f0d3a0;border-radius:8px;margin:0 0 12px;padding:8px 12px 8px 28px;font-size:13px}.st-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.st-head{margin:0;font-size:15px}.st-head.risk b{color:#c4300f}.st-scroll{padding-bottom:6px;overflow-x:auto}.st-grid{gap:6px;min-width:720px;display:grid}.st-corner{color:#77776f;align-self:end;padding:4px;font-size:12px}.st-rh{background:#fff;border:1px solid #dcdcd5;border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;font-size:12.5px;display:flex}.st-rh.cur{box-shadow:0 0 0 2px var(--st-sync)}.st-rh .st-rt{color:#44443e;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.st-rs{font-size:11.5px;font-weight:600}.st-rd{color:#77776f;font-size:11.5px}.st-rd em{color:#c4300f;font-style:normal;font-weight:600}.st-r-passed .st-rs,.st-r-passed>b{color:var(--st-done)}.st-r-risk .st-rs{color:#c4300f}.st-r-work .st-rs{color:var(--st-work)}.st-r-plan .st-rs{color:#77776f}.st-rh.st-r-risk{border-color:var(--st-sync);background:#fff7e2}.st-lane{background:#f1f1ec;border-radius:8px;flex-direction:column;justify-content:center;padding:8px 10px;display:flex}.st-lane small{color:#77776f}.st-cell{background:#fff;border:1px solid #e6e6e0;border-radius:8px;flex-direction:column;gap:5px;min-height:56px;padding:6px;display:flex}.st-cell.cur{border-color:#e9cf86}.st-hatch{background:repeating-linear-gradient(135deg,#f2f2ee 0 6px,#e8e8e2 6px 12px)!important}.st-empty{color:#66665f;text-align:center;margin:auto;font-size:12px}.st-chip{color:inherit;text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid;border-radius:6px;padding:4px 8px;font-size:12.5px;text-decoration:none;display:block;overflow:hidden}.st-chip code{color:#77776f;font-size:11px}.st-chip:hover{box-shadow:0 1px 4px #0000001f}.st-done{background:#e6f4e3!important;border-color:#45a63a!important}.st-risk{background:#fde9d4!important;border-color:#e57d1f!important}.st-work{background:#e3f4f5!important;border-color:#1a9aa3!important}.st-plan{background:#fff!important;border-color:#a9a9a0!important}.st-legend{color:#66665f;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:12px;display:flex}.st-legend span{align-items:center;gap:6px;display:inline-flex}.st-sw{border:1px solid;border-radius:3px;width:16px;height:12px;display:inline-block}.st-note{color:#66665f;margin:8px 0 0;font-size:12.5px}.st-lanes{display:block}.st-spine{stroke:#c9c9c2;stroke-width:2px}.st-rline{stroke:#e2d6a6;stroke-width:2px;stroke-dasharray:2 3}.st-rline.st-r-passed{stroke:#b5dcae}.st-rline.st-r-risk{stroke:#d9a520;stroke-dasharray:none}.st-rnode{fill:#fff;stroke:#d9a520;stroke-width:2px}.st-rnode.st-r-passed{fill:#45a63a;stroke:#45a63a}.st-rnode.st-r-risk{fill:#fff7e2;stroke:#c4300f}.st-rnum{fill:#44443e;font-size:11px;font-weight:700}.st-rnode.st-r-passed+.st-rnum{fill:#fff}.st-rlab{fill:#44443e;font-size:12px;font-weight:600}.st-rdate{fill:#77776f;font-size:11px}.st-lname{fill:#33332e;font-size:13px;font-weight:600}.st-flow{stroke:#a9a9a0;stroke-width:2px}.st-wait{stroke:#b9b9b2;stroke-width:2px;stroke-dasharray:5 5}.st-merge{fill:#d9a520}.st-node{stroke-width:1.2px}.st-node.st-done{fill:#e6f4e3;stroke:#45a63a}.st-node.st-risk{fill:#fde9d4;stroke:#e57d1f}.st-node.st-work{fill:#e3f4f5;stroke:#1a9aa3}.st-node.st-plan{fill:#fff;stroke:#a9a9a0}.st-ntext{fill:#33332e;pointer-events:none;font-size:11.5px}.st-etext{fill:#77776f;font-size:11px}.st-spine-row{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.st-sbtn{color:#33332e;font:inherit;cursor:pointer;background:#fff;border:1px solid #dcdcd5;border-radius:16px;padding:4px 12px;font-size:13px}.st-tbtn{color:#33332e;font:inherit;cursor:pointer;background:#fff;border:1px solid #c9c9c2;border-radius:6px;padding:5px 12px;font-size:13px}.st-tbtn.on{background:#fff7e2;border-color:#d9a520}.st-sbtn.on{box-shadow:0 0 0 2px #d9a520}.st-sbtn.st-r-passed{background:#e6f4e3}.st-sbtn.st-r-risk{color:#c4300f;background:#fff7e2}.st-desk{grid-template-columns:minmax(0,1fr) 300px;gap:14px;display:grid}@media (width<=900px){.st-desk{grid-template-columns:1fr}}.st-rcard{background:#fff;border:1px solid #dcdcd5;border-radius:10px;margin-bottom:12px;padding:10px 14px}.st-rcard.st-r-risk{background:#fff7e2;border-color:#d9a520}.st-rcard-h{justify-content:space-between;gap:10px;display:flex}.st-rcard p{margin:6px 0 0}.st-slip{color:#c4300f}.st-cards{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;display:grid}.st-scard{background:#fff;border:1px solid #dcdcd5;border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.st-scard.risk{border-color:#e57d1f}.st-scard-h{justify-content:space-between;gap:8px;display:flex}.st-scard-h span{color:#66665f;font-size:12.5px}.st-scard p{color:#55554e;margin:0}.st-progress{background:#ecece6;border-radius:3px;height:6px;overflow:hidden}.st-progress i{background:#45a63a;height:100%;display:block}.st-side{background:#fcfcfa;border:1px solid #dcdcd5;border-radius:10px;align-self:start;padding:10px 14px}.st-side h4{margin:4px 0 6px}.st-side ul{margin:0 0 12px;padding-left:18px;font-size:13px}.st-client{margin:0;padding-left:20px;font-size:13px}.st-client li{margin-bottom:6px}.st-client li span{color:#66665f;font-size:12px;display:block}.st-client li.st-r-risk span{color:#c4300f}.lk-list{margin:0 0 10px;padding-left:18px;font-size:13px}.lk-list li{margin:2px 0}.lk-list .link{margin-left:6px}.lk-state{color:#a14b00;background:#fde9d4;border-radius:8px;margin-left:6px;padding:0 6px;font-size:11.5px}.lk-state.ok{color:#2d7a24;background:#e6f4e3}.sc{margin-top:18px}.sc h3{margin:0 0 4px;font-size:15px}.sc-svg{display:block}.sc-wire{fill:none;stroke:#a9a9a0;stroke-width:1.6px}.sc-wire.sc-wait{stroke:#b9b9b2;stroke-dasharray:5 5}.sc-wire.sc-block{stroke:#e57d1f;stroke-width:2.2px}.sc-wire.sc-ready{stroke:#45a63a;stroke-width:2px}.sc-wire.sc-tofinish{stroke:#cfcfc8}.sc-note{fill:#77776f;font-size:11px}.sc-end,.sc-head{fill:#6c6c64}.sc-more{fill:#f4f4f0;stroke:#c9c9c2;stroke-dasharray:3 3}.sc-tick{stroke:#e2d6a6;stroke-dasharray:2 3}.rm-table .rmg-group{text-align:left;background:#f3efe2;border-bottom:2px solid #d9a520;padding:6px 10px;font-size:12.5px;font-weight:600}.rmg-sub{color:#77776f;font-size:11.5px;font-weight:400}.rm-table .rmg-total{box-shadow:inset 2px 0 #d9a520}.ln-grid{row-gap:0;min-width:760px;display:grid}.ln-corner{color:#77776f;align-self:end;padding:4px 6px 8px;font-size:11.5px}.ln-hseg{border-bottom:1px solid #e6e6e0}.ln-hline{border-bottom:1px solid #e6e6e0;position:relative}.ln-lab{text-align:right;width:170px;font-size:12px;line-height:1.3;position:absolute;bottom:6px;right:6px}.ln-lab small{color:#77776f;font-size:11px;display:block}.ln-hline.st-r-risk .ln-lab small{color:#c4300f}.ln-hline.st-r-passed .ln-lab b{color:#45a63a}.ln-hline{height:54px}.ln-vline{background:#b9b9b2}.ln-vline.st-r-passed{background:#8fca86}.ln-vline.st-r-risk{background:#e57d1f}.ln-vline.st-r-work{background:#4a6fd6}.ln-seg{border-bottom:1px solid #ecece6;align-items:center;gap:6px;min-height:52px;padding:10px 8px;display:flex}.ln-seg.cur{background:#fffbef}.ln-left,.ln-right{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ln-right{justify-content:flex-end;margin-left:auto}.ln-empty{text-align:center;color:#77776f;flex:1;font-size:12px}.ln-note{color:#77776f;font-size:11px}.ln-chip{color:inherit;white-space:nowrap;text-overflow:ellipsis;background:#fff;border:1px solid;border-radius:7px;max-width:220px;padding:5px 9px;font-size:12.5px;text-decoration:none;overflow:hidden}.ln-chip code{color:#77776f;font-size:11px}.ln-work{background:#e4ecfb!important;border-color:#4a6fd6!important}.ln-marker{background:#33332e;border-radius:2px;width:3px;height:26px;margin:0 2px}.tabs .tabs-badge{align-self:center;margin-left:10px}.rm-table{width:auto}.rm-table .rm-cell{width:140px}.ln-grid{width:max-content;min-width:0}.ln-lab{width:150px}.rz-name.can{cursor:text;border-bottom:1px dashed #0000}.rz-name.can:hover{border-bottom-color:#a9a9a0}.rz-input{font:inherit;border:1px solid #2f6fed;border-radius:4px;width:150px;padding:1px 4px;font-size:12px}.rz-fo{text-align:right;color:#44443e;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.rz-fo.rz-center{text-align:center}.sc-wrap{position:relative}.sc-rname{z-index:1;width:220px;position:absolute}.ok-note{color:#2d7a24}.st-goal-line{stroke:#d4a017;stroke-width:3px}.st-goal-node{fill:#d4a017;stroke:#b8860b;stroke-width:2px}.st-goal-name{color:#8a6400}.st-nkey{font-weight:600}.ln-vline.ln-goal{background:#d4a017}.ln-hline.ln-goal .ln-lab b{color:#8a6400}.refs{flex-direction:column;gap:4px;margin:0 0 6px;padding:0;list-style:none;display:flex}.refs li{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.refs a{overflow-wrap:anywhere}.refs-add{flex-wrap:wrap;gap:6px;display:flex}.refs-add input{flex:140px;min-width:0}.meeting-tr{margin:2px 0 0}.field textarea{box-sizing:border-box;width:100%;font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);resize:vertical;border-radius:6px;padding:8px 10px}.rz-name .rz-title{font-weight:400}.rz-edit{justify-content:flex-end;align-items:center;gap:4px;display:inline-flex}.rz-edit .rz-input{width:140px}.ln-hline.ln-goal-on{height:76px}.ln-goal-tag{color:#8a6400;font-size:12px;font-weight:600;display:block}.ln-goal-on .ln-lab{width:230px}.tech-banner{color:#fff;background:#d9442f;border-radius:8px;margin:0 0 12px;padding:8px 14px;font-size:13.5px;font-weight:600}.tech-role{color:#c4300f;font-weight:600}.danger-zone{background:#fff7f5;border:1px solid #f1c4bc;border-radius:10px;margin-top:32px;padding:14px 16px}.danger-zone h3{color:#a3271a;margin-top:0}button.danger{color:#fff;background:#d9442f;border-color:#d9442f}button.danger:disabled{opacity:.5}.audit td{vertical-align:top;font-size:12.5px}.audit .audit-when{white-space:nowrap;color:var(--muted)}.audit-det{color:#4a4a44;overflow-wrap:anywhere;font-size:12px}.audit-key{color:var(--muted);font-size:11px}.audit-filter{flex-wrap:wrap;gap:6px;margin-bottom:10px}.audit-date{align-items:center;gap:4px;font-size:13px;display:inline-flex}.item-history{flex-direction:column;gap:6px;margin:4px 0 8px;padding:0;font-size:12.5px;list-style:none;display:flex}main:has(.audit-page){max-width:1600px}.audit th,.audit td:not(.audit-det){white-space:nowrap}.audit .audit-det{white-space:normal;min-width:320px}.spec-table td{vertical-align:top;padding:3px 4px}.spec-table input,.spec-table select{box-sizing:border-box;width:100%;font:inherit}.health{--hm-new:#3567c8;--hm-re:#e2a521;--hm-plan:#f0f2ee;--hm-rz:#c9cfc6}.hm-legend{flex-wrap:wrap;gap:6px 16px;margin:6px 0 10px;font-size:13px;display:flex}.hm-legend span{align-items:center;gap:6px;display:inline-flex}.hm-sw{border-radius:3px;width:22px;height:10px;display:inline-block}.hm-sw.new{background:var(--hm-new)}.hm-sw.re{background:var(--hm-re)}.hm-sw.plan{background:var(--hm-plan);border:1px solid var(--hm-rz)}.hm-scroll{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow-x:auto}.hm{min-width:700px;display:grid}.hm>div{border-bottom:1px solid var(--border)}.hm-corner{color:var(--muted);padding:8px 10px;font-size:12px}.hm-hd{text-align:center;border-left:2px solid var(--hm-rz);padding:6px 4px;font-size:12px}.hm-hd b{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.hm-hd small{color:var(--muted);font-size:11px}.hm-fn{align-items:baseline;gap:8px;padding:5px 10px;font-size:13px;display:flex}.hm-no{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;min-width:16px;font-size:11px}.hm-st{color:var(--muted);padding:5px 8px;font-size:12px}.hm-st[class*=lv-]{color:var(--text);font-weight:600}.hm-st.lv-alpha_candidate,.hm-st.lv-alpha{color:#2c4f8f}.hm-st.lv-beta,.hm-st.lv-commercial{color:#2d7a24}.hm-cell{border-left:2px solid var(--hm-rz);align-items:center;min-height:28px;padding:0 6px;display:flex}.hm-cell.plan,.hm-hd.plan,.hm-ft.plan{background:var(--hm-plan)}.hm-bar{border-radius:4px;width:100%;height:13px;display:block}.hm-bar.new{background:var(--hm-new)}.hm-bar.re{background:var(--hm-re)}.plan .hm-bar{opacity:.55}.hm-ftl{color:var(--muted);padding:6px 10px;font-size:12px;border-bottom:0!important}.hm-ft{border-left:2px solid var(--hm-rz);font-variant-numeric:tabular-nums;justify-content:center;gap:6px;padding:6px 4px;font-size:12px;display:flex;border-bottom:0!important}.hm-cn{color:var(--hm-new);font-weight:700}.hm-cr{color:var(--hm-re);font-weight:700}.bell{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:18px;display:inline-flex;position:relative}.bell:hover{background:#f1f1ef}.bell .emo{filter:grayscale();opacity:.45}.bell.hot .emo{filter:none;opacity:1}.bell.hot{background:#fdecec;border-color:#f3b8b8}.bell-n{box-sizing:border-box;color:#fff;text-align:center;background:#e03131;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;position:absolute;top:-4px;right:-6px}.bell-wrap{display:inline-flex;position:relative}.bell-pop{z-index:50;text-align:left;background:#fff;border:1px solid #e3e3e0;border-radius:10px;width:340px;max-height:70vh;padding:6px;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 10px 28px #0003}.bell-head{padding:4px 8px 6px;font-size:13px;font-weight:600}.bell-empty{margin:4px 8px 8px}.bell-item{color:inherit;border-radius:7px;flex-direction:column;gap:1px;padding:7px 8px;text-decoration:none;display:flex}.bell-item:hover{background:#f4f6fa}.bell-proj{align-items:baseline;gap:6px;font-size:13.5px;display:flex}.bell-cnt{box-sizing:border-box;color:#fff;text-align:center;background:#e03131;border-radius:9px;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:11px;font-weight:700;line-height:18px}.bell-text{color:#444;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.member-actions{white-space:nowrap}.member-actions .link+.link{margin-left:12px}.member-actions button.link.danger{color:var(--error);background:0 0;border:none;padding:0}.nowrap{white-space:nowrap}.va{--bg:#fff;--panel:#fbfbfa;--panel2:#f4f4f2;--line:#e3e3e0;--line2:#cfcfc9;--text:#1c1c1a;--dim:#77776f;--accent:#2f6fed;--radius:8px;color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.va .mapwrap{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);height:74vh;position:relative;overflow:hidden}.va .mapzoom{border-left:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:4px;margin-left:auto;padding-left:8px;display:flex}.va .mapzoom .mini{padding:2px 8px;font-size:12px}.va .vmenu{position:relative}.va .vmenu-pop{z-index:20;border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-wrap:wrap;align-items:center;gap:4px;width:max-content;max-width:420px;padding:8px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 4px 14px #00000024}.va .vmenu-pop .small{flex-basis:100%;margin-top:2px}.va .vmenu-val{font-variant-numeric:tabular-nums;min-width:52px;color:var(--text);font:600 15px/1 Segoe UI,system-ui,sans-serif}.va .vmenu-pop .mini{min-width:30px}.va .vmenu-pop .grow{flex:12px}.va .vmenu-reset{white-space:nowrap}.va .mapzoom label{cursor:pointer;align-items:center;gap:3px;font-size:12px;display:flex}.va .mapzoom input{accent-color:var(--accent);cursor:pointer;padding:0}.va .dim{color:var(--dim);font-size:13px;font-weight:400}.va .mapbox{cursor:grab;background-image:radial-gradient(#e9e9e5 1px,#0000 1px);background-size:22px 22px;width:100%;height:100%;overflow:hidden}.va .mapbox:active{cursor:grabbing}.va .mapinner{transform-origin:0 0;position:relative}.va .mapedges{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.va .edge{fill:none;stroke:#a9a9a0;stroke-width:1.5px}.va .edge.e-sel{stroke:var(--accent);stroke-width:2px}.va .elink path{fill:none;stroke:#e57d1f;stroke-width:1.6px;stroke-dasharray:6 4}.va .elink .elink-head{fill:#e57d1f;stroke:none}.va .elink.ready path{stroke:#45a63a}.va .elink.ready .elink-head{fill:#45a63a}.va .elink path.elink-hit{pointer-events:stroke;cursor:pointer;stroke:#0000!important;stroke-width:12px!important;stroke-dasharray:none!important}.va .elink.sel path:not(.elink-hit):not(.elink-head){stroke-width:2.6px;stroke-dasharray:8 3}.va .mapedges-top{pointer-events:none;z-index:6;position:absolute;top:0;left:0;overflow:visible}.va .elink-handle{fill:#fff;stroke:#2f6fed;stroke-width:2.5px;pointer-events:all;cursor:grab}.va .elink-handle.ro{cursor:default;stroke:#a9a9a0}.va .lk-badge{color:#a14b00;background:#fde9d4;border:1px solid #e8b27a;border-radius:10px;align-items:center;height:20px;padding:0 7px;font:400 11px/1 Segoe UI,system-ui,sans-serif;display:inline-flex}.va .vtoast.lk-mode{background:#a14b00}.va .edge-halo{fill:none;stroke:var(--bg);stroke-width:7px}.va .earrow{fill:#a9a9a0}.va .earrow.e-sel{fill:var(--accent)}.va .mnode{background:var(--bg);border:1px solid #a9a9a0;border-left:4px solid var(--kc,#2f6fed);border-radius:var(--radius);cursor:pointer;box-sizing:border-box;flex-direction:column;gap:2px;padding:7px 10px;display:flex;position:absolute;overflow:visible}.va .mnode:hover{border-color:#6f6f68;box-shadow:0 1px 4px #0000001a}.va .mnode.sel{box-shadow:0 0 0 2px var(--accent);border-color:var(--accent)}.va .mnode.s-agreed{background:#f4faf6}.va .mnode.s-proposed{border-color:#9a9a92;border-top-style:dashed;border-bottom-style:dashed;border-right-style:dashed;border-left-color:var(--kc,#2f6fed)}.va .mnode.s-failed{background:#f5f5f5;border-color:#c9c9c9}.va .mnode.s-failed .mq{color:#8a8a8a;text-decoration:line-through}.va .k-result{--kc:#1f8a4c}.va .mroot{--kc:#d9a520;background:#fffaf0;border:1px solid #d9a520;border-left-width:4px;padding-top:0}.va .mroot .mq{font-weight:600}.va .mhead{color:#fff;letter-spacing:.02em;background:#d9a520;flex:none;justify-content:space-between;align-items:center;gap:8px;height:24px;margin:0 -10px 4px;padding:0 10px;font-size:12px;font-weight:600;display:flex}.va .mhead .mhint{opacity:.85;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;font-weight:400;overflow:hidden}.va .mhead>span:first-child{white-space:nowrap;flex:none}.va .mkind{color:var(--dim);flex:none;justify-content:space-between;gap:8px;height:16px;font-size:11px;display:flex}.va .mstatus{font-size:11px}.va .mcode{background:var(--panel2);border:1px solid var(--line);color:#55554e;border-radius:4px;padding:0 5px;font-family:Consolas,Cascadia Mono,monospace;font-size:11px}.va .mq{white-space:pre-line;-webkit-box-orient:vertical;font-size:13px;line-height:18px;display:-webkit-box;overflow:hidden}.va .theses{white-space:pre-line}.va .mfoot{color:var(--dim);flex:none;align-items:center;gap:6px;height:22px;margin-top:auto;font-size:11px;display:flex;overflow:hidden}.va .mnode.k-result{background:#eaf6ef;border-color:#7fb896;justify-content:flex-start}.va .mnode:hover,.va .mnode.sel,.va .mnode.s-failed,.va .mnode.k-result{border-left-color:var(--kc,#2f6fed)}.va .mnode.k-result .mq{color:#23412f;font-size:12.5px}.va .chip{border:1px solid var(--line2);color:#55554e;white-space:nowrap;background:0 0;border-radius:10px;padding:1px 8px;font-size:11px}.va .chip.warn{color:#9a6b00;background:#fdf7ec;border-color:#e6cfa4}.va .grow{flex:1}.va .mini{background:var(--bg);color:#45453f;border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:3px 10px;font-family:inherit;font-size:12px}.va .mini:hover{border-color:var(--line2);color:var(--text)}.va .mini.ok{color:#14653a;border-color:#bfe3cc}.va .mfoot .mini{padding:1px 7px;font-size:11px}.va .mnode.compact{justify-content:center;padding:5px 10px 5px 6px}.va .mrow{align-items:center;gap:0;min-width:0;height:100%;display:flex;overflow:hidden}.va .mrow .mq{flex:1;min-width:0;margin:0 6px 0 8px}.va .micon{box-sizing:border-box;background:#f1f1ee;border:1px solid #e4e4de;border-radius:5px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;line-height:1;display:inline-flex}.va .mglyph{flex:none;display:block}.va .mart{margin-left:2px}.va .mart-out{background:#fff4e0;border-color:#e8c48a}.va .mart-in{background:#e7f1fd;border-color:#9cc0ea}.va .mart-internal{background:#eef6ec;border-color:#a9d3a0}.va .mnode .mcode{text-align:right;color:#9a9a92;font-variant-numeric:tabular-nums;background:0 0;border:0;flex:none;min-width:30px;padding:0;font-size:11px}.va .mrow .mcode{margin-left:8px}.va .z-small .mrow .mglyph{display:none}.va .mnode:hover .mcode{color:#55554e}.va .mnode:not(.k-result) .mkind{justify-content:flex-start;align-items:center;gap:8px;height:24px;margin-bottom:4px;overflow:hidden}.va .mlabel{color:var(--dim);white-space:nowrap;font-size:11px}.va .mpill{color:#333;white-space:nowrap;border-radius:9px;align-items:center;gap:4px;height:18px;padding:0 7px 0 3px;font-size:11px;display:inline-flex}.va .mnode.s-failed{opacity:.75}.va .mknob{box-sizing:border-box;color:#45453f;cursor:pointer;z-index:3;opacity:0;background:#fff;border:1px solid #a9a9a0;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font:600 11px/1 Segoe UI,system-ui,sans-serif;display:flex;position:absolute;right:-11px}.va .mknob:before{content:"";border-radius:50%;position:absolute;inset:-7px}.va .mknob svg{display:block}.va .mknob.on,.va .mknob:hover,.va .mnode:hover .mknob,.va .mnode.sel .mknob{opacity:1}.va .mknob:hover{border-color:var(--accent);color:var(--accent)}.va .mknob.down{bottom:-10px;right:auto}.va .mknob.down:before{border-radius:0 0 50% 50%;inset:10px -7px -7px}.va .mknob.down:not(.on){pointer-events:none}.va .mknob.down:not(.on):before,.va .mnode:hover .mknob.down,.va .mnode.sel .mknob.down{pointer-events:auto}.va .vseg{display:inline-flex}.va .vseg .mini{align-items:center;padding:0 7px;display:inline-flex}.va .vseg .mini:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.va .vseg .mini:last-child{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.va .mresize{cursor:ns-resize;z-index:2;height:10px;position:absolute;bottom:-5px;left:12px;right:12px}.va .mresize:after{content:"";opacity:0;background:#a9a9a0;border-radius:2px;width:32px;height:4px;margin-left:-16px;transition:opacity .12s;position:absolute;top:3px;left:50%}.va .mnode:hover .mresize:after{opacity:.9}.va .mresize:hover:after{background:var(--accent)}.va .vsplit{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);height:74vh;display:flex;position:relative;overflow:hidden}.va .vsplit .mapwrap{border:0;border-radius:0;flex:1;min-width:0;height:auto}.va .vtree{z-index:15;-webkit-user-select:none;user-select:none;color:var(--text);background:#fbfbfa;outline:none;padding:6px 0;font:13px Segoe UI,system-ui,sans-serif;position:absolute;top:0;bottom:0;left:0;overflow:auto;box-shadow:2px 0 10px #00000014}.va .vtree-row{white-space:nowrap;cursor:default;border:1px solid #0000;align-items:center;gap:4px;height:24px;padding-right:8px;display:flex}.va .vtree-row:hover{background:#e5f3ff}.va .vtree-row.sel{background:#cce8ff;border-color:#99d1ff}.va .vtree:not(:focus) .vtree-row.sel{background:#d9d9d9;border-color:#d9d9d9}.va .vtree-row.cancel .tname{color:#8a8a8a;text-decoration:line-through}.va .twisty{text-align:center;color:#5f5f5f;cursor:pointer;flex:none;width:14px;font-size:11px}.va .ticon{text-align:center;flex:none;width:18px;font-size:14px}.va .tdot{border-radius:50%;flex:none;width:7px;height:7px}.va .tkey{color:var(--dim);flex:none;font:11px Consolas,Cascadia Mono,monospace}.va .tname{text-overflow:ellipsis;overflow:hidden}.va .vsplitter{z-index:16;cursor:col-resize;background:var(--line);border-left:2px solid #fbfbfa;border-right:2px solid var(--bg);width:5px;position:absolute;top:0;bottom:0}.va .vsplitter:hover{background:var(--accent)}@media (width<=640px){.va .vsplit{height:64vh}}.va .vpalette{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:8px;padding:6px 8px;font:12.5px Segoe UI,system-ui,sans-serif;display:flex}.va .vp-title{color:var(--dim);margin-right:2px}.va .vpalette.vadd>.vp-title{white-space:nowrap;text-overflow:ellipsis;flex:0 0 250px;overflow:hidden}.va .vp-type,.va .vp-act{background:var(--bg);color:#45453f;border:1px solid var(--line);font:inherit;cursor:pointer;white-space:nowrap;border-radius:6px;padding:3px 8px}.va .vp-type:hover,.va .vp-act:hover:not(:disabled){border-color:var(--line2);color:var(--text)}.va .vp-type.on{border-color:var(--accent);color:#1e4fbb;background:#e8f0fe;font-weight:600}.va .vp-act{color:var(--accent);border-color:#c3d5fb}.va .vp-act:disabled{opacity:.45;cursor:default}.va .vp-icon{font-size:13px}.va .vp-sep{background:var(--line);align-self:stretch;width:1px;margin:0 12px}.va .vside{border-left:1px solid var(--line);--surface:#fff;--border:#e3e3e0;--muted:#77776f;--error:#c92a2a;width:400px;max-width:45%;color:var(--text);background:#fff;flex:none;overflow-y:auto}.va .vside.vside-cm{width:360px}.va .side-panel{padding:14px 16px 18px;font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.va .side-panel h4{margin:16px 0 6px}.va .side-panel .side-title{margin:6px 0 10px;font-size:16px}.va .side-panel input,.va .side-panel select{color:var(--text);border-color:var(--line);background:#fff}.va .side-panel .field-row .field{min-width:120px}.va .vp-type:disabled{opacity:.45;cursor:default}@media (width<=900px){.va .vside{z-index:8;width:min(400px,92%);max-width:none;position:absolute;top:0;bottom:0;right:0;box-shadow:-6px 0 16px #0002}.va .vsplit{position:relative}}.va .vfilter .vp-type.on{background:var(--bg);border-color:var(--line);color:#45453f;font-weight:400}.va .vfilter .vp-type.on .vp-icon{opacity:1}.va .vfilter .vp-type.off{color:#9a9a92;background:#f1f1ef;text-decoration:line-through}.va .vfilter .vp-type.off .vp-icon{filter:grayscale();opacity:.5}.va .vfilter .vp-type.empty{opacity:.55}.va .vp-count{color:var(--dim);margin-left:2px;font-size:11px}.va .vtree-row{position:relative}.va .vtree-row.drag-src,.va .mnode.drag-src{opacity:.4}.va .vtree-row.drop-inside,.va .mnode.drop-inside{box-shadow:inset 0 0 0 2px #2e9e5b}.va .mnode.drop-inside{box-shadow:0 0 0 3px #2e9e5b}.va .vtree-row.drop-no,.va .mnode.drop-no{box-shadow:inset 0 0 0 2px #d64545}.va .vtree-row.drop-before:after,.va .vtree-row.drop-after:after,.va .mnode.drop-before:after,.va .mnode.drop-after:after{content:"";background:var(--accent);pointer-events:none;border-radius:2px;height:3px;position:absolute;left:4px;right:4px}.va .vtree-row.drop-before:after{top:-2px}.va .vtree-row.drop-after:after{bottom:-2px}.va .mnode.drop-before:after{top:0}.va .mnode.drop-after:after{bottom:0}.va .vtree-row[draggable=true]{cursor:grab}.va .modal.settings{--surface:#fff;--border:#e3e3e0;--muted:#77776f;color:var(--text);background:#fff;max-width:560px}.va .modal.settings .opt{border-bottom:1px solid var(--line);cursor:pointer;align-items:flex-start;gap:10px;padding:10px 0;display:flex}.va .modal.settings .opt input{accent-color:var(--accent);margin-top:3px;padding:0}.va .mnote{z-index:3;box-sizing:border-box;-webkit-user-select:none;user-select:none;background:linear-gradient(180deg, var(--n1) 0%, var(--n2) 100%);border-radius:1px;display:flex;position:absolute;box-shadow:0 1px 1px #0000000d,3px 12px 14px -8px #00000047;container-type:inline-size}.va .nc-yellow{--n1:#fcf191;--n2:#fef5a8}.va .nc-orange{--n1:#ffd29c;--n2:#ffdfb8}.va .nc-pink{--n1:#fbc0d6;--n2:#fdd5e4}.va .nc-green{--n1:#c4eaa8;--n2:#d8f2c6}.va .nc-blue{--n1:#b9dcfa;--n2:#d0e8fc}.va .nc-purple{--n1:#d8c8f6;--n2:#e5dafa}.va .nc-gray{--n1:#e2e2dd;--n2:#ecece8}.va .mnote.editable{cursor:move;touch-action:none}.va .mnote.editable:hover,.va .mnote.writing{outline-offset:1px;outline:1.5px solid #2f6fed8c}.va .mnote-text,.va .mnote textarea{box-sizing:border-box;color:#2b2a1f;text-align:center;white-space:pre-wrap;overflow-wrap:break-word;flex:1;min-width:0;min-height:0;margin:0;padding:14px 16px;font:15px/1.35 Segoe UI,system-ui,sans-serif;overflow:hidden}.va .mnote-text{justify-content:center;align-items:center;display:flex}.va .mnote-text.empty{color:#2b2a1f61;font-size:13px}.va .mnote textarea{resize:none;cursor:text;background:0 0;border:0;outline:none;overflow:auto}.va .mnote-del{color:#6d6420;cursor:pointer;background:#0000000f;border:0;border-radius:50%;width:18px;height:18px;padding:0;font-size:10px;line-height:18px;display:none;position:absolute;top:3px;right:3px}.va .mnote:hover .mnote-del{display:block}.va .mnote-del:hover{color:#c0392b;background:#fde3e3}.va .mnote-size{cursor:nwse-resize;touch-action:none;z-index:4;width:24px;height:24px;position:absolute;bottom:-12px;right:-12px}.va .mnote-size:after{content:"";opacity:0;background:linear-gradient(135deg,#0000 55%,#78640059 55%);width:12px;height:12px;position:absolute;top:0;left:0}.va .mnote:hover .mnote-size:after,.va .mnote-size:hover:after{opacity:1}.va .mnode .mq{color:#222}.va .mnum{color:inherit;font-weight:600}.va .mrename{box-sizing:border-box;resize:none;z-index:4;color:#222;border:1px solid var(--accent);background:#fff;border-radius:4px;outline:none;min-width:0;padding:2px 5px;font:13px/18px Segoe UI,system-ui,sans-serif;display:block;position:relative;overflow:hidden}.va .mrow .mrename{flex:auto;align-self:center;margin:-3px 0 -3px 2px}.va .mnode>.mrename{flex:none;align-self:stretch;width:calc(100% + 12px);margin:-3px -6px}.va .mroot>.mrename{font-weight:600}.va .mnode.renaming,.va .mnode.renaming .mrow{overflow:visible}.va .vtree-row .mrename{box-shadow:none;flex:auto;margin:0 0 0 4px;padding:0 4px;font-size:12.5px;line-height:18px}.va .vp-edit.on{color:#a14d00;background:#fdeedd;border-color:#e8a25c;font-weight:600}.va .vside-note{color:#7a5600;background:#fdf7ec;border:1px solid #e6cfa4;border-radius:6px;margin:0 0 8px;padding:6px 10px;font-size:12.5px}.va .mnode{-webkit-user-select:none;user-select:none}.va .vp-edit{margin-left:auto}.va .mnote-fs{align-items:center;gap:4px;display:none;position:absolute;bottom:6px;right:16px}@container (width<=139px){.va .mnote-fsv{display:none}}.va .mnote:hover .mnote-fs,.va .mnote.writing .mnote-fs{display:flex}.va .mnote-fs button{color:#6e6014b3;cursor:pointer;background:0 0;border:0;width:20px;height:20px;padding:0;font-size:16px;line-height:20px}.va .mnote-fs button:hover{color:#2b2a1f}.va .mnote-fsv{text-align:center;color:#6e6014bf;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;min-width:18px;font:12px/20px Segoe UI,system-ui,sans-serif}.va .mhead-num{color:#222;white-space:nowrap;font:600 14px/20px Segoe UI,system-ui,sans-serif}.va .mnum-edit{white-space:nowrap;flex:none;margin-left:8px;font-size:13px;line-height:18px}.va .mrow .mnum-edit+.mrename{margin-left:-2.5px}.va .mnote-body{overflow-wrap:break-word;min-width:0;max-width:100%;display:block}.va .rsel-tags{z-index:5;pointer-events:auto;gap:3px;display:flex;position:absolute;top:-10px;left:10px}.va .rsel-tag{color:#fff;white-space:nowrap;border-radius:8px;padding:0 6px;font:600 10px/16px Segoe UI,system-ui,sans-serif}.va .rcursor{z-index:10;pointer-events:none;transform-origin:0 0;transition:left .16s linear,top .16s linear;position:absolute}.va .rcursor svg{filter:drop-shadow(0 1px 1px #00000040);display:block}.va .rcursor span{background:var(--pc);color:#fff;white-space:nowrap;border-radius:9px;padding:0 7px;font:600 11px/18px Segoe UI,system-ui,sans-serif;position:absolute;top:16px;left:14px}.va .mnote-color{cursor:pointer;background:linear-gradient(180deg, var(--n1), var(--n2));border:1.5px solid #00000040;border-radius:50%;width:16px;height:16px;padding:0;display:none;position:absolute;top:4px;left:4px}.va .mnote:hover .mnote-color,.va .mnote.picking .mnote-color{display:block}.va .mnote-color:hover{border-color:#00000080}.va .mnote-palette{border:1px solid var(--line);z-index:6;background:#fff;border-radius:8px;gap:5px;padding:5px 6px;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 3px 10px #00000026}.va .mnote-palette button{cursor:pointer;background:linear-gradient(180deg, var(--n1), var(--n2));border:1.5px solid #00000026;border-radius:50%;width:20px;height:20px;padding:0}.va .mnote-palette button.on,.va .mnote-palette button:hover{border-color:var(--accent);box-shadow:0 0 0 2px #2f6fed33}.va.rm-mode .mnode:not(.rm-on):not(.mroot),.va.rm-mode .mnote{filter:grayscale();opacity:.45}.va.rm-mode .mnode:not(.mroot):not(.k-result){cursor:copy}.va.rm-mode .mnode.rm-on{cursor:pointer}.va.rm-mode .mnode.rm-no:not(.rm-on){cursor:not-allowed;opacity:.25}.va .rm-badge{box-sizing:border-box;color:#fff;text-align:center;z-index:5;background:#d6336c;border-radius:10px;min-width:20px;height:20px;padding:0 5px;font:400 11px/20px Segoe UI,system-ui,sans-serif;position:absolute;top:-9px;right:34px;box-shadow:0 1px 3px #00000040}.va .vp-rm.on{color:#a1184c;background:#fde7ef;border-color:#e88aa9;font-weight:600}.va .vp-right{gap:4px;margin-left:auto;display:inline-flex}.va .vp-right .vp-edit{margin-left:0}.va .vp-panels{gap:4px;display:inline-flex}.va .vp-panels.vp-push{margin-left:auto}.va .ctx-menu{z-index:60;box-sizing:border-box;border:1px solid var(--line);background:#fff;border-radius:8px;min-width:200px;max-width:280px;max-height:calc(100vh - 16px);padding:4px;font:13px/1.3 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;position:fixed;top:0;left:0;overflow-y:auto;box-shadow:0 6px 18px #00000029}.va .ctx-head{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid var(--line);margin-bottom:4px;padding:6px 10px;font-size:12px;overflow:hidden}.va .ctx-menu button{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;padding:7px 10px;display:flex}.va .ctx-menu button:hover:not(:disabled){background:#f1f1ec}.va .ctx-menu button:disabled{color:#b0b0aa;cursor:default}.va .ctx-key{color:var(--dim);margin-left:auto;padding-left:16px;font-size:11px}.va .ctx-mark{width:14px;color:var(--accent);flex:none;font-weight:700}.va .ctx-menu button .emo{margin-right:4px}.va .vtoast{z-index:70;color:#fff;background:#2b2b27;border-radius:8px;padding:8px 14px;font:13px/1.3 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #0003}.va .ctx-sep{background:var(--line);height:1px;margin:4px 6px}.va .ctx-menu .ctx-danger:not(:disabled){color:#c92a2a}.va .ctx-menu .ctx-danger:hover:not(:disabled){background:#fdecec}.va .mbadges{z-index:5;align-items:center;gap:4px;display:flex;position:absolute;top:-10px;right:8px}.va .mbadges .rm-badge{position:static}.va .cm-badge,.va .cm-add{z-index:5;cursor:pointer;color:#45453f;background:#fff;border:1px solid #d8d8d2;border-radius:10px;align-items:center;gap:3px;height:20px;padding:0 7px;font:600 11px/1 Segoe UI,system-ui,sans-serif;display:inline-flex;position:relative;box-shadow:0 1px 3px #00000026}.va .cm-badge{background:#fff8d6;border-color:#e6cf6e}.va .cm-badge.on,.va .cm-add.on{border-color:var(--accent)}.va .cm-add{visibility:hidden;padding:0 5px}.va .mnode:hover .cm-add,.va .cm-add.on{visibility:visible}.va .cm-pop{z-index:30;border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;max-height:420px;font:13px/1.4 Segoe UI,system-ui,sans-serif;display:flex;position:absolute;box-shadow:0 8px 24px #0000002e}.va .cm-head{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 10px;display:flex}.va .cm-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:600;overflow:hidden}.va .cm-title code{color:var(--dim);font-size:11px;font-weight:400}.va .cm-list{flex-direction:column;flex:1;gap:10px;min-height:40px;padding:6px 10px;display:flex;overflow-y:auto}.va .cm-item{gap:8px;display:flex}.va .cm-item.resolved{opacity:.55}.va .cm-ava{color:#fff;border-radius:50%;flex:0 0 26px;justify-content:center;align-items:center;height:26px;font-size:11px;font-weight:600;display:inline-flex}.va .cm-body{flex:1;min-width:0}.va .cm-meta{align-items:baseline;gap:6px;font-size:12px;display:flex}.va .cm-text{white-space:pre-wrap;overflow-wrap:break-word;margin-top:2px}.va .cm-panel .modal-head{align-items:center;gap:8px;display:flex}.va .cm-panel .modal-head b{flex:1}.va .cm-filter{flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 12px;display:flex}.va .cm-mine{color:var(--dim);cursor:pointer;align-items:center;gap:4px;margin-left:auto;display:inline-flex}.va .cm-thread{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;gap:8px;margin-bottom:10px;padding:10px 12px;display:flex}.va .cm-thread:hover{border-color:#b9b9b0}.va .cm-thread.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.va .cm-thead{align-items:center;gap:8px;min-width:0;font-weight:600;display:flex}.va .cm-thead .micon{flex:none}.va .cm-tlabel{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.va .cm-thead code{color:var(--dim);font-size:11px;font-weight:400}.va .cm-clamp{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.va .cm-more{margin-left:34px}.va .cm-links{gap:10px;margin-top:2px;font-size:11.5px;display:flex}.va .cm-closed{align-self:flex-start;font-size:12px}.va .cm-empty{margin:4px 0}.va .cm-new,.va .cm-edit{flex-direction:column;gap:6px;display:flex}.va .cm-new{border-top:1px solid var(--line);padding:8px 10px}.va .cm-new textarea,.va .cm-edit textarea{box-sizing:border-box;resize:vertical;width:100%;min-height:54px;font:inherit;border:1px solid var(--line);border-radius:6px;padding:6px 8px}.va .cm-actions{align-items:center;gap:6px;display:flex}.va .mnode.ghost{filter:grayscale();opacity:.38;pointer-events:none}.va .vtree-row.ghost{opacity:.4;pointer-events:none}.va .mnode.ghost .mknob,.va .vtree-row.ghost .twisty{pointer-events:auto}.va .vview .mini{padding:3px 8px;font-size:12.5px;line-height:normal}.va .vview .vseg .mini{align-self:stretch;padding:3px 7px}.va .vview .mini.ok{border-color:var(--accent);color:#1e4fbb;background:#e8f0fe;font-weight:600}.va .vview .vseg .mini.ok{z-index:1;position:relative}.va.va-tabbar{display:flex}.va-tabbar .vview{background:0 0;border:0;flex-wrap:nowrap;gap:3px;margin:0;padding:0}.va-tabbar .vview .vp-type{padding:3px 7px}.va-tabbar .vview .vp-sep{margin:0 12px}.va .vside.vside-show{width:290px}.va .vshow .vp-type{white-space:nowrap}.va .vshow{flex-direction:column;gap:4px;display:flex}.va .vshow .vp-type{text-align:left;align-items:center;gap:6px;display:flex}.va .vshow .vp-count{margin-left:auto}.va .vshow .vp-hier{margin-left:22px}.va .vshow-h{color:var(--dim);text-transform:uppercase;letter-spacing:.03em;margin:8px 0 2px;font-size:11.5px}.va .vshow-h:first-child{margin-top:0}.va .vshow-acts{gap:6px;margin-top:8px;display:flex}.va .elink.folded>path:not(.elink-hit){opacity:.55}.va .vtoast-err{z-index:90;color:#3a2622;background:#fff;border:1px solid #f1c4bc;border-left:4px solid #d9442f;border-radius:10px;align-items:flex-start;gap:10px;max-width:min(460px,100vw - 32px);padding:10px 12px;font:13px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;animation:.18s ease-out vtoast-in;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000029}.va .vtoast-ico{color:#fff;text-align:center;background:#d9442f;border-radius:50%;flex:none;width:18px;height:18px;margin-top:1px;font:700 12px/18px system-ui,sans-serif}.va .vtoast-txt{flex:1}.va .vtoast-x{color:#8a7a76;cursor:pointer;background:0 0;border:0;flex:none;padding:2px 2px 0;font-size:12px}.va .vtoast-x:hover{color:#3a2622}@keyframes vtoast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.va .vside.vside-chat{flex-direction:column;width:340px;display:flex;overflow:hidden}.va .ch-panel{flex-direction:column;flex:1;min-height:0;padding-bottom:10px;display:flex}.va .ch-panel.drag{outline:2px dashed var(--accent);outline-offset:-6px;background:#f6faff}.va .ch-online{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:4px 10px;padding:0 0 8px;font-size:12.5px;display:flex}.va .ch-who{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.va .ch-who .cm-ava{flex:0 0 18px;width:18px;height:18px;font-size:9px}.va .ch-dot{background:#2f9e44;border-radius:50%;width:7px;height:7px}.va .ch-feed{flex-direction:column;flex:1;gap:6px;min-height:0;padding:8px 2px;display:flex;overflow-y:auto}.va .ch-older{align-self:center;font-size:12.5px}.va .ch-sys{color:var(--muted);background:#f3f3f1;border-radius:10px;align-self:center;padding:1px 10px;font-size:11.5px}.va .ch-sys.out{color:#a05a00}.va .ch-msg .cm-text{white-space:pre-wrap;overflow-wrap:anywhere}.va .ch-msg .cm-body{border-radius:6px;padding:3px 7px}.va .ch-msg.mine .cm-body{background:#eef5ff}.va .ch-del{visibility:hidden;margin-left:auto;font-size:11.5px}.va .ch-msg:hover .ch-del,.va .ch-del:focus{visibility:visible}.va .ch-files{flex-direction:column;gap:4px;margin-top:4px;display:flex}.va .ch-img img{border:1px solid var(--line);border-radius:6px;max-width:100%;max-height:220px;display:block}.va .ch-file{align-items:center;gap:4px;max-width:100%;font-size:12.5px;display:inline-flex}.va .ch-fname{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.va .ch-new{border-top:1px solid var(--line);padding-top:8px}.va .ch-pending{flex-wrap:wrap;gap:4px;margin-bottom:6px;display:flex}.va .ch-chip{border:1px solid var(--line);background:#f3f3f1;border-radius:6px;align-items:center;gap:4px;max-width:100%;padding:2px 6px;font-size:12px;display:inline-flex}.va .ch-chip img{object-fit:cover;border-radius:3px;width:28px;height:28px}.va .ch-chip.bad{color:#c92a2a;background:#fdf0f0;border-color:#e8a1a1}.va .vp-count.ch-unread{color:#fff;background:#e8590c;border-radius:9px;padding:0 6px}.va .ch-new{position:relative}.va .ch-pick{z-index:5;border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;max-height:240px;margin-bottom:4px;padding:4px;display:flex;position:absolute;bottom:100%;left:0;right:0;overflow-y:auto;box-shadow:0 6px 18px #0002}.va .ch-pick button{text-align:left;color:var(--text);cursor:pointer;font:inherit;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:5px;padding:5px 8px;font-size:13px;overflow:hidden}.va .ch-pick button.on,.va .ch-pick button:hover{background:#eef5ff}.va .ch-at{color:#1c62c4;font-weight:600}.va .ch-msg.tome .cm-body{background:#fff4e0;box-shadow:inset 0 0 0 1px #f0c36d}.va .mnode.locked,.va .vtree-row.locked{opacity:.45;filter:grayscale();pointer-events:none}.va .mnode.locked:after{content:"редактируется";color:#555;font-size:10px;position:absolute;bottom:1px;left:34px}main:has(.va .vsplit){padding-bottom:12px}.va .elink-dot{fill:#e57d1f;pointer-events:none}.va .elink-dot.ready{fill:#45a63a}.st-rn{fill:#c2185b;font-weight:700}.ln-rn{color:#c2185b;font-size:.92em;font-weight:700}.rz-anchor{color:#6b6b62;font-weight:400}.ln-indep .ln-left{flex:1}.ln-indep .ln-chip{flex:1;max-width:none}.pct-num{text-align:right;font-variant-numeric:tabular-nums;min-width:5ch;display:inline-block}
