*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}#chat-fab{position:fixed;right:22px;bottom:22px;z-index:1200;width:54px;height:54px;border-radius:14px;cursor:pointer;font-size:24px;border:none;color:#fff;padding:0;overflow:hidden;background:linear-gradient(135deg,var(--accent-2, #4cc9f0),#4361ee);box-shadow:0 6px 20px #0006}#chat-fab:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000080}.chat-fab-icon{width:100%;height:100%;object-fit:cover;display:block}#chat-panel{display:flex;flex-direction:column;flex-shrink:0;background:var(--surface, #161b22);border:none;border-left:1px solid var(--border, #30363d);box-shadow:-8px 0 32px #00000059;overflow:hidden}body.chat-split #chat-fab{display:none}body.chat-split #chat-panel{width:50%}body.chat-split .toolbar-group[aria-label=Relatórios]{display:none}@media (orientation: portrait){body.chat-split .workspace{flex-direction:column}body.chat-split #chat-panel{width:100%;height:50%;border-left:none;border-top:1px solid var(--border, #30363d)}}body.v3d-2d-split .workspace{width:50vw}body.v3d-2d-split #chat-fab{right:calc(50vw + 22px)}body.v3d-2d-split .toast-container{right:calc(50vw + 18px)}body.v3d-2d-split .modal-overlay{right:50vw}@media (orientation: portrait){body.v3d-2d-split .workspace{width:100%}body.v3d-2d-split #chat-fab{right:22px}body.v3d-2d-split .toast-container{right:18px}body.v3d-2d-split .modal-overlay{right:0}}#chat-panel.chat-hidden,.chat-cfg-box.chat-hidden{display:none}.chat-viewer{display:none;flex-direction:column;background:#0d1117;border-bottom:1px solid var(--border, #30363d)}.chat-viewer.chat-hidden{display:none}.chat-viewer:not(.chat-hidden){display:flex;flex:1 1 auto;min-height:240px}.chat-viewer-bar{display:flex;align-items:center;justify-content:space-between;padding:7px 12px;background:var(--surface-2, #1c2128);font-size:12px;font-weight:700;color:var(--text, #e6edf3)}.chat-viewer-bar button{background:transparent;border:none;color:var(--text-muted, #8b949e);cursor:pointer;font-size:16px;padding:2px 8px;border-radius:6px}.chat-viewer-bar button:hover{background:var(--hover-soft);color:var(--text)}.chat-viewer-img{flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;padding:8px;background:#0d1117}.chat-viewer-img img{max-width:100%;max-height:100%;object-fit:contain}.chat-has-viewer #chat-msgs{flex:0 0 26%;min-height:56px}.chat-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border, #30363d);background:var(--surface-2, #1c2128)}.chat-title{font-weight:700;font-size:14px;color:var(--text, #e6edf3)}.chat-head-btns{margin-left:auto}.chat-scan-btn{margin-left:10px;background:#7c5cff26;border:1px solid rgba(124,92,255,.5);color:#b9a8ff;border-radius:7px;padding:3px 9px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .12s,color .12s,border-color .12s}.chat-scan-btn:hover{background:#7c5cff47;color:#fff}.chat-scan-btn--active{background:#ff6b812e;border-color:#ff6b818c;color:#ff8aa0}.chat-head-btns button{background:transparent;border:none;color:var(--text-muted, #8b949e);cursor:pointer;font-size:15px;padding:4px 6px;border-radius:6px}.chat-head-btns button:hover{background:var(--hover-soft);color:var(--text)}.chat-cfg-box{padding:12px 14px;border-bottom:1px solid var(--border, #30363d);background:var(--surface-2, #1c2128)}.chat-cfg-box label{display:block;font-size:11px;color:var(--text-muted, #8b949e);margin-bottom:6px}.chat-cfg-box input{width:100%;padding:8px 10px;border-radius:7px;font-size:13px;background:var(--surface, #0d1117);border:1px solid var(--border, #30363d);color:var(--text, #e6edf3)}.chat-cfg-row{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.chat-cfg-hint{font-size:10px;color:var(--text-muted, #8b949e)}.chat-cfg-row button{padding:6px 14px;border-radius:6px;border:none;cursor:pointer;font-weight:700;font-size:12px;background:var(--accent-2, #4cc9f0);color:#07121b}.chat-clear-btn{width:100%;background:var(--surface-2, #1c2128)!important;color:#ff8aa0!important;border:1px solid var(--border, #30363d)!important}.chat-clear-btn:hover{background:#e945602e!important}.chat-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}.chat-empty{color:var(--text-muted, #8b949e);font-size:13px;line-height:1.5;text-align:center;margin:auto;padding:10px}.chat-msg{max-width:88%;padding:9px 12px;border-radius:12px;font-size:13px;line-height:1.5;word-wrap:break-word}.chat-msg--user{align-self:flex-end;background:var(--accent-2, #4cc9f0);color:#07121b;border-bottom-right-radius:4px}.chat-msg--assistant{align-self:flex-start;background:var(--surface-2, #1c2128);color:var(--text, #e6edf3);border:1px solid var(--border, #30363d);border-bottom-left-radius:4px;max-width:94%}.chat-msg--assistant .cmd-h{font-weight:700;font-size:13.5px;color:#cdd9ff;margin:9px 0 3px}.chat-msg--assistant .cmd-h:first-child{margin-top:0}.chat-msg--assistant .cmd-p{margin:4px 0}.chat-msg--assistant .cmd-ul,.chat-msg--assistant .cmd-ol{margin:3px 0 6px;padding-left:20px}.chat-msg--assistant .cmd-ul li,.chat-msg--assistant .cmd-ol li{margin:2px 0}.chat-msg--assistant .cmd-h+.cmd-ul,.chat-msg--assistant .cmd-h+.cmd-ol{margin-top:2px}.chat-msg--assistant b{color:#fff}.chat-msg--assistant code{background:var(--bg);border:1px solid var(--border, #30363d);border-radius:4px;padding:0 4px;font-size:12px}.chat-msg--assistant .cmd-hr{border:none;border-top:1px solid var(--border, #30363d);margin:8px 0}.chat-msg--assistant .chat-tag-ref--linked{color:var(--accent-2, #4cc9f0);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;cursor:pointer;font-weight:650}.chat-msg--assistant .chat-tag-ref--linked:hover{text-decoration-style:solid}.chat-img{display:block;width:160px;height:160px;object-fit:contain;border-radius:8px;border:1px solid var(--border, #30363d);margin-bottom:6px;background:var(--bg)}.chat-input{display:flex;gap:8px;padding:10px;border-top:1px solid var(--border, #30363d);background:var(--surface-2, #1c2128)}.chat-input textarea{flex:1;resize:none;padding:9px 11px;border-radius:9px;font-size:13px;font-family:inherit;background:var(--surface, #0d1117);border:1px solid var(--border, #30363d);color:var(--text, #e6edf3)}.chat-input button{flex-shrink:0;width:42px;border-radius:9px;border:none;cursor:pointer;font-size:16px;background:var(--accent-2, #4cc9f0);color:#07121b}.chat-input button:hover{filter:brightness(1.1)}.chat-input button:disabled{cursor:wait;opacity:.45;filter:none}.chat-input .chat-cancel{background:#e945602e;color:#ff8aa0;border:1px solid rgba(233,69,96,.55)}.chat-input .chat-cancel:hover{background:#e945604d}.report-view{position:fixed;inset:0;z-index:1100;background:#5a6473;overflow:auto;padding:24px 0 60px}.report-hidden{display:none}.report-actions{position:sticky;top:0;z-index:2;display:flex;gap:10px;justify-content:center;padding:12px;margin:-24px 0 20px;background:#141c2beb;backdrop-filter:blur(4px);border-bottom:1px solid #2a3650}.btn-primary{padding:9px 18px;border-radius:var(--radius);cursor:pointer;background:var(--accent-2);color:#07121b;border:none;font-weight:700;font-size:var(--fs-base);transition:filter .15s ease,transform .08s ease,box-shadow .15s ease}.btn-primary:hover{filter:brightness(1.08);box-shadow:0 4px 14px #4cc9f047}.btn-primary:active{transform:translateY(1px)}.btn-ghost{padding:9px 16px;border-radius:var(--radius);cursor:pointer;background:transparent;color:#e7ecf3;border:1px solid #3a4866;font-size:var(--fs-base);transition:background .15s ease,border-color .15s ease}.btn-ghost:hover{background:#ffffff14;border-color:#5a6a8c}.report-page{width:210mm;min-height:297mm;margin:0 auto;padding:18mm 16mm;background:#fff;color:#1a2230;box-shadow:0 10px 40px #0006;font-size:11px}.report-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:12px;border-bottom:2px solid #1a2230;margin-bottom:16px}.report-kicker{font-size:10px;letter-spacing:2px;color:#6b7689;font-weight:700}.report-header h1{font-size:22px;margin-top:2px;color:#0f1722}.report-meta{display:flex;gap:22px}.report-meta div{text-align:right}.report-meta span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#8a93a3}.report-meta b{font-size:16px;color:#0f1722}.report-diagram{width:100%;height:120mm;border:1px solid #d4d9e0;border-radius:4px;overflow:hidden;background:#fff;margin-bottom:18px}.report-diagram svg{width:100%;height:100%}.report-diagram svg path,.report-diagram svg line,.report-diagram svg polyline,.report-diagram svg rect,.report-diagram svg circle,.report-diagram svg ellipse{stroke:#2a3340!important}.report-h2{font-size:13px;color:#0f1722;margin-bottom:8px;border-left:3px solid var(--accent-2);padding-left:8px}.report-table{width:100%;border-collapse:collapse}.report-table th{text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:#6b7689;padding:7px 8px;border-bottom:2px solid #1a2230}.report-table td{padding:6px 8px;border-bottom:1px solid #e4e8ee;vertical-align:top}.report-table tr:nth-child(2n) td{background:#f7f9fc}.r-num{color:#98a2b3;width:24px}.r-tag{font-weight:700;color:#0f1722;font-family:var(--mono);white-space:nowrap}.r-mono{font-family:var(--mono);font-size:10px;color:#46506b}.r-status{padding:1px 7px;border-radius:10px;font-size:9px;font-weight:700}.r-ok{background:#dff5e7;color:#1c7a44}.r-alarm{background:#fde2e6;color:#c0334a}.r-off{background:#eceef2;color:#6b7689}.r-undef{background:#f1f3f7;color:#9aa3b2}.r-empty{text-align:center;color:#98a2b3;padding:20px}.report-footer{margin-top:18px;padding-top:10px;border-top:1px solid #e4e8ee;font-size:9px;color:#98a2b3;text-align:center}@media print{body *{visibility:hidden!important}#report-view,#report-view *{visibility:visible!important}#report-view{position:absolute;inset:0;background:#fff;padding:0;overflow:visible}.no-print{display:none!important}.report-page{box-shadow:none;margin:0;width:auto}@page{size:A4;margin:12mm}}.loading-overlay{position:fixed;inset:0;z-index:1200;background:#080c148c;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;transition:opacity .2s ease}.loading-hidden{opacity:0;pointer-events:none}.loading-card{display:flex;flex-direction:column;align-items:center;gap:16px;padding:28px 36px;background:#151c2b;border:1px solid #2a3650;border-radius:12px;box-shadow:0 24px 64px #00000080;color:#e7ecf3;font-size:13px}.spinner{width:34px;height:34px;border:3px solid rgba(76,201,240,.2);border-top-color:#4cc9f0;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pid-draw{display:none;color:#2a3650}.loading-card--pid .spinner{display:none}.loading-card--pid .pid-draw{display:block}.pid-draw-grid{opacity:.55}.pid-draw-pipe{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3.4;stroke-dasharray:100 100;stroke-dashoffset:100;opacity:0;animation-duration:3.6s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.pid-draw-pipe--a{stroke:var(--accent-2, #4cc9f0);animation-name:pid-draw-pipe-a}.pid-draw-pipe--b{stroke:#46d17a;animation-name:pid-draw-pipe-b;animation-delay:.32s}@keyframes pid-draw-pipe-a{0%,4%{stroke-dashoffset:100;opacity:0}10%{opacity:1}38%,84%{stroke-dashoffset:0;opacity:1}96%,to{stroke-dashoffset:100;opacity:0}}@keyframes pid-draw-pipe-b{0%,4%{stroke-dashoffset:100;opacity:0}10%{opacity:1}38%,76%{stroke-dashoffset:0;opacity:1}88%,to{stroke-dashoffset:100;opacity:0}}.pid-draw-flow{fill:#e7ecf3;opacity:0;offset-rotate:0deg;animation-duration:3.6s;animation-timing-function:linear;animation-iteration-count:infinite}.pid-draw-flow--a{offset-path:url(#pid-draw-path-a);animation-name:pid-draw-flow-a;animation-delay:.1s}.pid-draw-flow--b{offset-path:url(#pid-draw-path-b);animation-name:pid-draw-flow-b;animation-delay:.42s}@keyframes pid-draw-flow-a{0%,40%{offset-distance:0%;opacity:0}46%{opacity:1}80%{offset-distance:100%;opacity:1}86%,to{offset-distance:100%;opacity:0}}@keyframes pid-draw-flow-b{0%,40%{offset-distance:0%;opacity:0}46%{opacity:1}74%{offset-distance:100%;opacity:1}82%,to{offset-distance:100%;opacity:0}}.pid-draw-valve{fill:none;stroke:#e7ecf3;stroke-width:2;stroke-linejoin:round;transform-origin:58px 37px;transform-box:fill-box;opacity:0;transform:scale(.4);animation:pid-draw-valve 3.6s ease-in-out infinite}.pid-draw-valve path{fill:#4cc9f02e}@keyframes pid-draw-valve{0%,40%{opacity:0;transform:scale(.4)}46%{opacity:1;transform:scale(1.18)}52%,84%{opacity:1;transform:scale(1)}96%,to{opacity:0;transform:scale(.4)}}.toast-container{position:fixed;bottom:38px;right:18px;z-index:1300;display:flex;flex-direction:column;gap:10px;align-items:flex-end}body.chat-split .toast-container{right:calc(50vw + 18px)}@media (orientation: portrait){body.chat-split .toast-container{right:12px;left:12px;bottom:84px;align-items:center}}.toast{display:flex;align-items:center;gap:10px;min-width:240px;max-width:380px;padding:11px 14px;background:#1d2740;border:1px solid #2a3650;border-left:3px solid #4cc9f0;border-radius:8px;box-shadow:0 8px 24px #00000059;color:var(--text);font-size:12.5px;line-height:1.35;animation:toast-in .22s cubic-bezier(.2,.8,.2,1)}.toast.toast-out{animation:toast-out .2s ease forwards}.toast--ok{border-left-color:#3ddc84}.toast--warn{border-left-color:#ffd166}.toast--err{border-left-color:#ff5d73}.toast-icon{font-size:14px;flex-shrink:0}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translate(20px)}}.modal-overlay{position:fixed;inset:0;z-index:1000;background:#050a1499;backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center}.modal-hidden{display:none}.lib-dock{position:fixed;left:0;top:56px;bottom:26px;z-index:900;width:400px;max-width:92vw;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border);box-shadow:4px 0 24px #0006;transition:transform .2s ease}.lib-dock.lib-hidden{transform:translate(-105%)}.lib-dock .modal-box{width:100%;max-width:none;max-height:none;height:100%;border:none;border-radius:0;box-shadow:none;animation:none}body.lib-dock-open #svg-wrapper{margin-left:400px;width:calc(100% - 400px)}.instrument-panel{position:fixed;z-index:9300;top:var(--toolbar-h, 58px);right:0;bottom:0;width:min(430px,100vw);display:flex;flex-direction:column;background:var(--surface);color:var(--text);border-left:1px solid var(--border);box-shadow:-10px 0 30px #0003;box-sizing:border-box;overflow:hidden}.instrument-panel--hidden{display:none}.instrument-head{display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:14px 18px;border-bottom:1px solid var(--border);box-sizing:border-box}.instrument-head strong,.instrument-head small{display:block}.instrument-head strong{font-size:16px;line-height:1.2}.instrument-head small{margin-top:3px;color:var(--muted);font-size:11px}.instrument-head button{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;line-height:1;border:1px solid var(--border);border-radius:7px;background:var(--surface-2, rgba(127,127,127,.06));color:var(--muted);font-size:20px;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.instrument-head button:hover{color:var(--text);background:var(--hover-soft, rgba(255,255,255,.08));border-color:color-mix(in srgb,var(--border) 60%,var(--text))}.instrument-head-main{display:flex;align-items:center;gap:8px;min-width:0}.instrument-head-main>div{min-width:0}.instrument-head-main strong{overflow-wrap:anywhere}.instrument-head-actions{display:flex;align-items:center;gap:5px;flex-shrink:0}.instrument-datasheet-form{padding:4px 14px 8px}.instrument-datasheet-form .edit-input[readonly]{opacity:.72;cursor:not-allowed}.edit-tag-button{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;cursor:pointer;font-family:var(--mono);font-weight:600}.edit-tag-button:hover{border-color:var(--accent-2)}.edit-tag-button-hint{flex-shrink:0;color:var(--accent-2);font-family:inherit;font-weight:700;font-size:11px}.instrument-sheet-extra{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.instrument-sheet-extra button{flex:1 1 auto;min-height:30px;padding:6px 9px;color:var(--muted);background:transparent;border:1px solid var(--border);border-radius:7px;font:600 10.5px/1.2 system-ui,sans-serif;cursor:pointer}.instrument-sheet-extra button:hover{color:var(--text);background:var(--hover-soft, rgba(255,255,255,.06))}.instrument-sheet-hint{margin:8px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.instrument-selection-empty{margin:12px 14px 0;padding:9px 10px;color:var(--muted);background:var(--surface-2, rgba(127,127,127,.08));border:1px solid var(--border);border-radius:7px;font-size:11px;line-height:1.45}.instrument-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 16px}.instrument-actions button,.instrument-upload,.instrument-secondary{display:grid;place-items:center;box-sizing:border-box;min-height:40px;border:1px solid var(--border);border-radius:8px;padding:9px 10px;background:var(--surface-2, rgba(127,127,127,.08));color:inherit;font:600 12px/1.2 system-ui,sans-serif;text-align:center;cursor:pointer}.instrument-actions .active{color:#fff;border-color:#d97706;background:#b45309}.instrument-readonly-banner{margin:10px 16px 0;padding:10px 12px;border:1px solid #d97706;border-radius:9px;background:color-mix(in srgb,#d97706 12%,transparent)}.instrument-readonly-banner strong{display:block;margin-bottom:3px;color:#d97706;font-size:12px}.instrument-readonly-banner p{margin:0;color:var(--text);font-size:11px;line-height:1.4}.instrument-readonly-actions{margin-top:8px}.instrument-readonly-actions button{border:1px solid var(--border);border-radius:6px;padding:6px 9px;background:transparent;color:inherit;cursor:pointer;font-size:10.5px}.instrument-readonly-diagnostics{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:10px 0 0;padding-top:8px;border-top:1px dashed var(--border);font-size:10.5px}.instrument-readonly-diagnostics dt{color:var(--muted)}.instrument-readonly-diagnostics dd{margin:0;overflow-wrap:anywhere;color:var(--text)}.instrument-upload--disabled,#instrument-mark-btn:disabled{cursor:not-allowed;opacity:.5}.instrument-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 10px;border-bottom:1px solid var(--border)}.instrument-tabs button{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;padding:10px 3px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);cursor:pointer;font-size:10.5px;white-space:nowrap}.instrument-tabs button span{min-width:0;overflow:hidden;text-overflow:ellipsis}.instrument-tabs button strong{display:grid;place-items:center;min-width:20px;height:18px;padding:0 4px;border-radius:9px;color:var(--text);background:var(--surface-2, rgba(127,127,127,.12));font-size:9px;font-variant-numeric:tabular-nums}.instrument-tabs button.active{color:var(--text);border-bottom-color:#eab308}.instrument-counters{display:flex;flex-direction:column;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface-2, #161b22) 55%,transparent)}.instrument-counters-primary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.instrument-counters-label{margin:1px 2px -1px;color:var(--muted);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.07em}.instrument-counters-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(68px,1fr));gap:5px}.instrument-counters-primary>div,.instrument-counters-breakdown>div{position:relative;min-width:0;padding:9px 6px 8px;text-align:center;overflow:hidden;border-radius:10px;background:var(--surface, #0d1117);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border) 65%,transparent)}.instrument-counters-primary>div:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:var(--muted)}.instrument-counters-primary>div.instrument-counter--total:before{background:#3b82f6}.instrument-counters-primary>div.instrument-counter--complete:before{background:#10b981}.instrument-counters-primary>div.instrument-counter--pending:before{background:#eab308}.instrument-counters-primary>div.instrument-counter--documents:before{background:#8b8fa3}.instrument-counters-breakdown>div{padding:5px 4px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border) 40%,transparent);background:color-mix(in srgb,var(--surface, #0d1117) 78%,transparent)}.instrument-counters-breakdown strong{font-size:12px}.instrument-counters strong,.instrument-counters span{display:block;min-width:0}.instrument-counters-primary strong{font-size:18px;font-weight:700;letter-spacing:-.01em}.instrument-counters strong{color:var(--text);font-size:14px;line-height:1.15;font-variant-numeric:tabular-nums}.instrument-counters span{margin-top:4px;overflow:hidden;color:var(--muted);font-size:8.5px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.instrument-content{flex:1;min-width:0;overflow:auto;padding:12px 16px 24px;scrollbar-gutter:stable}.instrument-search{box-sizing:border-box;width:100%;margin-bottom:8px;padding:9px 10px;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:7px}.instrument-library-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:9px}.instrument-library-filters label{display:grid;gap:4px;min-width:0;color:var(--muted);font-size:9px;font-weight:600}.instrument-library-filters label:last-child{grid-column:1 / -1}.instrument-library-filters select{box-sizing:border-box;width:100%;min-height:34px;margin:0;padding:6px 8px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);font:inherit;font-size:10.5px}.instrument-help{margin:8px 0}.instrument-secondary{width:100%;margin-bottom:12px}.instrument-list{display:grid;gap:8px}.instrument-card{display:grid;grid-template-columns:5px minmax(0,1fr);align-items:start;gap:9px;padding:12px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2, rgba(127,127,127,.06))}.instrument-card--clickable{cursor:pointer}.instrument-card--clickable:hover,.instrument-card--clickable:focus-visible{border-color:#38bdf8;background:#38bdf814;outline:none}.instrument-card>i{grid-row:1 / span 3;align-self:stretch;width:5px;min-height:38px;border-radius:9px}.instrument-card>div:first-of-type{min-width:0;flex:1}.instrument-card strong,.instrument-card small,.instrument-card em{display:block;overflow-wrap:anywhere}.instrument-card small{margin-top:3px;color:var(--muted);font-size:10px}.instrument-card em{color:#ef4444;font-size:10px}.instrument-card>button{grid-column:2;justify-self:start;margin-top:2px}.instrument-card button{border:1px solid var(--border);border-radius:6px;padding:6px 8px;background:transparent;color:inherit;cursor:pointer;font-size:10px}.instrument-doc{display:block}.instrument-card-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.instrument-empty,.instrument-help{color:var(--muted);font-size:12px}.instrument-colors{display:grid;gap:8px}.instrument-colors label{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border:1px solid var(--border);border-radius:7px;font-size:12px}.instrument-colors input{width:44px;height:28px;border:0;background:transparent;cursor:pointer}.instrument-group-legend{display:grid;gap:6px;margin:10px 0 14px}.instrument-group-legend>div{display:grid;grid-template-columns:12px 58px minmax(0,1fr);align-items:center;gap:7px;padding:7px 8px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2, rgba(127,127,127,.06));font-size:11px}.instrument-group-legend i{width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 2px #ffffff1f}.instrument-group-legend span{color:var(--muted);overflow-wrap:anywhere}body.instrument-panel-open #svg-wrapper{width:calc(100% - min(430px,100vw))}body.instrument-marking-mode #svg-wrapper,body.instrument-marking-mode #svg-wrapper *{cursor:crosshair!important}#instrument-overlay .instrument-mark rect{stroke-width:1.2!important;stroke-dasharray:4 2;vector-effect:non-scaling-stroke;cursor:pointer}#instrument-overlay .instrument-mark text{font-weight:700;paint-order:stroke;stroke:var(--surface);stroke-width:2px;vector-effect:non-scaling-stroke;cursor:pointer}#instrument-overlay .instrument-draft{fill:#eab3081f;stroke:#eab308!important;stroke-width:1.2!important;stroke-dasharray:4 2;vector-effect:non-scaling-stroke;pointer-events:none}#instrument-overlay .instrument-mark-label{pointer-events:visiblePainted}#instrument-overlay .instrument-mark-box{pointer-events:all}#instrument-overlay .instrument-mark--selected .instrument-mark-box{stroke-width:2.2!important;stroke-dasharray:none;cursor:move}#instrument-overlay .instrument-mark--selected .instrument-mark-label{display:none}#instrument-overlay .instrument-mark--review .instrument-mark-box{filter:drop-shadow(0 0 2px #f59e0b)}body.instrument-marking-mode #instrument-overlay .instrument-mark--selected .instrument-mark-box{cursor:move!important}.instrument-selection-ui{position:fixed;inset:0;z-index:9400;pointer-events:none}.instrument-handle-hit{position:absolute;z-index:3;display:grid;place-items:center;box-sizing:border-box;pointer-events:auto;touch-action:none}.instrument-handle-visual{display:block;box-sizing:border-box;border:2px solid var(--surface, #161b22);border-radius:50%;background:var(--text, #e6edf3);box-shadow:0 0 0 1px #b45309;pointer-events:none}.instrument-handle-hit--nw,.instrument-handle-hit--se{cursor:nwse-resize}.instrument-handle-hit--ne,.instrument-handle-hit--sw{cursor:nesw-resize}.instrument-handle-hit--n,.instrument-handle-hit--s{cursor:ns-resize}.instrument-handle-hit--w,.instrument-handle-hit--e{cursor:ew-resize}.instrument-floating-toolbar{position:absolute;z-index:5;display:flex;align-items:center;width:max-content;height:34px;box-sizing:border-box;gap:2px;padding:3px;color:var(--text, #e6edf3);background:var(--surface-2, #1c2128);border:1px solid var(--border, #30363d);border-radius:7px;box-shadow:0 5px 16px #0000005c;pointer-events:auto}.instrument-floating-toolbar button{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 8px;color:var(--text, #e6edf3);background:transparent;border:0;border-radius:5px;font:600 11px/1 system-ui,sans-serif;white-space:nowrap;cursor:pointer}.instrument-floating-toolbar button:hover,.instrument-floating-toolbar button:focus-visible{color:var(--text, #fff);background:var(--hover-soft, rgba(255,255,255,.09));outline:none}.instrument-floating-toolbar button.danger{color:#ff8aa0}.instrument-floating-toolbar button.primary{color:#fff;background:#2563eb}.instrument-selected-tag{position:absolute;z-index:4;display:flex;align-items:center;justify-content:center;gap:5px;max-width:min(240px,calc(100vw - 16px));height:22px;box-sizing:border-box;padding:2px 7px;color:var(--instrument-tag-color, var(--text, #e6edf3));background:color-mix(in srgb,var(--instrument-tag-color, #eab308) 14%,var(--surface, #161b22));border:1px solid var(--border, #30363d);border-radius:5px;box-shadow:0 3px 10px #00000047;font:700 11px/1 system-ui,sans-serif;pointer-events:auto;cursor:pointer}.instrument-selected-tag span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.instrument-selected-tag i{color:var(--instrument-tag-color, #f4c430);font-style:normal;flex:0 0 auto}.instrument-panel-message,.instrument-document-candidate,.instrument-diagnosis{display:grid;gap:4px;padding:10px 12px;border:1px solid rgba(56,189,248,.35);border-radius:8px;background:#38bdf814;color:var(--text);font-size:11px;line-height:1.45}.instrument-diagnosis{margin:8px 0}.instrument-selection-scroll .instrument-panel-message,.instrument-selection-scroll .instrument-document-candidate{margin:12px 14px 0}.instrument-candidate-review{display:grid;gap:10px;padding:12px 16px 24px;overflow:auto}.instrument-candidate-card{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2, rgba(127,127,127,.06))}.instrument-candidate-card strong{font-size:12.5px}.instrument-candidate-card dl{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:0;font-size:10.5px}.instrument-candidate-card dt{color:var(--muted)}.instrument-candidate-card dd{margin:0;overflow-wrap:anywhere;color:var(--text)}.instrument-candidate-warning{margin:0;padding:6px 8px;border-radius:6px;background:#ef44441f;color:#ef4444;font-size:10.5px}.instrument-candidate-page{display:grid;gap:4px;font-size:10.5px;color:var(--muted)}.instrument-candidate-page input{box-sizing:border-box;width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font:inherit}.instrument-candidate-actions{display:flex;flex-wrap:wrap;gap:6px}.instrument-candidate-actions button{border:1px solid var(--border);border-radius:6px;padding:7px 10px;background:transparent;color:inherit;cursor:pointer;font-size:10.5px}.instrument-candidate-actions button.primary{color:#fff;background:#2563eb;border-color:#2563eb}.instrument-candidate-review-footer{display:flex;flex-wrap:wrap;gap:6px;padding-top:4px;border-top:1px solid var(--border)}.instrument-candidate-review-footer button{border:1px solid var(--border);border-radius:6px;padding:7px 10px;background:transparent;color:inherit;cursor:pointer;font-size:10.5px}.instrument-import-summary{display:grid;gap:4px;margin-bottom:10px;padding:10px;border:1px solid rgba(34,197,94,.35);border-radius:7px;background:#22c55e14}.instrument-import-summary small{color:var(--muted)}.instrument-review-progress,.instrument-review-pilot{display:grid;gap:7px;margin-bottom:10px;padding:10px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2, rgba(127,127,127,.06))}.instrument-review-progress small,.instrument-review-pilot small{color:var(--muted);font-size:10px}.instrument-review-pilot>div{display:grid;gap:6px}.instrument-review-pilot button{display:grid;grid-template-columns:22px minmax(0,1fr);gap:2px 7px;align-items:center;padding:7px;text-align:left;color:var(--text);background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer}.instrument-review-pilot button span{grid-row:1 / span 2;display:grid;place-items:center;width:20px;height:20px;color:#111827;background:#f4c430;border-radius:50%;font-weight:700}.instrument-review-pilot button b,.instrument-review-pilot button small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.instrument-card--pending{border-color:#f59e0b52}.instrument-pending-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 0 10px}.instrument-pending-groups button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:7px 8px;color:var(--text);background:var(--surface-2, rgba(127,127,127,.08));border:1px solid var(--border);border-radius:7px;font-size:10px;cursor:pointer}.instrument-pending-groups button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.instrument-pending-groups button strong{color:#f4c430;font-variant-numeric:tabular-nums}.instrument-pending-groups button.active{border-color:#d97706;background:#d9770624}.instrument-pending-filters{margin:8px 0;padding:8px;border:1px solid var(--border);border-radius:7px}.instrument-pending-filters summary{color:var(--muted);font-size:11px;cursor:pointer}.instrument-pending-filters>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}.instrument-pending-filters input,.instrument-pending-filters select{min-width:0;padding:7px;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:6px;font-size:10px}.instrument-pending-card dl{display:grid;gap:3px;margin:7px 0}.instrument-pending-card dl>div{display:grid;grid-template-columns:88px minmax(0,1fr);gap:7px;font-size:10px}.instrument-pending-card dt{color:var(--muted)}.instrument-pending-card dd{min-width:0;margin:0;overflow-wrap:anywhere}.instrument-search-metadata{display:grid;gap:2px;margin:7px 0 0}.instrument-search-metadata>div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:6px;font-size:9px}.instrument-search-metadata dt{color:var(--muted)}.instrument-search-metadata dd{min-width:0;margin:0;overflow-wrap:anywhere}.instrument-selection-scroll .instrument-related-documents{display:grid;gap:6px;margin:12px 14px 0;padding:10px 12px;border:1px solid var(--border);border-radius:8px}.instrument-related-documents>button{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left}.instrument-related-documents small{color:var(--muted)}.instrument-card-related{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.instrument-card-related button{padding:5px 7px;font-size:9px}.instrument-pending-review-source,.instrument-pending-preview{display:grid;gap:5px;margin:10px 0;padding:10px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2, rgba(127,127,127,.08));font-size:11px}.instrument-pending-preview em{color:#fb7185;font-style:normal}.instrument-pending-preview i{color:#f4c430;font-style:normal}.instrument-pending-quick{flex-basis:100%}.instrument-pending-quick summary{color:var(--muted);font-size:10px;cursor:pointer}.instrument-pending-quick>div{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.instrument-dialog select{box-sizing:border-box;width:100%;padding:9px 10px;color:inherit;background:var(--surface-2, rgba(127,127,127,.08));border:1px solid var(--border);border-radius:6px}.instrument-document-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.instrument-document-comparison section{min-width:0;padding:12px;border:1px solid var(--border);border-radius:8px}.instrument-document-comparison h4{margin:0 0 8px}.instrument-document-comparison dl{display:grid;gap:5px}.instrument-document-comparison dl>div{display:grid;grid-template-columns:86px minmax(0,1fr);gap:7px;font-size:10px}.instrument-document-comparison dt{color:var(--muted)}.instrument-document-comparison dd{min-width:0;margin:0;overflow-wrap:anywhere}.instrument-document-comparison button{margin:8px 5px 0 0}@media (max-width: 720px){.instrument-document-comparison{grid-template-columns:1fr}}.instrument-diagnosis small,.instrument-document-candidate small{color:var(--muted)}.instrument-diagnosis--review_required,.instrument-diagnosis--rejected{border-color:#f4c43066;background:#f4c43014}.instrument-confirm-separate{display:flex!important;flex-direction:row!important;align-items:center;gap:7px;margin-top:12px}.instrument-confirm-separate input{width:auto}.instrument-delete-record-link{margin-top:5px;padding:0!important;border:0!important;color:#fb7185!important;background:transparent!important;font-size:9px!important}.instrument-selection-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-bottom:24px}.instrument-selection-summary{display:flex;align-items:center;gap:10px;padding:14px;border-bottom:1px solid var(--border)}.instrument-selection-summary>i{width:7px;height:42px;border-radius:5px}.instrument-selection-summary>div{min-width:0}.instrument-selection-summary strong,.instrument-selection-summary small{display:block;overflow-wrap:anywhere}.instrument-selection-summary small{margin-top:4px;color:var(--muted);font-size:11px}.instrument-selection-warning,.instrument-adjust-help{margin:12px 14px 0;padding:9px 10px;color:#f4c430;background:#f4c43014;border:1px solid rgba(244,196,48,.35);border-radius:7px;font-size:11px;line-height:1.4}.instrument-diagnostic-metric{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:8px;padding-top:7px;border-top:1px solid rgba(244,196,48,.25)}.instrument-diagnostic-metric span{color:inherit;opacity:.85}.instrument-diagnostic-metric strong{flex-shrink:0}.instrument-selection-warning{margin-bottom:12px}.instrument-selection-data{display:grid;gap:0;margin:12px 14px 0;padding:2px 12px;border:1px solid var(--border);border-radius:8px;overflow-wrap:anywhere}.instrument-selection-data>div{display:grid;grid-template-columns:minmax(112px,.9fr) minmax(0,1.2fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--border);font-size:11px}.instrument-selection-data>div:last-child{border-bottom:none}.instrument-selection-data span{color:var(--muted)}.instrument-selection-data strong{min-width:0;text-align:right;overflow-wrap:anywhere}.instrument-color-value{display:inline-flex;justify-content:flex-end;align-items:center;gap:6px}.instrument-color-value i{width:12px;height:12px;border:1px solid var(--border);border-radius:50%}.instrument-technical-details{margin:12px 14px;border:1px solid var(--border);border-radius:7px;overflow:hidden}.instrument-technical-details>summary{padding:8px 10px;color:var(--muted);background:var(--surface-2, rgba(127,127,127,.08));font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;list-style:none;cursor:pointer}.instrument-technical-details>summary::-webkit-details-marker{display:none}.instrument-technical-details>summary:before{content:"▸ "}.instrument-technical-details[open]>summary:before{content:"▾ "}.instrument-technical-details>summary:hover{color:var(--text)}.instrument-technical-details .instrument-selection-data{margin:0;padding:2px 10px;border:0;border-radius:0}.instrument-technical-details .instrument-selection-data>div{font-size:10.5px;padding:7px 0}.instrument-selection-actions{display:flex;flex-direction:column;gap:8px;padding:0 14px 18px}.instrument-action-row{display:flex;gap:8px}.instrument-action-row>*{flex:1;min-width:0}.instrument-selection-actions>.instrument-action-row>button,.instrument-more-actions>summary,.instrument-more-actions button{box-sizing:border-box;min-height:34px;padding:8px 10px;color:var(--text);background:var(--surface-2, rgba(127,127,127,.08));border:1px solid var(--border);border-radius:7px;font:600 11px/1.25 system-ui,sans-serif;text-align:center;cursor:pointer}.instrument-selection-actions>.instrument-action-row>button.primary{color:#fff;background:#2563eb;border-color:#3b82f6}.instrument-more-actions{position:relative}.instrument-more-actions>summary{display:grid;place-items:center;list-style:none}.instrument-more-actions>summary::-webkit-details-marker{display:none}.instrument-more-actions>div{position:absolute;z-index:8;right:0;bottom:calc(100% + 5px);display:grid;width:min(260px,100%);padding:5px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 28px #00000061}.instrument-more-actions button{border:0;text-align:left;background:transparent}.instrument-more-actions button:hover{background:var(--hover-soft, rgba(255,255,255,.08))}.instrument-adjust-help{color:var(--text);border-color:var(--border);background:var(--surface-2, rgba(127,127,127,.08))}.instrument-dialog-actions button.danger{color:#fff;background:#b42335;border-color:#e5484d}.instrument-full-data{display:grid;gap:10px}.instrument-full-data section{padding:10px;border:1px solid var(--border);border-radius:7px}.instrument-full-data h4{margin:0 0 7px}.instrument-full-data pre{margin:0}.instrument-dialog-backdrop{position:fixed;inset:0;z-index:9800;display:grid;place-items:center;padding:20px;background:#04080eb8}.instrument-dialog{width:min(440px,94vw);max-height:88vh;overflow:auto;box-sizing:border-box;padding:20px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 20px 60px #00000073}.instrument-dialog h3{margin:0 0 5px}.instrument-dialog>p,.instrument-dialog>small{color:var(--muted);font-size:12px}.instrument-dialog>label{display:grid;gap:5px;margin:12px 0;font-size:12px;font-weight:600}.instrument-dialog input{box-sizing:border-box;width:100%;padding:9px 10px;color:inherit;background:var(--surface-2, rgba(127,127,127,.08));border:1px solid var(--border);border-radius:6px}.instrument-dialog details{margin-top:12px;font-size:11px}.instrument-dialog pre{max-height:220px;overflow:auto;padding:10px;white-space:pre-wrap;color:var(--muted);background:#7f7f7f12;border-radius:6px}.instrument-confirm-dialog{display:flex;flex-direction:column;max-height:calc(100vh - 24px);overflow:hidden;padding:0}.instrument-confirm-dialog__header{flex-shrink:0;padding:20px 20px 0}.instrument-confirm-dialog__content{flex:1;min-height:0;overflow-y:auto;padding:0 20px}.instrument-confirm-dialog__content>label:first-child{margin-top:12px}.instrument-confirm-dialog__footer{flex-shrink:0;padding:14px 20px 20px;background:inherit;border-top:1px solid var(--border)}.instrument-engine-candidate-tag{display:block;margin:2px 0 6px;font-family:ui-monospace,monospace;font-size:18px;letter-spacing:.02em}.instrument-engine-candidate-tag mark{padding:0 1px;color:#451a03;background:#fbbf24;border-radius:3px}.instrument-draft-validation{display:grid;gap:2px;margin:-6px 0 10px}.instrument-draft-validation small{color:#fb7185}.instrument-ocr-technical{display:grid;gap:3px;margin:8px 0 0;font-size:11px}.instrument-ocr-technical div{display:flex;gap:6px}.instrument-ocr-technical dt{flex:0 0 auto;color:var(--muted)}.instrument-ocr-technical dd{margin:0}.instrument-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:18px}.instrument-dialog-actions button{padding:8px 12px;color:inherit;background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer}.instrument-dialog-actions button.primary{color:#fff;background:#b45309;border-color:#d97706}.instrument-dialog-actions button:disabled{cursor:not-allowed;opacity:.42;filter:saturate(.35)}.instrument-confirm-dialog .instrument-dialog-actions{flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;margin-top:0}.instrument-confirm-dialog .instrument-dialog-actions .instrument-action-row>button{padding:8px 12px;color:inherit;background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer}.instrument-confirm-dialog .instrument-dialog-actions .instrument-action-row>button.primary{color:#fff;background:#b45309;border-color:#d97706}.instrument-confirm-dialog .instrument-dialog-actions .instrument-action-row>button.danger{color:#fff;background:#b42335;border-color:#e5484d}.instrument-confirm-dialog .instrument-dialog-actions .instrument-action-row>button:disabled{cursor:not-allowed;opacity:.42;filter:saturate(.35)}.instrument-dialog-destructive-row{display:flex;justify-content:flex-start;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.instrument-dialog-destructive-row[hidden]{display:none}.instrument-dialog-destructive-row button.danger-subtle{width:100%;padding:8px 12px;color:#ff8aa0;background:var(--surface-2, rgba(127,127,127,.06));border:1px solid rgba(229,72,77,.5);border-radius:6px;cursor:pointer;font-size:12px}.instrument-dialog-destructive-row button.danger-subtle:hover{background:#e5484d1a}.instrument-dialog-destructive-row button.danger-subtle:disabled{cursor:not-allowed;opacity:.42;filter:saturate(.35)}.instrument-delete-confirm-panel{margin-top:14px;padding:12px;border:1px solid rgba(229,72,77,.5);border-radius:8px;background:#e5484d14}.instrument-delete-confirm-panel[hidden]{display:none}.instrument-delete-confirm-panel strong{display:block;margin-bottom:6px}.instrument-delete-confirm-panel p{margin:0 0 12px;color:var(--text);font-size:12px;line-height:1.5}.instrument-delete-confirm-panel .instrument-dialog-actions{margin-top:0;flex-direction:row;gap:8px}.instrument-delete-confirm-panel .instrument-dialog-actions button{flex:1;min-width:0;padding:8px 12px;color:inherit;background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer}.instrument-delete-confirm-panel .instrument-dialog-actions button.danger{color:#fff;background:#b42335;border-color:#e5484d}.instrument-delete-error{margin-top:8px;padding:8px 10px;border-radius:6px;background:#e5484d26;color:#ff8aa0;font-size:11.5px}@media (max-width: 520px){.instrument-action-row,.instrument-delete-confirm-panel .instrument-dialog-actions{flex-direction:column}}.instrument-review-dialog{width:min(820px,96vw)}.instrument-review-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.instrument-review-head h3,.instrument-review-head p{margin:0 0 5px}.instrument-review-head p{color:var(--muted);font-size:11px}.instrument-review-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.instrument-review-columns>section{min-width:0;padding:11px;border:1px solid var(--border);border-radius:8px}.instrument-review-columns h4{margin:0 0 8px}.instrument-review-columns dl{display:grid;gap:4px;margin:0 0 9px}.instrument-review-columns dl>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:7px;font-size:10px}.instrument-review-columns dt{color:var(--muted)}.instrument-review-columns dd{min-width:0;margin:0;overflow-wrap:anywhere}.instrument-review-navigation{display:flex;justify-content:space-between;gap:8px;margin-top:10px}.instrument-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.instrument-review-field{display:grid;gap:4px;padding:7px;border:1px solid transparent;border-radius:7px;font-size:11px}.instrument-review-field span{display:flex;justify-content:space-between;gap:8px}.instrument-review-field small{color:var(--muted)}.instrument-review-field.doubtful{border-color:#d97706;background:#eab30817}.instrument-link-notice{position:fixed;z-index:9900;right:18px;bottom:18px;display:grid;grid-template-columns:1fr auto;gap:2px 14px;min-width:280px;padding:12px 14px;color:#ecfdf5;background:#065f46;border:1px solid #10b981;border-radius:9px;box-shadow:0 10px 30px #00000059}.instrument-link-notice strong,.instrument-link-notice span{grid-column:1}.instrument-link-notice span{font-size:11px;opacity:.86}.instrument-link-notice button{grid-column:2;grid-row:1 / span 2;color:inherit;background:transparent;border:1px solid rgba(255,255,255,.45);border-radius:5px;cursor:pointer}@media (max-width: 800px){html.instrument-panel-open,body.instrument-panel-open{width:100%;overflow:hidden;overscroll-behavior:none}.instrument-panel{right:0;left:0;width:auto;max-width:100%;border-left:0;contain:layout paint}body.instrument-panel-open #svg-wrapper{width:100%}.instrument-review-grid,.instrument-review-columns{grid-template-columns:1fr}}@media (max-width: 380px){.instrument-head{padding-inline:14px}.instrument-actions,.instrument-content{padding-inline:12px}.instrument-counters{gap:4px;padding-inline:8px}.instrument-counters-primary,.instrument-counters-breakdown{gap:4px}.instrument-counters-primary>div,.instrument-counters-breakdown>div{padding-inline:3px}.instrument-counters span{overflow:visible;font-size:7.5px;line-height:1.05;text-overflow:clip;white-space:normal}.instrument-tabs button{flex-direction:column;gap:2px;padding-block:6px;font-size:9.5px}.instrument-tabs button span{overflow:visible;text-overflow:clip}.instrument-tabs button strong{height:15px}.instrument-search-metadata>div{grid-template-columns:76px minmax(0,1fr)}}.modal-box{width:560px;max-width:92vw;max-height:82vh;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-3);animation:modal-in .22s cubic-bezier(.16,1,.3,1)}@keyframes modal-in{0%{transform:translateY(12px) scale(.98)}to{transform:none}}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#0f3460;border-bottom:1px solid #2a2a4a;font-size:14px;font-weight:700;color:#fff}.modal-head-actions{display:flex;gap:8px;align-items:center}.tb-btn--danger{color:#ff6b6b;border-color:#ff6b6b66}.tb-btn--danger:hover{background:#ff6b6b26;border-color:#ff6b6b}.modal-body{padding:8px;overflow-y:auto}.gpp-box{width:460px}.gpp-body{padding:12px 16px;display:flex;flex-direction:column;gap:12px}.gpp-section{border-top:1px solid var(--border);padding-top:10px}.gpp-section:first-child{border-top:none;padding-top:0}.gpp-section h4{margin:0 0 6px;font-size:12.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted, #9aa5b1)}.gpp-section div{font-size:13px;line-height:1.5}.gpp-note{font-style:italic;opacity:.75;font-size:12px!important;margin-top:3px}.gpp-top3{border-collapse:collapse;margin:4px 0}.gpp-top3 td{padding:2px 10px 2px 0;font-size:13px}.gpp-fb-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.gpp-fb-btn{padding:6px 10px;border-radius:var(--radius, 6px);border:1px solid var(--border);background:var(--surface-2, transparent);color:inherit;font-size:12.5px;cursor:pointer}.gpp-fb-btn:hover{filter:brightness(1.15)}.gpp-fb-btn--active{border-color:#53d8fb;box-shadow:0 0 0 1px #53d8fb}.gpp-scroll-table{overflow-x:auto;max-width:100%}.gpp-s21-table{width:100%;font-size:11.5px}.gpp-s21-table th{text-align:left;padding:2px 8px 2px 0;opacity:.7;font-weight:600}.gpp-s21-table td{padding:2px 8px 2px 0;white-space:nowrap}#gpp-roi-modal .roi-modal-shell{width:min(900px,calc(100vw - 32px));max-height:min(760px,calc(100vh - 32px))}#gpp-roi-modal .modal-head{padding:13px 16px;background:linear-gradient(180deg,#143b6e,#0f3460);border-bottom-color:var(--border)}#gpp-roi-modal .modal-head>div:first-child{display:flex;flex-direction:column;gap:2px}#gpp-roi-modal .modal-head small{color:#ffffff9e;font-size:10.5px;font-weight:500}#gpp-roi-modal .roi-tabbar{display:flex;gap:2px;padding:8px 12px 0;border-bottom:1px solid var(--border);background:var(--surface-2, #111827)}#gpp-roi-modal .roi-tabbar button{display:flex;align-items:center;gap:7px;margin:0;padding:9px 13px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-muted);font:600 12px var(--font);cursor:pointer}#gpp-roi-modal .roi-tabbar button:hover{color:var(--text);background:#53d8fb0f}#gpp-roi-modal .roi-tabbar button.active{color:var(--accent-2, #53d8fb);border-bottom-color:var(--accent-2, #53d8fb)}#gpp-roi-modal .roi-tabbar button span{min-width:18px;padding:1px 5px;border-radius:999px;background:#53d8fb1f;font-size:10px;text-align:center}#gpp-roi-modal .roi-tab-content{display:block;min-height:330px;padding:18px;background:var(--surface)}#gpp-roi-modal .roi-tab-panel{display:none;flex-direction:column;gap:14px}#gpp-roi-modal .roi-tab-panel.active{display:flex}#gpp-roi-modal .roi-summary-line{display:flex;align-items:center;justify-content:space-between;gap:12px}#gpp-roi-modal .roi-summary-line>div{display:flex;flex-direction:column;gap:2px}#gpp-roi-modal .roi-summary-line strong{font-size:16px}#gpp-roi-modal .roi-summary-line span{color:var(--text-muted);font-size:11px}#gpp-roi-modal .roi-status-pill{padding:5px 9px;border:1px solid rgba(83,216,251,.28);border-radius:999px;background:#53d8fb1a;color:var(--accent-2, #53d8fb)!important;font-weight:700;white-space:nowrap}#gpp-roi-modal .roi-diag-card{padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius, 8px);background:var(--surface-2, rgba(255,255,255,.025))}#gpp-roi-modal .roi-diag-title{margin:0 0 11px;color:var(--text-muted);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}#gpp-roi-modal .roi-metrics{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px}#gpp-roi-modal .roi-metric{min-height:64px;padding:11px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2, #111827)}#gpp-roi-modal .roi-metric strong{display:block;color:var(--text);font-size:23px;line-height:1.1}#gpp-roi-modal .roi-metric span{display:block;margin-top:5px;color:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}#gpp-roi-modal .roi-metric--cyan strong{color:#64efff}#gpp-roi-modal .roi-metric--blue strong{color:#4aa3ff}#gpp-roi-modal .roi-pipeline{display:grid;grid-template-columns:repeat(6,minmax(90px,1fr));gap:8px}#gpp-roi-modal .roi-stage{position:relative;min-height:58px;padding:10px;border:1px solid var(--border);border-radius:7px;background:var(--surface)}#gpp-roi-modal .roi-stage:not(:last-child):after{content:"›";position:absolute;right:-7px;top:20px;z-index:2;color:var(--text-muted)}#gpp-roi-modal .roi-stage b{display:block;color:var(--accent-2, #53d8fb);font-size:19px}#gpp-roi-modal .roi-stage span{color:var(--text-muted);font-size:10px;line-height:1.25;text-transform:uppercase}#gpp-roi-modal .roi-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}#gpp-roi-modal .roi-fact{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text-muted)}#gpp-roi-modal .roi-fact b{color:var(--text);font-size:14px}#gpp-roi-modal .roi-help{margin:0;color:var(--text-muted);font-size:11.5px;line-height:1.45}#gpp-roi-modal .roi-empty,#gpp-roi-modal .roi-alert{padding:20px;border:1px dashed var(--border);border-radius:8px;color:var(--text-muted);text-align:center}#gpp-roi-modal .roi-tech{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface-2)}#gpp-roi-modal .roi-tech>summary{display:flex;align-items:center;gap:8px;cursor:pointer;padding:11px 13px;color:var(--text);font-size:12px;font-weight:650}#gpp-roi-modal .roi-tech>summary span{margin-left:auto;padding:1px 6px;border-radius:999px;background:#53d8fb1a;color:var(--accent-2);font-size:10px}#gpp-roi-modal .roi-tech[open]>summary{border-bottom:1px solid var(--border)}#gpp-roi-modal .roi-tech>div{padding:12px 14px}#gpp-roi-modal .roi-reason{display:flex;gap:8px;padding:5px 0;color:var(--text-muted)}#gpp-roi-modal .roi-reason b{color:var(--text)}#gpp-roi-modal .gpp-s21-table{margin:0}#gpp-roi-modal .gpp-s21-table th{padding:7px 10px;border-bottom:1px solid var(--border);color:var(--text-muted);opacity:1}#gpp-roi-modal .gpp-s21-table td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.045)}#gpp-roi-modal .roi-inline-btn{width:auto;margin:10px 0 0}#gpp-roi-modal .roi-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-top:1px solid var(--border);background:var(--surface-2, #111827)}#gpp-roi-modal .roi-footer-question{display:flex;flex-direction:column;gap:2px;min-width:220px}#gpp-roi-modal .roi-footer-question strong{font-size:12px}#gpp-roi-modal .roi-footer-question span{color:var(--text-muted);font-size:10.5px}#gpp-roi-modal .roi-footer-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}#gpp-roi-modal .roi-footer-actions button{width:auto;min-height:32px;margin:0;padding:6px 10px;white-space:nowrap}@media (max-width: 760px){#gpp-roi-modal .roi-metrics,#gpp-roi-modal .roi-pipeline,#gpp-roi-modal .roi-facts{grid-template-columns:repeat(2,1fr)}#gpp-roi-modal .roi-modal-footer{align-items:flex-start;flex-direction:column}#gpp-roi-modal .roi-footer-actions{justify-content:flex-start}}.lib-dock .modal-head{padding:12px 14px;background:linear-gradient(180deg,#143b6e,#0f3460)}.lib-head-title{font-size:14px;font-weight:700}.lib-x{width:30px;height:30px;border-radius:7px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:15px;background:#ffffff14;border:1px solid rgba(255,255,255,.14);color:#fff;transition:background .12s}.lib-x:hover{background:#ffffff2e}.lib-toolbar{display:flex;gap:6px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--border, #30363d);background:var(--surface-2, #1c2128)}.lib-tool{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 8px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;white-space:nowrap;background:var(--surface, #151c2b);color:var(--text, #e6edf3);border:1px solid var(--border, #30363d);transition:background .12s,border-color .12s,transform .08s}.lib-tool span{font-size:13px}.lib-tool:hover{border-color:var(--accent-2, #4cc9f0);background:#4cc9f014}.lib-tool:active{transform:translateY(1px)}.lib-tool--danger{color:#ff8585;border-color:#ff6b6b4d}.lib-tool--danger:hover{background:#ff6b6b1f;border-color:#ff6b6b}.lib-tool--primary{flex:0 0 auto;background:#0f9;color:#0d1117;border-color:#0f9}.lib-tool--primary:hover{background:#00cc7a;border-color:#00cc7a}.cc-box{width:min(94vw,616px)}.cc-body{display:flex;flex-direction:column;gap:14px;padding:14px 18px 8px}.cc-body .edit-row{gap:7px;padding:0;margin:0;border-bottom:0}.cc-body .edit-row:hover{background:transparent}.cc-cat-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.cc-cat-row .edit-input{flex:1}.cc-new-folder-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:8px}.cc-new-folder-row .edit-input{flex:1}.cc-file-row{display:flex;flex-direction:column}.cc-file-btn{width:100%;min-height:34px;justify-content:center}.cc-file-name{display:block;max-width:100%;min-height:20px;padding:0 1px;font-size:12.5px;line-height:1.35;color:var(--text);overflow-wrap:anywhere}.cc-hint{margin-top:-2px;padding:10px 12px;border:1px solid var(--border-soft);border-radius:8px;background:var(--control-bg, rgba(255,255,255,.035));font-size:12px;color:var(--text-muted, #8b949e);line-height:1.45}.cc-suggest{margin:-2px 16px 0;padding:8px 10px;border:1px solid var(--accent-2, #4cc9f0);border-radius:8px;background:#4cc9f014;font-size:12px;color:var(--text);line-height:1.4}.cc-suggest b{color:var(--accent-2, #4cc9f0)}.cc-box .edit-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:12px 18px 16px;border-top:0}.cc-box .btn-save,.cc-box .btn-cancel{width:100%;min-height:38px;justify-content:center}@media (max-width: 560px){.cc-cat-row,.cc-new-folder-row,.cc-box .edit-actions{grid-template-columns:1fr}}.lib-section{border-bottom:1px solid var(--border);background:var(--surface-2)}.lib-section-h{list-style:none;cursor:pointer;user-select:none;display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:var(--fs-sm);font-weight:700;color:var(--text)}.lib-section-h::-webkit-details-marker{display:none}.lib-section-h:before{content:"▸";color:var(--text-muted);font-size:10px;transition:transform .15s ease}.lib-section[open]>.lib-section-h:before{transform:rotate(90deg)}.lib-section-h:hover{background:var(--hover-soft)}.lib-section-body{padding:2px 12px 12px;display:flex;flex-direction:column;gap:8px}.lib-section-body.lib-toolbar{flex-direction:row;flex-wrap:wrap;gap:6px;border-bottom:none;background:none;padding:2px 12px 12px}.lib-tabs{display:flex;gap:4px;padding:8px 12px 0;background:var(--surface-2);border-bottom:1px solid var(--border)}.lib-tab{background:transparent;border:none;border-bottom:2px solid transparent;color:#888;padding:8px 12px;font-size:12.5px;font-weight:600;cursor:pointer}.lib-tab:hover{color:#e0e0e0}.lib-tab.active{color:#53d8fb;border-bottom-color:#53d8fb}.lib-toolbar{padding:10px 8px 4px}.lib-search{width:100%;padding:8px 12px;margin-bottom:8px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:13px;font-family:inherit}.lib-search:focus{outline:none;border-color:var(--accent-2)}.lib-search::placeholder{color:var(--text-faint)}.lib-filters{display:flex;flex-wrap:wrap;gap:6px}.lib-chip{background:#0f3460;border:1px solid #2a2a4a;color:#e0e0e0;border-radius:20px;padding:3px 11px;font-size:11.5px;font-weight:600;cursor:pointer}.lib-chip:hover{border-color:var(--c, #53d8fb)}.lib-chip.active{background:var(--c, #53d8fb);color:#0d1117;border-color:var(--c, #53d8fb)}.lib-row--click{cursor:pointer}.lib-tag{font-weight:700;color:#53d8fb;font-size:13px;min-width:70px}.lib-go{color:#888;font-size:12px}.lib-row--click:hover .lib-go{color:#53d8fb}.doc-chip{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:20px;padding:4px 12px;font-size:11.5px;font-weight:600;cursor:pointer}.doc-chip:hover{border-color:var(--accent-2)}.doc-chip.active{background:var(--accent-2);color:#07121b;border-color:var(--accent-2)}.inst-row{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;border-bottom:1px solid var(--border-soft)}.inst-row:hover{background:var(--hover-soft)}.lib-thumb.inst-thumb{width:38px;height:38px;flex-shrink:0;cursor:pointer}.inst-tag{width:96px;flex-shrink:0;padding:4px 7px;border-radius:5px;background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:var(--mono);font-size:12px;font-weight:700}.inst-tag:focus{outline:none;border-color:var(--accent-2)}.inst-type{flex:1;font-size:11.5px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inst-src{flex-shrink:0;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;padding:2px 7px;border-radius:10px}.inst-src--ocr{background:#ffd16629;color:var(--warn)}.inst-src--manual{background:var(--accent-2-soft);color:var(--accent-2)}.inst-src--base{background:#8b97ac24;color:var(--text-muted)}.inst-status{flex-shrink:0;font-size:10px}.inst-go{flex-shrink:0;width:28px;height:28px;border-radius:6px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-size:13px}.inst-go:hover{background:var(--accent-2);color:#07121b;border-color:var(--accent-2)}.inst-del{flex-shrink:0;width:28px;height:28px;border-radius:6px;background:transparent;border:1px solid rgba(255,93,115,.4);color:var(--accent);cursor:pointer;font-size:12px}.inst-del:hover{background:#ff5d7324}.inst-del-spacer{width:28px;flex-shrink:0}.search-trigger{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;font-size:12.5px;transition:border-color .16s,color .16s}.search-trigger:hover{border-color:var(--accent-2);color:var(--text)}.search-trigger svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.search-trigger kbd{min-width:0;padding:1px 6px;font-size:10px}.search-overlay{align-items:flex-start}.search-box{width:560px;max-width:92vw;margin-top:12vh;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);overflow:hidden;animation:modal-in .2s cubic-bezier(.16,1,.3,1)}.search-input-row{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.search-ic{width:18px;height:18px;fill:none;stroke:var(--text-muted);stroke-width:1.8;stroke-linecap:round;flex-shrink:0}#search-input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:15px;font-family:inherit}#search-input::placeholder{color:var(--text-faint)}.search-results{max-height:50vh;overflow-y:auto;padding:6px}.search-empty{padding:24px;text-align:center;color:var(--text-muted);font-size:13px}.search-item{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:8px;cursor:pointer}.search-item.active{background:var(--accent-2-soft)}.search-badge{min-width:40px;padding:2px 8px;border-radius:5px;font-size:10px;font-weight:800;color:#07121b;text-align:center}.search-tag{font-weight:700;font-family:var(--mono);font-size:13px;color:var(--text);min-width:84px}.search-type{flex:1;font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-doc{font-size:11px;color:var(--text-faint);background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:2px 7px;white-space:nowrap;flex-shrink:0}.search-chips{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--border);overflow-x:auto;background:var(--surface-2)}.search-chip{border:1px solid var(--border);background:var(--surface-1);color:var(--text-muted);font-size:11px;font-weight:600;padding:3px 9px;border-radius:12px;cursor:pointer;white-space:nowrap;transition:all .15s ease}.search-chip:hover{color:var(--text);background:var(--surface-3);border-color:var(--accent)}.search-chip.active{background:var(--accent);color:#000;font-weight:700;border-color:var(--accent)}.search-group-header{display:flex;align-items:center;gap:8px;padding:8px 12px 4px;font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:6px}.search-group-header .group-badge{padding:1px 6px;border-radius:4px;font-size:9.5px;font-weight:800;color:#07121b}.search-scope-row{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;border-bottom:1px solid var(--border);background:var(--surface-2);font-size:11.5px;color:var(--text-muted)}.search-scope-label{display:inline-flex;align-items:center;gap:6px;cursor:pointer;user-select:none;font-weight:600;color:var(--text)}.search-scope-label input{cursor:pointer;accent-color:var(--accent)}.app-tooltip{position:fixed;z-index:2000;pointer-events:none;background:var(--surface-3);color:var(--text);border:1px solid var(--border);padding:5px 9px;border-radius:6px;font-size:11.5px;font-weight:500;box-shadow:var(--shadow-2);white-space:nowrap;max-width:280px;animation:tip-in .12s ease}@keyframes tip-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}.onboard-box{width:460px;padding:0}.onboard-hero{padding:30px 32px 22px;text-align:center;background:radial-gradient(120% 120% at 50% 0%,rgba(76,201,240,.12),transparent 60%);border-bottom:1px solid var(--border)}.onboard-logo{width:40px;height:40px;fill:none;stroke:var(--accent-2);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.onboard-hero h2{font-size:21px;color:#fff;margin:12px 0 6px}.onboard-hero p{font-size:13px;color:var(--text-muted);line-height:1.5;max-width:340px;margin:0 auto}.onboard-steps{padding:18px 24px;display:flex;flex-direction:column;gap:14px}.onboard-step{display:flex;align-items:center;gap:14px}.onboard-num{flex-shrink:0;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--accent-2-soft);color:var(--accent-2);font-weight:800;font-size:14px}.onboard-step div{display:flex;flex-direction:column}.onboard-step b{font-size:13.5px;color:var(--text)}.onboard-step span{font-size:12px;color:var(--text-muted)}.onboard-actions{padding:18px 24px 24px;display:flex;flex-direction:column;align-items:center;gap:12px;border-top:1px solid var(--border)}.onboard-actions .btn-primary{width:100%;padding:11px;font-size:14px}.onboard-hint{font-size:11.5px;color:var(--text-faint);display:inline-flex;align-items:center;gap:6px}.onboard-hint kbd{min-width:0;padding:1px 6px;font-size:10px}.gallery-box{width:640px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;padding:14px;max-height:60vh;overflow-y:auto}.gal-card{position:relative;display:flex;flex-direction:column;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .16s,transform .1s,box-shadow .16s}.gal-card:hover{border-color:var(--accent-2);transform:translateY(-2px);box-shadow:var(--shadow-2)}.gal-card.active{border-color:var(--accent-2);box-shadow:0 0 0 1px var(--accent-2)}.gal-open{display:flex;flex-direction:column;width:100%;padding:0;margin:0;background:transparent;border:none;cursor:pointer;text-align:left;color:inherit}.gal-actions{position:absolute;top:6px;right:6px;display:flex;gap:6px;opacity:0;transition:opacity .15s}.gal-card:hover .gal-actions{opacity:1}.gal-rename,.gal-del{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:13px;border-radius:7px;cursor:pointer;transition:background .15s;background:#0d1117c7;border:1px solid var(--border)}.gal-del{color:#ff8585;border-color:#e9456080}.gal-del:hover{background:#e9456059;color:#fff}.gal-rename{color:var(--accent-2);border-color:#4cc9f073}.gal-rename:hover{background:#4cc9f040;color:#fff}.gal-thumb{height:135px;background:#fff;display:grid;place-items:center;overflow:hidden}.gal-thumb img{width:100%;height:100%;object-fit:contain}.gal-noimg{color:#98a2b3;font-size:11px}.gal-name{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:9px 11px;font-size:12.5px;font-weight:600;color:var(--text)}.gal-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gal-name-input{width:100%;font-size:12.5px;font-weight:600;color:var(--text);background:var(--surface);border:1px solid var(--accent-2);border-radius:5px;padding:3px 6px}.gal-current{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#0d1117;background:var(--accent-2);padding:2px 6px;border-radius:4px}.gal-badges{display:flex;flex-wrap:wrap;gap:5px;min-height:28px;padding:0 10px 10px}.gal-badges span{max-width:100%;padding:2px 6px;border:1px solid var(--border-soft);border-radius:4px;background:var(--surface);color:var(--text-muted);font-size:10.5px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gal-badges--empty span{color:var(--text-faint);border-style:dashed}.s3-backups-box{width:620px}.s3-backups-list{display:flex;flex-direction:column;gap:8px;padding:14px;max-height:62vh;overflow-y:auto}.s3-backup-row{width:100%;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text);cursor:pointer;text-align:left}.s3-backup-row:hover{border-color:var(--accent-2);background:var(--hover-soft)}.s3-backup-main{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650;font-size:13px}.s3-backup-meta{color:var(--text-muted);font-size:11.5px;white-space:nowrap}@media (max-width: 700px){.s3-backups-box{width:94vw}.s3-backup-row{grid-template-columns:1fr}}.shortcuts-box{width:420px}.shortcuts-grid{padding:8px 8px 14px}.sc-row{display:flex;align-items:center;gap:14px;padding:8px 12px;border-bottom:1px solid var(--border-soft);font-size:13px;color:var(--text)}.sc-row:last-child{border-bottom:none}kbd{min-width:42px;padding:4px 9px;text-align:center;background:var(--surface-3);border:1px solid var(--border);border-bottom-width:2px;border-radius:6px;font-family:var(--mono);font-size:11.5px;font-weight:700;color:var(--accent-2);box-shadow:var(--shadow-1)}.lib-empty{padding:40px 24px;text-align:center;color:var(--text-muted);font-size:13px;display:flex;flex-direction:column;align-items:center;gap:10px;line-height:1.5}.lib-empty:before{content:"";width:44px;height:44px;border-radius:12px;border:2px dashed var(--border);background:var(--surface-2)}.lib-row-wrap{padding:9px 10px;border-radius:10px;border:1px solid transparent;margin-bottom:3px}.lib-row-wrap:hover{background:var(--hover-soft);border-color:var(--border-soft)}.lib-row{display:flex;align-items:center;gap:10px}.lib-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:5px;justify-content:center}.lib-main-top{display:flex;align-items:center;gap:7px;min-width:0}.lib-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.lib-actions{display:flex;flex-direction:row;align-items:center;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-soft)}.lib-actions-gap{flex:1 1 auto}.lib-sel-wrap{flex-shrink:0;display:flex;align-items:center;padding:2px}.lib-thumb{width:48px;height:48px;background:var(--bg);border:1px solid var(--border, #30363d);border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:5px}.lib-thumb rect{fill:#53d8fb}.lib-thumb-pts circle{fill:#53d8fb}.lib-thumb--vec svg{width:100%;height:100%;display:block}.lib-thumb--vec svg path{fill:none;stroke:var(--thumb-stroke);stroke-width:1;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.lib-badge{min-width:38px;padding:2px 8px;border-radius:5px;font-size:11px;font-weight:700;color:#0d1117;text-align:center}.lib-label{flex:1;min-width:0;font-size:12.5px;color:#c9d3e0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lib-rect{font-size:11px;color:var(--accent-2, #4cc9f0);font-variant-numeric:tabular-nums;border:1px solid rgba(76,201,240,.35);border-radius:5px;padding:1px 6px;white-space:nowrap}.lib-rect--none{color:#777;border-color:#ffffff1f}.lib-learned{font-size:13px;flex-shrink:0;line-height:1}.lib-learned--seed{color:#555}.lib-learned--neg{color:#ff6b6b}.lib-id{font:700 10.5px var(--mono, monospace);color:#ffe14d;flex-shrink:0;letter-spacing:.3px}.lib-code{font:700 11px var(--mono, monospace);color:#ffe14d;flex-shrink:0;letter-spacing:.4px;border:1px solid rgba(255,225,77,.45);border-radius:6px;padding:2px 7px;white-space:nowrap;background:#ffe14d12}.calib-id-ro{font:700 12px var(--mono, monospace);color:#ffe14d;letter-spacing:.4px;user-select:all}.lib-calib-toggle,.lib-del{width:28px;height:28px;border-radius:7px;cursor:pointer;font-size:13px;flex-shrink:0;display:flex;align-items:center;justify-content:center;line-height:1;transition:background .12s,border-color .12s,color .12s}.lib-calib-toggle{background:var(--surface-2, #1c2128);border:1px solid var(--border, #30363d);color:var(--text-muted, #8b949e)}.lib-calib-toggle:hover,.lib-calib-toggle.active{background:var(--accent-2, #4cc9f0);color:#07121b;border-color:var(--accent-2, #4cc9f0)}.lib-base{height:28px;padding:0 9px;border-radius:7px;cursor:pointer;font-size:11px;font-weight:600;flex-shrink:0;white-space:nowrap;display:flex;align-items:center;gap:4px;line-height:1;background:var(--surface-2, #1c2128);border:1px solid var(--border, #30363d);color:var(--text-muted, #8b949e);transition:background .12s,border-color .12s,color .12s}.lib-base:hover{color:var(--text, #e6edf3);border-color:var(--accent-2, #4cc9f0)}.lib-base.has-base{background:#2563eb29;border-color:#2563eb;color:#cdd9ff}.lib-audit{height:28px;padding:0 9px;border-radius:7px;cursor:pointer;font-size:11px;font-weight:700;flex-shrink:0;white-space:nowrap;display:flex;align-items:center;gap:3px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);transition:background .12s,border-color .12s,color .12s}.lib-audit:hover{color:var(--text);border-color:var(--accent-2);background:var(--accent-2-soft)}.va-box{width:min(96vw,1100px);height:min(88vh,860px);max-height:88vh;display:flex;flex-direction:column;min-height:0}.va-box .modal-head{flex:0 0 auto}.va-box .modal-head span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.va-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:12px 14px 18px}.va-sub{max-width:100%;font-size:var(--fs-sm);line-height:1.55;color:var(--text-muted);margin:0 0 14px;overflow-wrap:anywhere}.va-sub b{color:var(--text)}.va-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;overflow:visible;padding:2px}.va-card{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:8px;align-items:center}.va-card--odd{border-color:#ff6b81;box-shadow:0 0 0 1px #ff6b8140}.va-thumb{width:100%;height:120px;background:var(--surface);border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;padding:8px}.va-thumb svg{width:100%;height:100%}.va-info{display:flex;flex-direction:column;align-items:center;gap:2px}.va-tag{font-size:11px;font-weight:700;color:var(--accent-2)}.va-tag--base{color:var(--ok)}.va-cells{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.va-split{width:100%;padding:6px;border-radius:6px;cursor:pointer;font-size:11px;font-weight:600;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);transition:background .12s,border-color .12s,color .12s}.va-split:hover{color:var(--text);border-color:var(--accent-2)}.va-acts{display:flex;gap:5px;width:100%}.va-acts .va-split{flex:1}.va-del{flex:1;padding:6px 4px;border-radius:6px;cursor:pointer;font-size:11px;font-weight:600;white-space:nowrap;background:#ff6b811a;border:1px solid rgba(255,107,129,.4);color:#ff8aa0;transition:background .12s,border-color .12s,color .12s}.va-del:hover{background:#ff6b8138;border-color:#ff6b81;color:#fff}.va-sec-h{max-width:100%;font-size:var(--fs-sm);font-weight:700;color:var(--text);margin:18px 0 8px;display:flex;align-items:baseline;gap:8px;border-bottom:1px solid var(--border-soft);padding-bottom:6px;overflow-wrap:anywhere}.va-sec-h:first-of-type{margin-top:0}.va-sec-h small{min-width:0;font-weight:400;font-size:11px;color:var(--text-muted)}.va-empty{grid-column:1 / -1;font-size:var(--fs-sm);color:var(--text-muted);padding:10px;text-align:center}.va-remove{width:100%;padding:6px;border-radius:6px;cursor:pointer;font-size:11px;font-weight:700;background:#ff6b811a;border:1px solid rgba(255,107,129,.4);color:#ff8aa0;transition:background .12s,border-color .12s,color .12s}.va-remove:hover{background:#ff6b8133;border-color:#ff6b81;color:#fff}.va-card--doc,.va-card--arch{position:relative}.va-arch-del{width:100%;padding:6px;border-radius:6px;cursor:pointer;font-size:11px;font-weight:700;background:#ff6b811a;border:1px solid rgba(255,107,129,.4);color:#ff8aa0;transition:background .12s,border-color .12s,color .12s}.va-arch-del:hover{background:#ff6b8133;border-color:#ff6b81;color:#fff}.va-pick{position:absolute;top:6px;left:6px;z-index:2;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:3px;display:flex;cursor:pointer}.va-pick input{width:16px;height:16px;cursor:pointer;accent-color:var(--accent);margin:0}.va-bulkbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 12px;margin:0 0 10px}.va-selall{display:flex;align-items:center;gap:7px;font-size:var(--fs-sm);font-weight:600;color:var(--text);cursor:pointer}.va-selall input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;margin:0}.va-selcount{font-size:var(--fs-sm);color:var(--text-muted);font-variant-numeric:tabular-nums}.va-bulkdel{margin-left:auto;padding:7px 14px;border-radius:7px;cursor:pointer;font-size:var(--fs-sm);font-weight:700;background:#ff6b811f;border:1px solid rgba(255,107,129,.45);color:#ff8aa0;transition:background .12s,border-color .12s,color .12s,opacity .12s}.va-bulkdel:hover:not(:disabled){background:#ff6b813d;border-color:#ff6b81;color:#fff}.va-bulkdel:disabled{opacity:.45;cursor:not-allowed}@media (max-width: 720px){.va-box{width:96vw;height:90vh;max-height:90vh}.va-body{padding:10px 10px 16px}.va-grid{grid-template-columns:repeat(auto-fill,minmax(136px,1fr));gap:10px}.va-sec-h{flex-direction:column;align-items:flex-start;gap:3px}}.ss-box{width:min(96vw,1180px);height:86vh;display:flex;flex-direction:column}.ss-grid{flex:1;min-height:0;display:grid;grid-template-columns:240px 1fr 1fr;gap:12px;margin-top:10px}.ss-params{display:flex;flex-direction:column;gap:12px;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:14px;overflow-y:auto}.ss-h{font-size:var(--fs-base);font-weight:700;color:var(--text)}.ss-sub-h{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:4px;padding-top:8px;border-top:1px solid var(--border-soft)}.ss-field{display:flex;flex-direction:column;gap:5px;font-size:var(--fs-sm);color:var(--text-muted)}.ss-field b{color:var(--accent-2);font-variant-numeric:tabular-nums}.ss-field input[type=range]{width:100%;accent-color:var(--accent-2)}.ss-check{display:flex;align-items:center;gap:7px;font-size:var(--fs-sm);color:var(--text);cursor:pointer}.ss-params .btn-save{width:100%;margin-top:2px}.ss-hint{font-size:11px;line-height:1.5;color:var(--text-muted);border-top:1px solid var(--border-soft);padding-top:10px}.ss-col{display:flex;flex-direction:column;min-height:0;background:var(--bg);border:1px solid var(--border);border-radius:10px;overflow:hidden}.ss-col-h{font-size:var(--fs-sm);font-weight:700;color:var(--text);padding:10px 12px;border-bottom:1px solid var(--border-soft);flex-shrink:0}.ss-col-h--ok{color:var(--ok)}.ss-cards{flex:1;min-height:0;overflow-y:auto;padding:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;align-content:start}.ss-empty{grid-column:1 / -1;font-size:var(--fs-sm);color:var(--text-muted);padding:14px;text-align:center;line-height:1.5}.ss-card{background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:6px;display:flex;flex-direction:column;gap:6px}.ss-card--ok{border-color:#3ddc8480}.ss-card .va-thumb{width:100%;height:72px;background:var(--bg);border:1px solid var(--border);border-radius:6px;display:flex;align-items:center;justify-content:center;padding:5px}.ss-card .va-thumb svg{width:100%;height:100%}.ss-card-acts{display:flex;gap:5px}.ss-ok,.ss-no{flex:1;padding:4px;border-radius:5px;cursor:pointer;font-size:13px;font-weight:700;line-height:1;transition:background .12s,border-color .12s,color .12s}.ss-ok{background:#3ddc841f;border:1px solid rgba(61,220,132,.4);color:#46d17a}.ss-ok:hover{background:#3ddc843d;color:#fff}.ss-no{background:#ff6b811a;border:1px solid rgba(255,107,129,.4);color:#ff8aa0}.ss-no:hover{background:#ff6b8138;color:#fff}.ss-foot{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid var(--border-soft);font-size:var(--fs-sm)}.ss-stat-r{color:var(--text-muted)}.synth-foot{display:flex;gap:10px;align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid var(--border-soft)}.synth-foot .btn-save{flex:1}.base-synth-btn{background:var(--accent-2-soft)!important;border-color:var(--accent-2)!important;color:var(--accent-2)!important;font-weight:700}.base-synth-btn:hover{filter:brightness(1.1)}.va-box .va-grid{overflow:visible}.va-box{overflow:hidden}.comp-scan-box{width:min(92vw,480px);max-height:min(86vh,560px)}.comp-scan-body{display:flex;flex-direction:column;gap:16px;padding:18px;background:color-mix(in srgb,var(--surface) 92%,#000 8%)}.comp-scan-field{display:flex;flex-direction:column;gap:6px;color:var(--text-muted);font-size:12px;font-weight:700}.comp-scan-field select,.comp-scan-field input{width:100%;box-sizing:border-box;height:38px;padding:0 10px;border:1px solid var(--border);border-radius:7px;background:var(--bg);color:var(--text);font:600 13px var(--font, Inter, system-ui, sans-serif)}.comp-scan-target{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch;padding:11px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-2)}.comp-scan-target-main{min-width:0;display:flex;flex-direction:column;gap:4px}.comp-scan-target-main span{color:var(--text-muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.comp-scan-target-main b{color:var(--text);font-size:14px;line-height:1.25;overflow-wrap:anywhere}.comp-scan-target-main small{color:var(--text-muted);font-size:12px;line-height:1.35}.comp-scan-target-actions{display:flex;align-items:center;gap:7px}.comp-scan-target-actions .btn-cancel{height:34px;padding:0 12px}.comp-scan-target-actions .tb-icon{width:34px;height:34px}.comp-scan-target-actions .tb-icon:disabled{opacity:.45;cursor:default}.comp-scan-scope{display:grid;grid-template-columns:1fr 1fr;gap:8px}.comp-scan-scope label{display:flex;align-items:center;gap:8px;min-height:38px;padding:0 10px;border:1px solid var(--border-soft);border-radius:7px;background:var(--surface-2);color:var(--text);font-size:13px;font-weight:650;cursor:pointer}.comp-scan-scope label:has(input:checked){border-color:#38bdf88c;background:#38bdf81a}.comp-scan-scope input{accent-color:var(--accent-2)}.comp-scan-max input{width:120px}.comp-scan-note{padding:10px 11px;border:1px solid rgba(56,189,248,.22);border-radius:7px;background:#38bdf814;color:var(--text-muted);font-size:12px;line-height:1.45}.comp-scan-actions{display:flex;justify-content:flex-end;gap:8px;margin:0;padding:14px 18px 18px;border-top:1px solid var(--border-soft);background:var(--surface)}.comp-scan-actions button{flex:1;height:38px;justify-content:center}.base-viewer-box{width:min(82vw,760px);max-height:86vh;display:flex;flex-direction:column}.base-viewer-tools{display:flex;align-items:center;gap:8px;padding:8px 0 10px;border-bottom:1px solid var(--border-soft);margin-bottom:8px}.base-viewer-tools .lib-mini-btn{height:28px}.base-zoom-label{min-width:46px;text-align:center;font:700 12px var(--mono, monospace);color:var(--text-muted, #8b949e)}.base-viewer-tools .lib-mini-btn.active{background:var(--accent-2-soft, rgba(76,201,240,.14));border-color:var(--accent-2, #4cc9f0);color:var(--accent-2, #4cc9f0)}.base-viewer-stage{flex:1;min-height:320px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;background:#fff;border-radius:8px;margin:4px 0 10px;padding:12px;overflow:hidden;touch-action:none;user-select:none}.base-viewer-stage.can-pan{cursor:grab}.base-viewer-stage.is-panning{cursor:grabbing}.base-viewer-stage.is-cropping{cursor:crosshair}.base-viewer-stage svg{display:block;width:100%;height:100%;max-width:100%;max-height:100%;box-sizing:border-box}.base-viewer-stage svg path,.base-viewer-stage svg line,.base-viewer-stage svg polyline,.base-viewer-stage svg polygon,.base-viewer-stage svg circle,.base-viewer-stage svg ellipse,.base-viewer-stage svg rect{stroke:#1a2230!important;stroke-width:1.1px!important;vector-effect:non-scaling-stroke!important}.base-viewer-stage svg .base-crop-rect{fill:#38bdf829!important;stroke:#0284c7!important;stroke-width:1.6px!important;stroke-dasharray:6 4;vector-effect:non-scaling-stroke!important;pointer-events:none}.base-viewer-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.base-viewer-name{font:12px monospace;color:var(--text-muted, #8b949e);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.base-viewer-actions{display:flex;gap:8px;flex-shrink:0}.lib-mini-btn{height:30px;padding:0 12px;border-radius:7px;cursor:pointer;font-size:12px;font-weight:600;background:var(--surface-2, #1c2128);border:1px solid var(--border, #30363d);color:var(--text, #e6edf3)}.lib-mini-btn:hover{border-color:var(--accent-2, #4cc9f0)}.lib-mini-danger{color:#ff8aa0}.lib-mini-danger:hover{background:#e945602e;border-color:#e94560}.lib-calib{display:none;padding:10px 12px;margin:0 0 6px;background:var(--bg);border:1px solid var(--border, #30363d);border-radius:8px}.lib-calib.open{display:block}.calib-name{padding-bottom:8px;margin-bottom:8px;border-bottom:1px dashed var(--border, #30363d)}.calib-name-row{display:flex;align-items:center;gap:8px;margin:5px 0}.calib-name-row label{flex-shrink:0;width:100px;font-size:12px;color:var(--text-muted, #8b949e)}.calib-name-row input{flex:1;min-width:0;padding:6px 9px;border-radius:6px;font-size:12.5px;background:var(--bg);color:var(--text, #e6edf3);border:1px solid var(--border, #30363d)}.calib-name-row input:focus{outline:none;border-color:var(--accent-2, #4cc9f0);box-shadow:0 0 0 2px #4cc9f02e}.calib-protos{padding-bottom:8px;margin-bottom:8px;border-bottom:1px dashed var(--border, #30363d)}.calib-protos>label{display:block;font-size:12px;color:var(--text-muted, #8b949e);margin-bottom:6px}.calib-proto-list{display:flex;gap:8px;flex-wrap:wrap}.calib-proto{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px;border-radius:8px;background:var(--bg);border:1px solid var(--border, #30363d)}.calib-proto .lib-thumb{width:40px;height:40px;padding:3px}.calib-proto-n{font-size:10px;color:#8b949e;font-variant-numeric:tabular-nums}.calib-proto-f1{font-size:10px;color:var(--accent-2, #4cc9f0);font-family:var(--mono, monospace)}.calib-proto-base{font-size:10px;color:#f4c430}.calib-proto-split{font-size:10.5px;padding:3px 7px;border-radius:6px;cursor:pointer;white-space:nowrap;background:#4cc9f01f;color:var(--accent-2, #4cc9f0);border:1px solid rgba(76,201,240,.4)}.calib-proto-split:hover{background:var(--accent-2, #4cc9f0);color:#07121b}.calib-row{display:flex;align-items:center;gap:8px;margin:6px 0;font-size:12px;color:var(--text-muted, #8b949e)}.calib-row label{flex-shrink:0;min-width:160px}.calib-row input[type=range]{flex:1;accent-color:var(--accent-2, #4cc9f0)}.calib-row b{color:var(--accent-2, #4cc9f0);font-family:monospace;min-width:34px;text-align:right}.calib-checks{gap:16px}.calib-checks label{min-width:0;display:flex;align-items:center;gap:5px;cursor:pointer}.calib-test{padding:5px 10px;border-radius:6px;cursor:pointer;font-size:12px;background:var(--surface-2,#1c2128);color:var(--text,#e6edf3);border:1px solid var(--border,#30363d)}.calib-test:hover{border-color:var(--accent-2,#4cc9f0)}.calib-test-out{font-size:12px;color:var(--accent-2,#4cc9f0)}.calib-noang{font-size:11.5px;color:#d6a93b;font-style:italic}.calib-noang b{color:#f4c430;font-style:normal}.calib-rect-ctl{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted,#8b949e);flex-wrap:wrap}.calib-rect-ctl b{color:var(--accent-2,#4cc9f0);min-width:26px;text-align:center}.calib-rect-ctl button{width:22px;height:22px;border-radius:5px;cursor:pointer;font-size:13px;line-height:1;background:var(--surface-2,#1c2128);color:var(--text,#e6edf3);border:1px solid var(--border,#30363d)}.calib-rect-ctl button:hover{border-color:var(--accent-2,#4cc9f0)}.lib-protos{font-size:11px;font-weight:700;padding:1px 6px;border-radius:10px;white-space:nowrap;background:#4cc9f029;color:var(--accent-2,#4cc9f0);border:1px solid rgba(76,201,240,.4)}.lib-count{font-size:11px;color:#8b949e;font-variant-numeric:tabular-nums}.lib-odd{font-size:10.5px;font-weight:700;color:#ff6b81;white-space:nowrap;border:1px solid rgba(255,107,129,.45);border-radius:5px;padding:1px 6px;background:#ff6b811a;font-variant-numeric:tabular-nums}.lib-del{background:var(--surface-2, #1c2128);border:1px solid rgba(233,69,96,.35);color:#e94560}.lib-del:hover{background:#e945602e;border-color:#e94560}:root{--bg: #0d1117;--surface: #151c2b;--surface-2: #1d2740;--surface-3: #243049;--border: #2a3650;--border-soft: rgba(255,255,255,.06);--text: #e7ecf3;--text-muted: #8b97ac;--text-faint: #5d6a80;--accent: #ff5d73;--accent-2: #4cc9f0;--accent-2-soft: rgba(76, 201, 240, .14);--ok: #3ddc84;--warn: #ffd166;--radius: 8px;--radius-sm: 6px;--radius-lg: 12px;--shadow-1: 0 1px 2px rgba(0,0,0,.3);--shadow-2: 0 8px 24px rgba(0,0,0,.35);--shadow-3: 0 24px 64px rgba(0,0,0,.5);--panel-width: 348px;--toolbar-height: 50px;--diagram-bg: #0d1117;--diagram-grid: rgba(255,255,255,.04);--diagram-line: rgba(210, 222, 240, 1);--toolbar-grad-top: #1b2747;--thumb-stroke: #bfe3ff;--font: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--mono: "Cascadia Code", "JetBrains Mono", "Fira Code", "Consolas", monospace;--fs-xs: 11px;--fs-sm: 12px;--fs-base: 13px;--fs-md: 15px;--fs-lg: 18px;--fs-xl: 22px;--lh: 1.5;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--hover-soft: var(--border-soft)}:root[data-theme=light]{--bg: #eceff4;--surface: #ffffff;--surface-2: #f3f5f9;--surface-3: #e7ecf3;--border: #d6dce6;--border-soft: rgba(15,30,60,.07);--text: #1a2230;--text-muted: #5a6678;--text-faint: #8893a5;--accent-2-soft: rgba(20,140,190,.14);--accent-2: #1488be;--shadow-1: 0 1px 2px rgba(20,30,50,.08);--shadow-2: 0 8px 24px rgba(20,30,50,.12);--shadow-3: 0 24px 64px rgba(20,30,50,.22);--diagram-bg: #f5f7fa;--diagram-grid: rgba(20,40,80,.06);--diagram-line: rgba(10, 18, 35, 1);--toolbar-grad-top: #ffffff;--thumb-stroke: #2f5570}body{font-family:var(--font);background:var(--bg);color:var(--text);height:100vh;height:100dvh;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","ss01"}*{scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:6px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:#2f3d5c;background-clip:content-box}*::-webkit-scrollbar-track{background:transparent}::selection{background:var(--accent-2-soft)}button{font-family:inherit}:focus-visible{outline:2px solid var(--accent-2);outline-offset:1px}.tb-btn,.tb-icon,#acervo-select,.acervo-combo-trigger,#panel-export,.btn-save,.btn-cancel,.btn-delete,.btn-find,.lib-chip,.lib-del,.radius-row button{transition:background .16s ease,border-color .16s ease,color .16s ease,transform .08s ease,box-shadow .16s ease}.tb-btn:active,.tb-icon:active,#panel-export:active,.btn-save:active,.btn-cancel:active,.btn-find:active,.lib-chip:active,.radius-row button:active{transform:translateY(1px) scale(.98)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}#app{display:flex;flex-direction:column;height:100vh;height:100dvh}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;row-gap:6px;min-height:var(--toolbar-height);padding:6px 14px;background:linear-gradient(180deg,var(--toolbar-grad-top) 0%,var(--surface) 100%);border-bottom:1px solid var(--border);flex-shrink:0;z-index:10}.toolbar-hint{flex:0 1 auto}.toolbar-brand{display:flex;align-items:center;gap:8px;padding-right:6px}.brand-icon{width:22px;height:22px;fill:none;stroke:var(--accent-2);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.toolbar-title{font-size:14px;font-weight:700;color:var(--text);letter-spacing:.3px}.toolbar-group{display:flex;align-items:center;gap:4px}.toolbar-sep{width:1px;height:24px;background:var(--border);margin:0 4px}.toolbar-spacer{flex:1}.tb-btn,.tb-icon{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:7px;cursor:pointer;font-size:12.5px;font-weight:500;transition:background .15s,border-color .15s,color .15s}.tb-btn{padding:6px 11px}.tb-icon{padding:6px}.tb-btn[hidden],.tb-icon[hidden]{display:none!important}.tb-btn svg,.tb-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.tb-btn svg .i18n-glyph,.tb-icon svg .i18n-glyph{fill:currentColor;stroke:none}.tb-btn svg .i18n-badge,.tb-icon svg .i18n-badge{fill:none;stroke:currentColor;stroke-width:1.9}.tb-btn:hover,.tb-icon:hover{background:var(--surface);border-color:var(--accent-2);color:var(--accent-2)}.tb-btn--active{background:var(--accent-2);color:#07121b;border-color:var(--accent-2)}.tb-btn--active:hover{background:var(--accent-2);color:#07121b}#connections-overlay .conn-line{stroke:#2ecc71!important;stroke-width:1.1!important;stroke-linecap:round;opacity:.95}#connections-overlay .conn-line--sel{stroke:#7cffb0!important;stroke-width:2!important;opacity:1}#connections-overlay .conn-dot{fill:#2ecc71;stroke:#2ecc71!important;opacity:.95}#connections-overlay .conn-dot--sel{fill:#7cffb0;stroke:#7cffb0!important}#connections-overlay .conn-from{fill:none;stroke:#7cffb0!important;stroke-width:1.2!important;stroke-dasharray:2 2}#connections-overlay .conn-hit{stroke:transparent!important;stroke-width:5!important;pointer-events:none}body.disconnect-mode #connections-overlay .conn-hit{pointer-events:stroke;cursor:pointer}body.disconnect-mode #connections-overlay .conn-hit:hover{stroke:#e9456073!important}body.disconnect-mode #svg-wrapper{cursor:pointer}#link-conn-overlay .linkconn-line{fill:none;stroke:#14b8a6!important;stroke-width:2.6!important;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:5 3;opacity:.95}#link-conn-overlay .linkconn-dot{fill:#2563eb;stroke:#2563eb!important;opacity:.95}#link-conn-overlay .linkconn-marker{fill:#2563eb;stroke:#0d1117!important;stroke-width:.6!important;opacity:.95}#link-conn-overlay .linkconn-marker--sel{fill:#7cb3ff;stroke:#7cb3ff!important}#link-conn-overlay .linkconn-marker--dim{opacity:.55}#link-conn-overlay .linkconn-from{fill:none;stroke:#7cb3ff!important;stroke-width:1.2!important;stroke-dasharray:2 2}#link-conn-overlay .linkconn-hit{fill:none;stroke:transparent!important;stroke-width:5!important;pointer-events:stroke;cursor:pointer}#link-conn-overlay .linkconn-hit:hover{stroke:#14b8a659!important}body.linkconnect-mode #svg-wrapper{cursor:crosshair}#autofit-overlay .autofit-scan{fill:#4cc9f012;stroke:#4cc9f0!important;stroke-width:.6!important;stroke-dasharray:3 2;animation:autofit-dash .5s linear infinite,autofit-pulse .7s ease-in-out infinite}#autofit-overlay .autofit-best{fill:#2ecc711f;stroke:#2ecc71!important;stroke-width:.9!important}#autofit-overlay .autofit-best.autofit-settled{stroke:#7cffb0!important;stroke-width:1.5!important;animation:autofit-flash .32s ease-out}@keyframes autofit-dash{to{stroke-dashoffset:-10}}@keyframes autofit-pulse{0%,to{opacity:.45}50%{opacity:1}}@keyframes autofit-flash{0%{opacity:.3}to{opacity:1}}body.connect-mode #svg-wrapper{cursor:crosshair}#connections-overlay{display:none}body.pipes-dim #connections-overlay,body.connect-mode #connections-overlay,body.disconnect-mode #connections-overlay,body.show-conns #connections-overlay{display:block}body.pipes-dim #svg-wrapper svg :is(path,line,polyline,polygon,rect,circle,ellipse):not(.pinhl){opacity:.18}body.pipes-dim #pins-overlay{opacity:1}body.hide-markers #pins-overlay .pin-marker:not(.pin-pending){display:none}body.pipe-isolate #doc-rot :is(path,line,polyline,rect,circle,ellipse,text):not(.iso-fluid-match):not(.iso-pin-match){visibility:hidden}body.pipe-isolate #pins-overlay>[data-pid]:not(.iso-pin-match){visibility:hidden}.conn-list{display:flex;flex-direction:column;gap:4px;margin:4px 0}.conn-row{display:flex;align-items:center;gap:6px}.conn-go{flex:1;text-align:left;background:#4cc9f01a;color:var(--accent-2,#4cc9f0);border:1px solid rgba(76,201,240,.3);border-radius:6px;padding:5px 9px;font-size:12.5px;cursor:pointer}.conn-go:hover{background:#4cc9f033}.conn-rm{width:24px;height:24px;border-radius:6px;background:var(--surface-2,#1c2128);color:#ff8585;border:1px solid rgba(233,69,96,.4);cursor:pointer}.conn-rm:hover{background:#e9456033}.btn-conn{display:block;width:calc(100% - 32px);margin:8px 16px;padding:8px;border-radius:8px;cursor:pointer;font-weight:600;font-size:12.5px;background:#2ecc7124;color:#2ecc71;border:1px solid rgba(46,204,113,.45)}.btn-conn:hover{background:#2ecc713d}.conn-pdf-link{text-align:center;text-decoration:none}.btn-identify-3d{text-align:center;background:#53d8fb24;color:#53d8fb;border:1px solid rgba(83,216,251,.45)}.btn-identify-3d:hover{background:#53d8fb42}#chat-fab.chat-fab--pulse{animation:chat-fab-pulse 1.1s ease-in-out infinite}@keyframes chat-fab-pulse{0%,to{box-shadow:0 0 #6f7cff8c}50%{box-shadow:0 0 0 12px #6f7cff00}}.conn-pipe{font-size:11px;padding:3px 8px;border-radius:6px;cursor:pointer;background:#ff2d2d24;color:#ff6b6b;border:1px solid rgba(255,45,45,.4);white-space:nowrap}.conn-pipe:hover{background:#ff2d2d42}.conn-hand{font-size:11px;padding:3px 8px;border-radius:6px;cursor:pointer;background:#6f7cff29;color:#9aa6ff;border:1px solid rgba(111,124,255,.4);white-space:nowrap}.conn-hand:hover{background:#6f7cff47}.conn-invert{width:24px;height:24px;border-radius:6px;cursor:pointer;background:var(--surface-2,#1c2128);color:var(--accent-2,#4cc9f0);border:1px solid rgba(76,201,240,.35);font-size:12px}.conn-invert:hover{background:#4cc9f02e}.conn-linetype{font-size:11px;padding:3px 8px;border-radius:6px;cursor:pointer;background:#8b97ac24;color:var(--text-muted,#8b97ac);border:1px solid rgba(139,151,172,.35);white-space:nowrap}.conn-linetype:hover{background:#8b97ac3d}.conn-linetype[data-type=signal]{background:#ffd16624;color:var(--warn,#ffd166);border-color:#ffd16673}.conn-linetype[data-type=signal]:hover{background:#ffd16642}body.manual-pipe-mode #svg-wrapper,body.manual-pipe-mode #svg-wrapper *{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26"><g transform="rotate(45 13 13)"><rect x="11" y="3" width="4" height="11" rx="1.5" fill="%23ff2d2d" stroke="white" stroke-width="1.2"/><path d="M11 14h4l-2 6z" fill="%23ffd0d0" stroke="white" stroke-width="1.2"/></g></svg>') 13 22,crosshair!important}body.pipe-exclude-mode #svg-wrapper,body.pipe-exclude-mode #svg-wrapper *{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26"><g transform="rotate(-40 13 13)"><rect x="5" y="9" width="15" height="8" rx="1.5" fill="%23ff7a7a" stroke="white" stroke-width="1.5"/><rect x="5" y="9" width="6" height="8" rx="1.5" fill="%23ffd0d0" stroke="white" stroke-width="1.5"/></g></svg>') 5 16,auto!important}#manual-pipe-bar{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:9600;display:none;align-items:center;gap:10px;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 30px #00000080;font-size:13px;color:var(--text, #e6edf3)}#manual-pipe-bar button{font-size:12px;padding:6px 12px}body.chat-split #manual-pipe-bar{left:25vw}#svg-wrapper svg path.pipe-trace,#svg-wrapper svg line.pipe-trace,#svg-wrapper svg polyline.pipe-trace{stroke:#ff2d2d!important;stroke-width:4.5!important;opacity:1!important;stroke-linecap:round!important}#svg-wrapper svg .pipe-trace.pipe-unclassified{animation:pipe-pulse 1.3s ease-in-out infinite;filter:drop-shadow(0 0 3px #ff2d2d)}@keyframes pipe-pulse{0%,to{stroke-opacity:1;filter:drop-shadow(0 0 3px #ff2d2d)}50%{stroke-opacity:.5;filter:drop-shadow(0 0 10px #ff2d2d) drop-shadow(0 0 2px #fff)}}#svg-wrapper svg .flow-path{fill:none!important;stroke:#8be9ff!important;stroke-width:2.4!important;stroke-linecap:round!important;opacity:1!important;pointer-events:none;stroke-dasharray:5 9;animation:flow-march .8s linear infinite;filter:drop-shadow(0 0 2.5px #8be9ff)}@keyframes flow-march{to{stroke-dashoffset:-14}}#svg-wrapper svg .pipe-draw{animation:pipe-generate .8s cubic-bezier(.4,0,.2,1) forwards;filter:drop-shadow(0 0 6px #ff7a7a) drop-shadow(0 0 2px #fff)!important}@keyframes pipe-generate{0%{stroke-dashoffset:var(--pipe-len);opacity:.15;stroke:#ffd0d0!important}60%{opacity:1;stroke:#ff8a8a!important}to{stroke-dashoffset:0;opacity:1;stroke:#ff2d2d!important}}.tb-caret{width:14px;height:14px;opacity:.7}.conn-menu{position:fixed;display:none;z-index:9700;min-width:236px;padding:var(--sp-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);font-size:var(--fs-base);color:var(--text)}.cm-row{display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px;padding:9px 11px;border-radius:var(--radius-sm)}.cm-btn{background:none;border:none;color:inherit;font-size:var(--fs-base);cursor:pointer;text-align:left}.cm-btn:hover{background:var(--hover-soft)}.cm-btn.cm-active{background:#6f7cff2e;color:#aab4ff}.cm-title{font-weight:700;color:var(--text-muted, #8b949e);cursor:default;font-size:12.5px}body.vpoint-mode #svg-wrapper{cursor:crosshair}#vpoints-overlay .vpoint-dot{fill:#a855f738;stroke:#a855f7!important;stroke-width:1.1!important}#vpoints-overlay .vpoint-cross{stroke:#a855f7!important;stroke-width:.9!important;stroke-linecap:round}#vpoints-overlay .vpoint-marker:hover .vpoint-dot{fill:#a855f766}#vpoints-overlay .vpoint-marker--pending .vpoint-dot{animation:vpoint-pulse .9s ease-in-out infinite}#vpoints-overlay .vpoint-guide{stroke:#a855f7!important;stroke-width:.6!important;stroke-dasharray:2 2;opacity:.55;pointer-events:none}@keyframes vpoint-pulse{0%,to{stroke-width:1.1;opacity:.7}50%{stroke-width:2;opacity:1}}.vpoint-menu .cm-title b{color:#c084fc}.cm-toggle{cursor:pointer}.cm-toggle:hover{background:var(--hover-soft)}.cm-sep{height:1px;background:var(--border);margin:var(--sp-1) var(--sp-1)}.tools-group{margin:1px 0}.tools-group>summary{list-style:none;user-select:none}.tools-group>summary::-webkit-details-marker{display:none}.tools-group>summary:hover{background:var(--hover-soft)}.tools-group--active>summary{background:var(--accent-2-soft);color:var(--accent-2)}.tools-group-chevron{color:var(--text-faint);font-size:18px;line-height:1;transition:transform .15s ease}.tools-group[open] .tools-group-chevron{transform:rotate(90deg)}.tools-group-options{margin:2px 0 5px 9px;padding-left:7px;border-left:1px solid var(--border)}.tools-group-options .cm-row{min-height:34px;padding:7px 9px;color:var(--text-muted);font-size:11.5px}.tools-group-options .cm-row:hover{color:var(--text)}.tools-group-badge{margin-left:5px;color:var(--accent-2);font-size:9px;font-weight:700}.cm-toggle--readonly{background:#ffd1661a}.cm-toggle--readonly:hover{background:#ffd1662e}.cm-switch{position:relative;width:38px;height:20px;flex:0 0 auto}.cm-switch input{opacity:0;width:0;height:0}.cm-slider{position:absolute;inset:0;background:#444c56;border-radius:999px;transition:background .2s}.cm-slider:before{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s}.cm-switch input:checked+.cm-slider{background:#6f7cff}.cm-switch input:checked+.cm-slider:before{transform:translate(18px)}.lib-sel{width:16px;height:16px;cursor:pointer;accent-color:#6f7cff;flex:0 0 auto}.lib-color{width:22px;height:22px;padding:0;border:1px solid var(--border, #30363d);border-radius:6px;background:none;cursor:pointer;flex:0 0 auto}.lib-color::-webkit-color-swatch-wrapper{padding:2px}.lib-color::-webkit-color-swatch{border:none;border-radius:4px}.lib-maxhits{display:inline-flex;align-items:center;gap:6px;cursor:default}.lib-maxhits input{width:52px;padding:3px 6px;border-radius:6px;border:1px solid var(--border, #30363d);background:var(--bg);color:var(--text, #e6edf3);font-size:12px;text-align:center}body.area-scan-mode #svg-wrapper{cursor:crosshair}#scan-pts .scan-pt{fill:none!important;stroke:var(--scan-beam, #7af9ff)!important;stroke-width:1!important;pointer-events:none;animation:scan-pt-wave 1.25s ease-out forwards}#scan-pts .scan-pt--echo{opacity:0;animation:scan-pt-wave 1.5s ease-out .28s forwards}#scan-pts .scan-pt--weak{stroke:#6f7cff!important;opacity:.35;animation-duration:.9s}#scan-pts .scan-pt-core{fill:var(--scan-beam-core, #b6f3ff)!important;stroke:none!important;pointer-events:none;filter:drop-shadow(0 0 3px var(--scan-beam)) drop-shadow(0 0 9px var(--scan-beam));animation:scan-pt-core .95s ease-out forwards}@keyframes scan-pt-core{0%{r:.3;opacity:1}35%{r:1.5;opacity:1}to{r:.5;opacity:0}}@keyframes scan-pt-wave{0%{r:.4;opacity:.95;stroke-width:1.6}70%{opacity:.55}to{r:8;opacity:0;stroke-width:.25}}#scan-busy{pointer-events:none}#scan-busy .scan-busy-rect{fill:none;stroke:var(--scan-beam, #7af9ff);stroke-width:.7;stroke-dasharray:4 3;animation:scan-busy-dash .7s linear infinite,scan-busy-pulse 1.2s ease-in-out infinite}#scan-busy .scan-busy-ring{fill:none;stroke:var(--scan-beam, #7af9ff);stroke-width:.6;transform-box:fill-box;transform-origin:center;animation:scan-busy-radar 1.5s ease-out infinite}@keyframes scan-busy-dash{to{stroke-dashoffset:-14}}@keyframes scan-busy-pulse{0%,to{opacity:.35}50%{opacity:.85}}@keyframes scan-busy-radar{0%{transform:scale(.12);opacity:.85}to{transform:scale(1);opacity:0}}#svg-wrapper svg path.scan-glow-path{fill:none!important;stroke:#ff1ad9!important;stroke-width:4!important;stroke-linecap:round!important;opacity:.4;pointer-events:none!important;animation:scan-sweep 1.2s ease-in-out infinite}@keyframes scan-sweep{0%,to{opacity:.4;stroke:#ff1ad9!important;stroke-width:3;filter:none}50%{opacity:1;stroke:#fff200!important;stroke-width:6;filter:drop-shadow(0 0 6px #ff1ad9) drop-shadow(0 0 3px #fff200)}}#area-marquee{position:fixed;z-index:9000;pointer-events:none;border:1.5px dashed #4aa3ff;background:#4aa3ff24;border-radius:3px;box-shadow:0 0 0 1px #4aa3ff40}#area-marquee.area-marquee--agent{border-color:#7c5cff;background:#7c5cff24;box-shadow:0 0 0 1px #7c5cff4d}#area-marquee.area-marquee--mark{border-color:#2ecc71;background:#2ecc7121;box-shadow:0 0 0 1px #2ecc714d}#area-marquee.area-marquee--gpp-test{border-color:#53d8fb;background:#53d8fb21;box-shadow:0 0 0 1px #53d8fb4d}body.gpp-test-mode #svg-wrapper{cursor:crosshair}#gpp-test-overlay text{user-select:none}#area-marquee.area-marquee--gpp-expected{border-color:#25d9ff;background:#087cff1c;box-shadow:0 0 0 1px #25d9ff4d,0 0 12px #087cff3d}body.gpp-expected-mode #svg-wrapper{cursor:crosshair}#svg-wrapper svg path.gpp-expected-kept{fill:none!important;stroke:#2ecc71!important;stroke-width:3!important;stroke-linecap:round!important;opacity:.55;pointer-events:none!important}#svg-wrapper svg path.gpp-expected-removed{fill:none!important;stroke:#ff4d6d!important;stroke-width:3!important;stroke-dasharray:3 2!important;stroke-linecap:round!important;opacity:.6;pointer-events:none!important}#svg-wrapper svg path.gpp-s22-internal{fill:none!important;stroke:#53d8fb!important;stroke-width:2.4!important;stroke-linecap:round!important;opacity:.5;pointer-events:none!important}#svg-wrapper svg path.gpp-s22-external{fill:none!important;stroke:#d966ff!important;stroke-width:2.4!important;stroke-dasharray:1.5 1.5!important;stroke-linecap:round!important;opacity:.65;pointer-events:none!important}#svg-wrapper svg path.gpp-gt-confirmed{fill:none!important;stroke:#2ecc71!important;stroke-width:3.2!important;stroke-linecap:round!important;opacity:.55}#svg-wrapper svg path.gpp-gt-unconfirmed{fill:none!important;stroke:#9aa5b1!important;stroke-width:3.2!important;stroke-dasharray:1.5 2!important;stroke-linecap:round!important;opacity:.4}#gpp-falt-toolbox{position:fixed;left:50%;top:80px;z-index:1250;width:250px;display:flex;flex-direction:column;gap:7px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg, 10px);padding:12px;box-shadow:var(--shadow-3, 0 8px 24px rgba(0,0,0,.45));font-size:12.5px}#gpp-falt-toolbox .gpp-falt-head{font-weight:700;font-size:11px;letter-spacing:.06em;opacity:.7}#gpp-falt-toolbox .gpp-falt-count{font-weight:700;font-size:13px;color:#ffb020}#gpp-falt-toolbox .gpp-falt-hint{font-size:11px;opacity:.75;line-height:1.35}#gpp-falt-toolbox .gpp-falt-lbl{display:flex;flex-direction:column;gap:3px;font-size:11px;opacity:.85}#gpp-falt-toolbox input{padding:6px 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg, #0d1117);color:inherit;font-size:12.5px;width:100%;box-sizing:border-box}#gpp-falt-toolbox .gpp-falt-btns{display:flex;flex-direction:column;gap:5px;margin-top:2px}#gpp-falt-toolbox .gpp-falt-btns button{width:100%;white-space:nowrap}#svg-wrapper svg path.gpp-falt-on{fill:none!important;stroke:#ffb020!important;stroke-width:3.6!important;stroke-linecap:round!important;opacity:.8}#svg-wrapper svg path.gpp-falt-off{fill:none!important;stroke:#9aa5b1!important;stroke-width:3!important;stroke-dasharray:1.5 2.5!important;stroke-linecap:round!important;opacity:.32}#svg-wrapper svg path.gpp-pert2-proposto{stroke:#d966ff!important;stroke-width:5.5!important;opacity:.32}#gpp-gt-actionbar{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:1200;display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg, 10px);padding:10px 14px;box-shadow:var(--shadow-3, 0 8px 24px rgba(0,0,0,.4));font-size:13px}#gpp-gt-actionbar button{white-space:nowrap}.gpp-box-wide{width:640px}.gpp-class-list{max-height:340px;overflow-y:auto;border:1px solid var(--border);border-radius:6px}.gpp-class-row{padding:6px 10px;cursor:pointer;border-bottom:1px solid var(--border);font-size:13px}.gpp-class-row:hover{background:#53d8fb1f}.gpp-class-row:last-child{border-bottom:none}.gpp-stamp-row{display:flex;gap:16px;flex-wrap:wrap}.gpp-stamp-grid{width:110px;height:110px;background:#ffffff0a;border:1px solid var(--border);border-radius:4px}.gpp-stamp-grid.gpp-stamp-candidate rect{fill:#53d8fb}.gpp-stamp-grid.gpp-stamp-template rect{fill:#f5a623}.gpp-stamp-diff-coincident rect{fill:#2ecc71}.gpp-stamp-diff-onlycand rect{fill:#53d8fb}.gpp-stamp-diff-onlytemp rect{fill:#ff4d6d}rect.gpp-c53-strict{fill:#2ecc71}rect.gpp-c53-bridge{fill:#f5a623}rect.gpp-c53-unmatched{fill:#ff4d6d}.gpp-c52-card{flex:1 1 260px;min-width:240px;max-width:320px;border:1px solid var(--border);border-radius:6px;padding:8px;font-size:12px}.gpp-c52-card-head{font-weight:700;margin-bottom:4px}.gpp-c52-geom{width:100%;height:160px;overflow:hidden;background:#fff;border:1px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center}.gpp-c52-geom svg{max-width:100%;max-height:100%}.gpp-c52-geom--empty{align-items:center;justify-content:center;color:var(--muted);font-size:11px;text-align:center;padding:8px}@media print{body>*:not(.gpp-printing){display:none!important}.gpp-printing,.gpp-printing *{visibility:visible!important}.gpp-printing{position:static!important;background:none!important;backdrop-filter:none!important;display:block!important}.gpp-printing .modal-box{width:100%!important;max-width:100%!important;max-height:none!important;box-shadow:none!important}.gpp-printing .modal-body{max-height:none!important;overflow:visible!important}.gpp-printing .gpp-close,.gpp-printing .gpp-print-btn{display:none!important}}.gpp-print-btn{white-space:nowrap}.agent-area-rect{fill:#7c5cff0f;stroke:#7c5cff;stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-dasharray:7 4;pointer-events:none;animation:agent-area-dash 1s linear infinite}@keyframes agent-area-dash{to{stroke-dashoffset:-11}}.analysis-box-rect{fill:#7c5cff0d;stroke:#b9a8ff;stroke-width:1.8;vector-effect:non-scaling-stroke;stroke-dasharray:5 3;pointer-events:none;animation:agent-area-dash 1s linear infinite}.analysis-box-label{fill:#d7ccff;font-size:3.4px;font-weight:700;paint-order:stroke;stroke:#0d1117d9;stroke-width:.7px}.search-region-rect{fill:#7c5cff12;stroke:#7c5cff;stroke-width:1.4;vector-effect:non-scaling-stroke;stroke-dasharray:6 3;pointer-events:none;animation:agent-area-dash 1s linear infinite}.search-region-label{fill:#c9bcff;font-size:4px;font-weight:700;paint-order:stroke;stroke:#0d1117d9;stroke-width:.8px}#pipe-analysis .pa-comp{fill:#b9a8ff;stroke:#0d1117;stroke-width:.4;vector-effect:non-scaling-stroke}#pipe-analysis .pa-grab{stroke:#b9a8ff;stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:2 2;opacity:.9}#pipe-analysis .pa-anchor-ok{fill:#46d17a;stroke:#0d1117;stroke-width:.4;vector-effect:non-scaling-stroke}#pipe-analysis .pa-anchor-bad{fill:#f5a623;stroke:#0d1117;stroke-width:.4;vector-effect:non-scaling-stroke}#pipe-analysis .pa-gap{stroke:#f46;stroke-width:1.4;vector-effect:non-scaling-stroke;stroke-dasharray:3 2;animation:agent-area-dash 1s linear infinite}#pipe-analysis .pa-label{fill:#ffb3c0;font-size:3.2px;font-weight:700;text-anchor:middle;paint-order:stroke;stroke:#0d1117d9;stroke-width:.7px}.link-box{display:flex;flex-direction:column;gap:7px;margin:4px 16px 8px}.link-box select{width:100%}.link-current{font-size:12.5px;color:var(--text,#e6edf3);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.link-current b{color:#c77dff}.link-actions{display:flex;gap:6px;flex-wrap:wrap}.link-go{font-size:11px;padding:3px 8px;border-radius:6px;cursor:pointer;background:#c77dff24;color:#c77dff;border:1px solid rgba(199,125,255,.4)}.link-go:hover{background:#c77dff42}.link-auto-badge{font-size:10px;font-weight:700;padding:1px 7px;border-radius:999px;background:#14b8a629;color:#5eead4;border:1px solid rgba(20,184,166,.4);white-space:nowrap}.tb-btn:disabled,.tb-icon:disabled{opacity:.4;cursor:not-allowed;background:var(--surface-2);border-color:var(--border);color:var(--text-muted)}#btn-identify.active,#btn-addpin.active{background:var(--accent-2);border-color:var(--accent-2);color:#0d1117;font-weight:700}#btn-identify.active:hover,#btn-addpin.active:hover{background:#7ee6ff;border-color:#7ee6ff;color:#0d1117}.tb-badge{min-width:18px;padding:1px 5px;border-radius:9px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;text-align:center}#acervo-select{padding:6px 8px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:7px;cursor:pointer;font-size:12.5px;max-width:220px}#acervo-select:hover{border-color:var(--accent-2)}.acervo-combo{position:relative;display:inline-flex}.acervo-combo #acervo-select{position:absolute;width:1px;height:1px;padding:0;margin:0;opacity:0;pointer-events:none;border:0}.acervo-combo-trigger{display:inline-flex;align-items:center;gap:8px;max-width:240px;padding:6px 8px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:7px;cursor:pointer;font-size:12.5px;font-family:inherit}.acervo-combo-trigger:hover:not([disabled]){border-color:var(--accent-2)}.acervo-combo-trigger[disabled]{opacity:.55;cursor:not-allowed}.acervo-combo-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acervo-combo-caret{width:14px;height:14px;flex-shrink:0;fill:none;stroke:var(--text-muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.acervo-combo-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:60;width:340px;max-width:88vw;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);overflow:hidden}.acervo-combo-panel[hidden]{display:none}.acervo-combo-search{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border)}#acervo-combo-input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:13.5px;font-family:inherit}#acervo-combo-input::placeholder{color:var(--text-faint)}.acervo-combo-list{max-height:46vh;overflow-y:auto;padding:6px}.acervo-combo-item{display:block;width:100%;text-align:left;padding:8px 10px;border:none;border-radius:7px;background:transparent;color:var(--text);font-size:12.5px;font-family:inherit;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acervo-combo-item:hover,.acervo-combo-item:focus-visible{background:var(--surface-2);outline:none}.acervo-combo-item.is-selected{background:var(--accent-soft, var(--surface-2));font-weight:600}.acervo-combo-empty{padding:18px;text-align:center;color:var(--text-muted);font-size:12.5px}.doc-progress-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:7px;background:var(--surface-2);border:1px solid var(--border);font-size:11.5px;color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.doc-progress-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}#doc-progress-count{color:var(--text);font-weight:600}.readonly-badge{display:inline-flex;align-items:center;gap:5px;margin-left:8px;padding:3px 9px 3px 7px;border-radius:999px;background:#ffd16624;border:1px solid rgba(255,209,102,.45);color:var(--warn);font-size:11.5px;font-weight:600;white-space:nowrap;font-family:inherit;cursor:pointer}.readonly-badge:hover{background:#ffd1663d}.readonly-badge svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;flex:0 0 auto}.readonly-badge--unlocked{background:#3ddc8424;border-color:#3ddc8473;color:var(--ok)}.readonly-badge--unlocked:hover{background:#3ddc843d}body.readonly-mode #btn-addpin,body.readonly-mode #btn-area-scan,body.readonly-mode #btn-erase-line,body.readonly-mode #btn-note,body.readonly-mode #btn-fluid-mode,body.readonly-mode #btn-edit-menu,body.readonly-mode #mtb-mark{opacity:.45;filter:saturate(.6)}body.readonly-mode .toolbar-group[aria-label=Navegacao],body.readonly-mode .toolbar-group[aria-label=Ferramentas],body.readonly-mode .toolbar-group[aria-label=Relatórios],body.readonly-mode .toolbar-group[aria-label=Documento] #btn-load-svg,body.readonly-mode .toolbar-group[aria-label=Documento] #btn-import-pdf,body.readonly-mode .toolbar-sep,body.readonly-mode .toolbar-spacer,body.readonly-mode .toolbar-hint,body.readonly-mode .brand-icon,body.readonly-mode .toolbar-title,body.readonly-mode #btn-fluid-mode,#btn-view-conns-ro{display:none}body.readonly-mode #btn-view-conns-ro,body.readonly-mode.docspace-mode .toolbar-group[aria-label=Ferramentas]{display:inline-flex}body.readonly-mode.docspace-mode .toolbar-group[aria-label=Ferramentas]>*{display:none}body.docspace-mode .toolbar.lite-view-mode #btn-note,body.docspace-mode .toolbar.lite-view-mode #btn-edit-menu{visibility:visible;pointer-events:auto}body.readonly-mode.docspace-mode #btn-note,body.readonly-mode.docspace-mode #btn-edit-menu{display:inline-flex;opacity:1;filter:none}#btn-instrumentation-ro,#btn-3d-ro{display:none}body.readonly-mode #btn-3d-ro{display:inline-flex}body.readonly-mode #v3d-merge-btn,body.readonly-mode #v3d-unjoin-btn,body.readonly-mode #v3d-link,body.readonly-mode #v3d-unjoin,body.readonly-mode #v3d-unlink,body.readonly-mode #v3d-dblclick-hint{display:none!important}#btn-lang-toggle-ro{display:none}body.readonly-mode #btn-lang-toggle-ro{display:inline-flex}body.readonly-mode #btn-theme{position:fixed;top:14px;right:22px;z-index:1300}body.readonly-mode #btn-search{position:fixed;top:66px;left:50%;transform:translate(-50%);z-index:1300;padding:13px 24px;border-radius:999px;font-size:15px;background:var(--surface-2);box-shadow:0 12px 32px #00000080,0 0 0 1px #94a3b84d}body.readonly-mode #btn-search svg{width:19px;height:19px}body.readonly-mode #btn-search kbd{font-size:12.5px;padding:2px 8px}body.readonly-mode.v3d-2d-split #btn-search{left:25vw}@media (orientation: portrait){body.readonly-mode.v3d-2d-split #btn-search{left:50%}}#svg-wrapper.add-pin-cursor,#svg-wrapper.add-pin-cursor svg{cursor:crosshair!important}#svg-wrapper.mid-panning,#svg-wrapper.mid-panning svg{cursor:grabbing!important}.match-diag-open-lib{background:none;border:none;padding:0;font:inherit;font-weight:700;color:var(--accent, #53d8fb);text-decoration:underline;cursor:pointer}.match-diag-open-lib:hover{opacity:.8}.match-diag-variation{color:#ffd166}.match-diag-varthumb svg{width:30px;height:30px;vertical-align:middle;margin:0 4px}.pin-marker:hover path{filter:drop-shadow(0 0 3px #fff)}.toolbar-hint{font-size:11.5px;color:var(--text-muted);white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.hint-kbd{min-width:0;padding:1px 6px;font-size:10.5px;background:var(--surface-2);border-bottom-width:2px}.statusbar{display:flex;align-items:center;gap:12px;height:26px;padding:0 16px;background:var(--surface);border-top:1px solid var(--border);font-size:11.5px;color:var(--text);flex-shrink:0}.status-item{display:inline-flex;align-items:center;gap:6px}.status-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px}.status-item #status-detected,.status-item #status-lib{color:var(--accent-2);font-weight:700}.status-unit{color:var(--text-muted)}.status-dot{width:3px;height:3px;border-radius:50%;background:var(--border)}.status-spacer{flex:1}#status-zoom{color:var(--text-muted);font-variant-numeric:tabular-nums}@media (max-width: 1180px){.tb-btn span{display:none}.tb-btn{padding:6px 8px}.toolbar-hint{display:none}#acervo-select,.acervo-combo-trigger{max-width:130px}}@media (max-width: 820px){.minimap{display:none}.toolbar-sep{margin:0 1px}:root{--panel-width: 260px}.toolbar{gap:6px;padding:0 8px}}@media (max-width: 560px){.toolbar-title{display:none}.info-panel{position:absolute;right:0;top:0;bottom:0;box-shadow:var(--shadow-3)}}.mobile-tabbar{display:none;flex-shrink:0;align-items:stretch;justify-content:space-around;gap:2px;padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--border)}@media (pointer: coarse){.toolbar-group[aria-label=Navegacao],.toolbar-group[aria-label=Ferramentas],.toolbar-group[aria-label=Relatórios],#btn-import-pdf,#btn-search,#btn-theme,#btn-fluid-mode,.toolbar-hint,.toolbar-sep{display:none}.toolbar{justify-content:space-between}.status-item:has(#status-detected),.status-item:has(#status-lib),.status-item:has(#status-version),#status-editmode,.status-dot{display:none}.mobile-tabbar{display:flex}#chat-fab{bottom:calc(86px + env(safe-area-inset-bottom,0px))}.chat-head{flex-wrap:wrap;row-gap:6px}}.mtb-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;padding:4px 2px;border:none;border-radius:var(--radius-sm, 6px);background:none;color:var(--text-muted);font-size:10.5px;cursor:pointer}.mtb-btn svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.mtb-btn:active{background:var(--hover-soft);color:var(--text)}.mtb-btn.active{color:var(--accent-2)}@media (max-width: 560px){.mtb-btn span{display:none}.mtb-btn{min-height:44px}}.mobile-more-sheet{display:none;position:fixed;inset:0;z-index:9800;background:#00000080;align-items:flex-end;justify-content:center}.mms-box{width:100%;max-height:82vh;overflow-y:auto;background:var(--surface);border-radius:14px 14px 0 0;padding:var(--sp-2, 12px) var(--sp-2, 12px) calc(var(--sp-2, 12px) + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow-3)}.mms-head{display:flex;align-items:center;justify-content:space-between;padding:4px 6px 10px}.mms-head b{font-size:15px}.mms-section-title{padding:10px 6px 4px;color:var(--text-muted, #8b949e);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.mms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.mms-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:10px 4px;border-radius:var(--radius-sm, 6px);border:1px solid var(--border);background:var(--surface-2, var(--surface));color:var(--text);font-size:11px;cursor:pointer;text-align:center}.mms-item svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.mms-item:active{background:var(--hover-soft)}.mms-readonly-toggle{display:flex;align-items:center;gap:8px;width:100%;margin:2px 0 8px;padding:11px 12px;border-radius:var(--radius-sm, 6px);border:1px solid var(--border);background:var(--surface-2, var(--surface));color:var(--text);font-size:13px;cursor:pointer;text-align:left}.mms-readonly-toggle.active{background:#ffd16624;border-color:#ffd16680;color:var(--warn)}.mms-readonly-icon{font-size:16px;flex:0 0 auto}.mms-readonly-label{flex:1 1 auto;font-weight:600}.mms-readonly-state{flex:0 0 auto;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:2px 7px;border-radius:999px;background:var(--surface-3, var(--surface-2));color:var(--text-muted)}.mms-readonly-toggle.active .mms-readonly-state{background:#ffd16640;color:var(--warn)}.workspace{display:flex;flex:1;min-height:0;overflow:hidden;position:relative}#diagram-container{flex:1;position:relative;overflow:hidden;background:var(--diagram-bg);background-image:linear-gradient(var(--diagram-grid) 1px,transparent 1px),linear-gradient(90deg,var(--diagram-grid) 1px,transparent 1px);background-size:40px 40px;cursor:grab;touch-action:none}body.hide-grid #diagram-container{background-image:none}#diagram-container:active{cursor:grabbing}.minimap{position:absolute;right:14px;bottom:14px;width:200px;height:150px;background:color-mix(in srgb,var(--diagram-bg) 82%,transparent);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-2);overflow:hidden;z-index:6;cursor:pointer;backdrop-filter:blur(2px);transition:opacity .2s,border-color .2s;opacity:.85}.minimap:hover{opacity:1;border-color:var(--accent-2)}.minimap-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.minimap-svg{position:absolute;inset:0;width:100%;height:100%;display:block}.minimap-vp{fill:#4cc9f029;stroke:var(--accent-2);stroke-width:1.5}#svg-wrapper{width:100%;height:100%}#svg-wrapper svg{width:100%;height:100%;display:block;text-rendering:geometricPrecision;shape-rendering:geometricPrecision}#svg-wrapper svg path,#svg-wrapper svg line,#svg-wrapper svg polyline,#svg-wrapper svg polygon,#svg-wrapper svg rect,#svg-wrapper svg circle,#svg-wrapper svg ellipse{stroke:var(--diagram-line)!important;fill:none!important}#svg-wrapper svg :where(.pid-cad-stroke):where(:not(.pipe-trace):not(.flow-path):not(.pinhl)){stroke-width:4.55!important;stroke-linecap:round!important;stroke-linejoin:round!important;stroke-opacity:.98!important;shape-rendering:geometricPrecision}#svg-wrapper svg :where(.pid-cad-compact-stroke):where(:not(.pipe-trace):not(.flow-path):not(.pinhl)){stroke-width:4.05!important;stroke-opacity:.96!important}.pid-element{cursor:pointer}#svg-wrapper svg .pid-element :is(path,line,polyline,polygon,rect,circle,ellipse){stroke-width:8!important}#svg-wrapper svg .valve-xv :is(path,line,polyline,polygon,rect,circle,ellipse){stroke:#53d8fb!important}#svg-wrapper svg .valve-hv :is(path,line,polyline,polygon,rect,circle,ellipse){stroke:#a8d8a8!important}#svg-wrapper svg .valve-fcv :is(path,line,polyline,polygon,rect,circle,ellipse){stroke:#ffd166!important}#svg-wrapper svg .valve-sdv :is(path,line,polyline,polygon,rect,circle,ellipse){stroke:#ff6b6b!important}#svg-wrapper svg .valve-bdv :is(path,line,polyline,polygon,rect,circle,ellipse){stroke:#f77f00!important}#svg-wrapper svg .valve-psv :is(path,line,polyline,polygon,rect,circle,ellipse){stroke:#c77dff!important}#svg-wrapper svg .valve-vm :is(path,line,polyline,polygon,rect,circle,ellipse){stroke:#f4a261!important}#svg-wrapper svg .valve-default :is(path,line,polyline,polygon,rect,circle,ellipse){stroke:#aaa!important}#svg-wrapper svg .pid-no-data :is(path,line,polyline,polygon,rect,circle,ellipse){stroke-dasharray:4 3!important}#svg-wrapper svg .pinhl{stroke-width:7!important;stroke-dasharray:none!important}#svg-wrapper svg .pinhl-xv{stroke:#53d8fb!important}#svg-wrapper svg .pinhl-hv{stroke:#a8d8a8!important}#svg-wrapper svg .pinhl-fcv{stroke:#ffd166!important}#svg-wrapper svg .pinhl-sdv{stroke:#ff6b6b!important}#svg-wrapper svg .pinhl-bdv{stroke:#f77f00!important}#svg-wrapper svg .pinhl-psv{stroke:#c77dff!important}#svg-wrapper svg .pinhl-vm{stroke:#f4a261!important}#svg-wrapper svg .pinhl-default{stroke:#f4a261!important}#svg-wrapper svg .valve-xv:hover :is(path,line,polyline,polygon,rect,circle,ellipse){stroke:#7eeeff!important;filter:drop-shadow(0 0 6px #53d8fb)}#svg-wrapper svg .valve-hv:hover :is(path,line,polyline,polygon,rect,circle,ellipse){stroke:#c8f0c8!important;filter:drop-shadow(0 0 6px #a8d8a8)}#svg-wrapper svg .valve-fcv:hover :is(path,line,polyline,polygon,rect,circle,ellipse){stroke:#ffe599!important;filter:drop-shadow(0 0 6px #ffd166)}#svg-wrapper svg .valve-sdv:hover :is(path,line,polyline,polygon,rect,circle,ellipse){stroke:#f99!important;filter:drop-shadow(0 0 6px #ff6b6b)}#svg-wrapper svg .valve-bdv:hover :is(path,line,polyline,polygon,rect,circle,ellipse){stroke:#fa4!important;filter:drop-shadow(0 0 6px #f77f00)}#svg-wrapper svg .valve-psv:hover :is(path,line,polyline,polygon,rect,circle,ellipse){stroke:#dba8ff!important;filter:drop-shadow(0 0 6px #c77dff)}#svg-wrapper svg .valve-vm:hover :is(path,line,polyline,polygon,rect,circle,ellipse){stroke:#ffc49b!important;filter:drop-shadow(0 0 6px #f4a261)}#svg-wrapper svg .cluster-hover-xv{stroke:#7eeeff!important;filter:drop-shadow(0 0 6px #53d8fb)}#svg-wrapper svg .cluster-hover-hv{stroke:#c8f0c8!important;filter:drop-shadow(0 0 6px #a8d8a8)}#svg-wrapper svg .cluster-hover-fcv{stroke:#ffe599!important;filter:drop-shadow(0 0 6px #ffd166)}#svg-wrapper svg .cluster-hover-sdv{stroke:#f99!important;filter:drop-shadow(0 0 6px #ff6b6b)}#svg-wrapper svg .cluster-hover-bdv{stroke:#fa4!important;filter:drop-shadow(0 0 6px #f77f00)}#svg-wrapper svg .cluster-hover-psv{stroke:#dba8ff!important;filter:drop-shadow(0 0 6px #c77dff)}#svg-wrapper svg .cluster-hover-vm{stroke:#ffc49b!important;filter:drop-shadow(0 0 6px #f4a261)}#svg-wrapper svg .cluster-hover-default{stroke:#ddd!important;filter:drop-shadow(0 0 6px #aaaaaa)}#svg-wrapper svg .pid-element.selected :is(path,line,polyline,polygon,rect,circle,ellipse){stroke:#fff!important;stroke-width:10!important;filter:drop-shadow(0 0 6px #ffffff) drop-shadow(0 0 12px rgba(255,255,255,.4))}#svg-wrapper svg .cluster-selected{stroke:#fff!important;stroke-width:10!important;filter:drop-shadow(0 0 6px #ffffff) drop-shadow(0 0 12px rgba(255,255,255,.4))}@keyframes focus-pulse{0%{stroke-width:8!important}40%{stroke-width:16!important;filter:drop-shadow(0 0 10px var(--accent-2)) drop-shadow(0 0 20px var(--accent-2))}to{stroke-width:10!important}}#svg-wrapper svg path.focus-pulse{animation:focus-pulse .72s ease}.info-panel{width:var(--panel-width);background:var(--surface);border-left:1px solid var(--border);flex-shrink:0;overflow:hidden;display:flex;flex-direction:column;transition:width .32s cubic-bezier(.16,1,.3,1),opacity .25s ease,border-color .32s ease;z-index:5;box-shadow:-8px 0 24px #0000002e}.info-panel--hidden{width:0;min-width:0;border-left-width:0;opacity:0;pointer-events:none}.info-panel__header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(180deg,var(--surface-3),var(--surface-2));border-bottom:1px solid var(--border)}.panel-header-main{display:flex;align-items:center;gap:9px;min-width:0;flex:1 1 auto}#panel-tag{min-width:0;font-size:20px;font-weight:700;color:var(--text);letter-spacing:.1px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-badge{font-size:10px;font-weight:800;padding:3px 8px;border-radius:5px;letter-spacing:.5px;background:#aaa;color:#0d1117}.panel-header-actions{display:flex;align-items:center;gap:4px;flex:0 0 auto}#panel-close,#panel-edit,#panel-back{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:15px;padding:4px 8px;border-radius:4px;transition:color .15s,background .15s}#panel-close:hover{color:var(--accent);background:#e945601f}#panel-edit:hover,#panel-back:hover{color:var(--accent-2);background:#53d8fb1f}#panel-back{flex:0 0 auto;margin-left:-6px}#panel-back[hidden]{display:none}.info-panel__body{padding:12px 0;overflow-y:auto;flex:1}.info-panel__footer{padding:10px 16px;border-top:1px solid var(--border);background:var(--surface-2)}#panel-export{width:100%;padding:8px;background:var(--surface);color:var(--accent-2);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:12px;transition:background .15s,border-color .15s}#panel-export:hover{background:var(--accent-2);color:#0d1117;border-color:var(--accent-2)}.panel-warn{margin:8px 16px;padding:8px 10px;font-size:12px;color:#ffd166;background:#ffd16614;border:1px solid rgba(255,209,102,.25);border-radius:6px}.suggest-box{display:flex;align-items:center;gap:10px;margin:8px 16px 4px;padding:10px 12px;background:var(--accent-2-soft);border:1px solid var(--accent-2);border-radius:8px}.suggest-info{flex:1;font-size:12px;color:var(--text);line-height:1.4}.suggest-ic{margin-right:4px}.suggest-ex,.suggest-type{color:var(--text-muted);font-size:11px}.suggest-btn{flex-shrink:0;padding:6px 12px;border-radius:6px;cursor:pointer;background:var(--accent-2);color:#07121b;border:none;font-weight:700;font-size:12px}.suggest-btn:hover{background:#6ad5f5}.suggest-alts{margin-top:6px;font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:5px;flex-wrap:wrap}.suggest-alt{padding:1px 7px;border-radius:10px;cursor:pointer;font-size:11px;font-weight:700;background:transparent;border:1px solid #888}.suggest-alt:hover{background:#ffffff14}.edit-row{display:flex;flex-direction:column;gap:4px;padding:7px 16px}.edit-section{margin:10px 16px 2px;padding:5px 10px;font-size:12px;font-weight:700;letter-spacing:.3px;color:var(--accent-2, #4cc9f0);background:#4cc9f014;border-left:3px solid var(--accent-2, #4cc9f0);border-radius:0 6px 6px 0}.edit-input{background:var(--bg);border:1px solid var(--border);border-radius:5px;color:var(--text);font-size:13px;padding:6px 8px;font-family:inherit;width:100%}.edit-input:focus{outline:none;border-color:var(--accent-2)}.edit-textarea{resize:vertical;font-family:Cascadia Code,Consolas,monospace;font-size:12px}.edit-actions{display:flex;gap:8px;padding:12px 16px}.btn-save,.btn-cancel{flex:1;padding:8px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;border:1px solid var(--border)}.btn-save{background:#0f9;color:#0d1117;border-color:#0f9}.btn-save:hover{background:#00cc7a}.json-import{margin:12px 0 14px}.btn-import-json{width:100%;padding:9px;border-radius:7px;cursor:pointer;font-size:13px;font-weight:700;background:var(--accent-soft, rgba(83,216,251,.14));color:var(--accent, #53d8fb);border:1px solid var(--accent, #53d8fb)}.btn-import-json:hover{filter:brightness(1.12)}.btn-import-json+.btn-import-json{margin-top:8px}.ds-file-attached{font-size:12px;color:var(--text-muted);margin-bottom:6px;padding:6px 8px;border-radius:6px;background:var(--surface)}.ds-file-attached a{color:var(--accent, #53d8fb)}.btn-linklike{background:none;border:none;padding:0;color:var(--text-muted);text-decoration:underline;cursor:pointer;font-size:12px}.btn-linklike:hover{color:var(--text)}.json-paste{margin-top:8px}.json-paste summary{font-size:12px;color:var(--text-muted);cursor:pointer;padding:2px 0}.json-paste textarea{margin-top:6px}.json-paste .btn-cancel{width:100%;margin-top:6px}.btn-cancel{background:var(--surface);color:var(--text-muted)}.btn-cancel:hover{color:var(--text)}.btn-delete{flex:1;padding:8px;border-radius:6px;cursor:pointer;font-size:12px;background:transparent;color:var(--accent);border:1px solid rgba(233,69,96,.4)}.btn-delete:hover{background:#e945601f}.pin-controls{margin:8px 16px 4px;padding:12px;background:#f4a2610f;border:1px solid rgba(244,162,97,.25);border-radius:8px;display:flex;flex-direction:column;gap:10px}.pin-capture{display:flex;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1px solid rgba(244,162,97,.2)}.pin-capture-thumb{flex-shrink:0;width:56px;height:56px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;padding:4px}.pin-capture-thumb svg{width:100%;height:100%}.pin-capture-empty{color:var(--text-muted);font-size:13px}.pin-capture-info{flex:1}.pin-capture-hint{font-size:11px;color:var(--text-muted);margin-top:5px;line-height:1.4}.pin-hint-warn{color:#f4a261}.pin-preview{width:100%;height:150px;margin-top:5px;background:var(--bg);border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;padding:6px}.pin-preview svg{width:100%;height:100%}.pin-preview svg path{fill:none;stroke:var(--thumb-stroke);stroke-width:1;vector-effect:non-scaling-stroke}.pin-preview.pinhl-xv svg path{stroke:#53d8fb}.pin-preview.pinhl-hv svg path{stroke:#a8d8a8}.pin-preview.pinhl-fcv svg path{stroke:#ffd166}.pin-preview.pinhl-sdv svg path{stroke:#ff6b6b}.pin-preview.pinhl-bdv svg path{stroke:#f77f00}.pin-preview.pinhl-psv svg path{stroke:#c77dff}.pin-preview.pinhl-vm svg path{stroke:#f4a261}.pin-preview.pinhl-default svg path{stroke:#f4a261}.radius-lbl{font-size:12px;color:var(--text-muted);margin-right:4px}.btn-send-agent{width:100%;padding:10px;border-radius:8px;cursor:pointer;font-weight:700;font-size:13px;background:linear-gradient(135deg,var(--accent-2,#4cc9f0),#4361ee);color:#fff;border:none;margin-top:2px}.btn-send-agent:hover{filter:brightness(1.08)}.mark-title{margin:var(--sp-1) 0 2px;padding:6px 10px;font-size:var(--fs-base);font-weight:700;color:var(--accent-2);background:var(--accent-2-soft);border-left:3px solid var(--accent-2);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.mark-reco{font-size:11px;color:var(--text-muted, #8b949e);padding:2px 4px;line-height:1.4}.mark-reco b{color:#f4c430}:root{--scan-beam: #4cc9f0;--scan-beam-core: #b6f3ff}:root[data-theme=light]{--scan-beam: #0a66d0;--scan-beam-core: #0a58b8}#points-modal{display:none;position:fixed;inset:0;z-index:9500;background:#0000008c;align-items:center;justify-content:center}.points-box{max-width:480px;width:min(480px,92vw);display:flex;flex-direction:column;gap:10px;padding-bottom:14px}.pv-sub{font-size:11.5px;color:var(--text-muted, #8b949e);line-height:1.5;padding:0 4px}.pv-plot{width:100%;max-height:300px;background:var(--bg-deep, #0b0f19);border:1px solid var(--border, #2a3448);border-radius:8px}.pv-plot circle{fill:var(--scan-beam, #4cc9f0)}.pv-list{font:500 10.5px var(--mono, monospace);background:var(--bg-deep, #0b0f19);color:var(--text-muted, #9aa7bd);border:1px solid var(--border, #2a3448);border-radius:6px;padding:6px;resize:vertical}.pv-copy{align-self:flex-start}.lib-points.has-points{color:var(--scan-beam, #4cc9f0)}#stamp-editor-modal{display:none;position:fixed;inset:0;z-index:9500;background:#0000008c;align-items:center;justify-content:center}.se-box{max-width:460px;width:min(460px,94vw);display:flex;flex-direction:column;gap:10px;padding-bottom:14px}.se-sub{font-size:11.5px;color:var(--text-muted, #8b949e);line-height:1.5;padding:0 4px}.se-mode{display:flex;gap:6px;padding:0 4px}.se-mode-btn{flex:1;padding:7px 10px;border-radius:6px;cursor:pointer;font-size:12.5px;font-weight:600;background:var(--surface-2, #1c2128);color:var(--text-muted, #8b949e);border:1px solid var(--border, #30363d)}.se-mode-btn:hover{border-color:var(--accent-2, #4cc9f0)}.se-mode-btn.active{background:#4cc9f024;color:var(--scan-beam, #4cc9f0);border-color:#4cc9f073}.se-mode-btn[data-mode=erase].active{background:#ff6b6b24;color:#ff6b6b;border-color:#ff6b6b73}.se-grid{display:grid;grid-template-columns:repeat(var(--se-n, 16),1fr);gap:1px;aspect-ratio:1;width:100%;max-width:400px;align-self:center;background:var(--border, #2a3448);border:1px solid var(--border, #2a3448);border-radius:8px;overflow:hidden;touch-action:none;cursor:crosshair;user-select:none}.se-cell{background:var(--bg-deep, #0b0f19)}.se-cell:hover{background:#4cc9f040}.se-cell.on{background:var(--scan-beam, #4cc9f0)}.se-cell.on:hover{background:var(--scan-beam-core, #b6f3ff)}.se-info{display:flex;justify-content:space-between;gap:10px;padding:0 4px;font:500 11.5px var(--mono, monospace);color:var(--text-muted, #8b949e)}.se-count.se-warn{color:#f4c430}.se-f1{color:var(--scan-beam, #4cc9f0)}.se-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;padding:0 4px}.se-actions button{padding:6px 12px;border-radius:6px;cursor:pointer;font-size:12px;background:var(--surface-2, #1c2128);color:var(--text, #e6edf3);border:1px solid var(--border, #30363d)}.se-actions button:hover{border-color:var(--accent-2, #4cc9f0)}.se-save{background:#4cc9f01f!important;color:var(--accent-2, #4cc9f0)!important;border-color:#4cc9f066!important}.se-save:hover{background:var(--accent-2, #4cc9f0)!important;color:#07121b!important}.calib-proto-edit{font-size:10.5px;padding:3px 7px;border-radius:6px;cursor:pointer;white-space:nowrap;background:#f4c4301a;color:#f4c430;border:1px solid rgba(244,196,48,.4)}.calib-proto-edit:hover{background:#f4c430;color:#07121b}#scan-methods-modal,#component-scan-modal,#library-shape-picker{display:none;position:fixed;inset:0;z-index:9500;background:#0000008c;align-items:center;justify-content:center}.sm-box{max-width:440px;width:min(440px,92vw);display:flex;flex-direction:column;gap:10px;padding-bottom:14px}.sm-sub{font-size:11.5px;color:var(--text-muted, #8b949e);line-height:1.5;padding:0 4px}.sm-list{display:flex;flex-direction:column;gap:2px;padding:0 4px}.sm-row{display:flex;align-items:center;gap:8px;padding:7px 6px;border-radius:var(--radius-sm);font-size:13px;cursor:pointer}.sm-row:hover{background:var(--hover-soft)}.sm-row input{width:15px;height:15px;accent-color:var(--scan-beam, #4cc9f0)}.sm-actions{display:flex;justify-content:space-between;gap:8px;padding:0 4px}.mark-coords{display:flex;flex-direction:column;gap:4px;margin:6px 0 2px}.mark-coords code{font:600 10.5px var(--mono, monospace);color:var(--text-muted, #8b949e);word-break:break-all;line-height:1.5}.mark-coords button{align-self:flex-start;font-size:11px;padding:3px 8px}.pv-reference{display:grid;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:14px;margin:10px 0 4px;padding:10px 14px;border:1px solid var(--quality-line, var(--border));border-radius:8px;background:#38bdf80b;color:var(--text);font-size:12px;font-weight:700}.pv-reference-thumb{width:112px;height:64px;display:flex;align-items:center;justify-content:center;padding:6px;border:1px solid var(--quality-line, var(--border));border-radius:7px;background:#09111c}.pv-reference-thumb svg{width:100%;height:100%}.mark-compare{display:flex;align-items:stretch;gap:8px;margin:6px 0 2px}.mark-cap-col{flex:1;min-width:0;display:flex;flex-direction:column}.mark-compare .pin-preview{height:108px;margin-top:4px}.mark-vs{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:18px;font-weight:700;color:var(--accent-2, #4cc9f0)}.mark-f1{font-size:10px;font-weight:700;color:#46d17a}.mark-sug-id{text-align:center;margin-top:4px;font:700 11px var(--mono, monospace);color:#ffe14d;letter-spacing:.4px}.mark-sug-note{text-align:center;margin-top:2px;font-size:10.5px;color:var(--text-muted, #8b949e);font-style:italic}.mark-manual{margin-top:4px}.mark-manual--locked{opacity:.45;pointer-events:none}.mark-step{padding:9px 10px;border:1px solid var(--quality-line, var(--border));border-radius:8px;background:transparent}.mark-step-title,.mark-step>summary{color:var(--text);font-size:12px;font-weight:700;letter-spacing:.2px}.mark-step>summary{cursor:pointer;list-style-position:outside}.mark-step>summary span{float:right;color:var(--text-muted);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.6px}.mark-step[open]>summary{margin-bottom:8px}.mark-step .mark-manual{margin-top:8px}.mark-identify{padding:4px 0 2px;border:0}.mark-identify .mark-step-title{padding:0 2px 5px}.mark-action-stack{display:grid;gap:6px}.mark-action-stack>button{width:100%;min-height:36px;margin:0}.pin-controls .mark-primary{min-height:42px;border-color:#38bdf8;background:linear-gradient(135deg,#0ea5e9,#2563eb);color:#fff;font-size:13px;box-shadow:0 5px 16px #0ea5e92e}.pin-controls .mark-primary:hover{background:linear-gradient(135deg,#38bdf8,#3b82f6)}.btn-not-shape{width:100%;min-height:36px;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:650;color:var(--text);background:#ffffff09;border:1px solid var(--quality-line, var(--border))}.btn-not-shape:hover{color:#7dd3fc;background:#38bdf814;border-color:#38bdf866}.pin-controls .mark-agent-secondary{min-height:32px;border:0;background:transparent;color:var(--text-muted);font-size:11.5px}.pin-controls .mark-agent-secondary:hover{color:#7dd3fc;background:#38bdf80d}.mark-danger-zone{display:flex;align-items:center;justify-content:flex-end;margin-top:2px;padding-top:8px;border-top:1px solid var(--quality-line, var(--border))}.pin-controls .mark-danger-zone .btn-delete{flex:0 0 auto;width:auto;min-height:28px;padding:4px 8px;border-color:transparent;background:transparent;color:#f87171;font-size:10.5px}.pin-controls .mark-danger-zone .btn-delete:hover{border-color:#f8717159;background:#f8717112}.btn-secondary{width:100%;padding:8px;border-radius:8px;cursor:pointer;font-weight:600;font-size:12.5px;background:transparent;color:var(--text-muted, #8b949e);border:1px dashed var(--border, #30363d);margin:2px 0}.btn-secondary:hover{color:var(--text, #e6edf3);border-color:var(--accent-2, #4cc9f0)}.color-row .color-pick-wrap{display:flex;align-items:center;gap:6px}.color-card{margin:10px 12px 0;padding:10px 12px 12px;border:1px solid var(--border, #30363d);border-radius:8px;background:var(--surface-2, #1c2128)}.component-id-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin:0 16px;padding:9px 0;color:var(--text-muted);font-size:11px}.color-card>.component-id-line{margin:-2px 0 9px;padding:0 0 8px;border-bottom:1px solid var(--border-soft)}.color-card-head{padding-bottom:7px;margin-bottom:9px;border-bottom:1px solid var(--border-soft)}.color-section-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted, #8b949e);margin-bottom:7px}.color-swatches{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:9px}.color-swatch{width:24px;height:24px;border-radius:50%;border:2px solid var(--border, #30363d);cursor:pointer;padding:0;transition:transform .12s,border-color .12s,box-shadow .12s}.color-swatch:hover{transform:scale(1.15)}.color-swatch--active{border-color:#fff;box-shadow:0 0 0 2px var(--accent-2, #4cc9f0)}.color-swatch--custom{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;background:conic-gradient(from 180deg,#ff4d6d,#ffd166,#46d17a,#4cc9f0,#7b61ff,#ff4d6d)}.color-swatch--custom:after{content:"+";pointer-events:none;color:#fff;font-size:14px;font-weight:900;line-height:1;text-shadow:0 1px 3px rgba(0,0,0,.7)}.color-swatch--custom input[type=color]{position:absolute;inset:0;width:100%;height:100%;padding:0;margin:0;opacity:0;cursor:pointer;border:none;background:none}.color-pick-wrap{display:flex;align-items:center;gap:8px}.color-reset{padding:5px 10px;border-radius:6px;cursor:pointer;font-size:11.5px;font-weight:600;background:var(--surface-2, #1c2128);color:var(--text-muted, #8b949e);border:1px solid var(--border, #30363d)}.color-reset:hover{color:var(--text, #e6edf3);border-color:var(--accent-2, #4cc9f0)}.color-applied{font-size:11px;font-weight:700;color:#46d17a;opacity:0;transition:opacity .2s}.color-applied--show{animation:color-applied-fade 1.8s ease forwards}@keyframes color-applied-fade{0%{opacity:1}75%{opacity:1}to{opacity:0}}.color-pick-wrap--locked{cursor:not-allowed}.color-swatch-fixed{display:inline-block;width:28px;height:20px;border-radius:5px;vertical-align:middle;border:1px solid var(--border, #30363d);box-shadow:inset 0 0 0 2px #ffffff1f}.color-fixed-note{font-size:11px;color:var(--text-muted, #8b949e)}#reg-overlay{pointer-events:none}#reg-overlay .reg-pt{fill:#ff2bd6;opacity:.85}#reg-overlay .reg-centroid{fill:#00e5ff;stroke:#04222a;stroke-width:.4}#reg-overlay .reg-axis{stroke:#00e5ff;stroke-width:.7;stroke-linecap:round}.btn-reg-base{width:100%;margin:4px 0 2px;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;text-align:left;background:#ff2bd61f;color:#ffb6f0;border:1px solid #ff2bd6;transition:background .12s,color .12s}.btn-reg-base:hover{background:#ff2bd638;color:#fff}.compidx-box{width:min(96vw,1100px);height:min(88vh,780px);max-height:88vh;display:flex;flex-direction:column;min-height:0}.compidx-box .modal-head{flex:0 0 auto}.compidx-tools{display:flex;gap:8px;flex:0 0 auto;margin-bottom:8px;flex-wrap:wrap}.compidx-tools input[type=search]{flex:1;min-width:200px;padding:7px 10px;border-radius:7px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);font-size:12.5px}.compidx-tools select{padding:7px 10px;border-radius:7px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);font-size:12.5px;max-width:220px}.compidx-summary{flex:0 0 auto;font-size:11.5px;color:var(--text-muted, #8b949e);margin-bottom:6px;font-variant-numeric:tabular-nums}.compidx-table-wrap{flex:1;min-height:0;overflow:auto;border:1px solid var(--border, #30363d);border-radius:9px}.compidx-table{width:100%;border-collapse:collapse;font-size:12.5px}.compidx-table thead{position:sticky;top:0;background:var(--surface-2, var(--bg));z-index:1}.compidx-table th{text-align:left;padding:8px 10px;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #8b949e);cursor:pointer;white-space:nowrap;user-select:none}.compidx-table th:hover{color:var(--text)}.compidx-table td{padding:6px 10px;border-top:1px solid var(--border-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.compidx-row{cursor:pointer}.compidx-row:hover td{background:var(--hover-soft)}.compidx-empty{padding:16px;text-align:center;color:var(--text-muted, #8b949e);font-size:12.5px}.compidx-foot{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;flex-wrap:wrap}.compidx-pager{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-muted, #8b949e)}.compidx-pager button{padding:6px 12px;border-radius:7px;cursor:pointer;font-size:12px;background:var(--surface-2, #1c2128);border:1px solid var(--border, #30363d);color:var(--text)}.compidx-pager button:disabled{opacity:.4;cursor:default}.compidx-exports{display:flex;gap:8px}@media (max-width: 720px){.compidx-box{width:96vw;height:92vh;max-height:92vh}.compidx-tools select{max-width:none;flex:1 1 45%}}.metrics-box{width:min(88vw,720px);max-height:88vh;overflow:auto}.mx-good{color:#46d17a}.mx-warn{color:#f5c451}.mx-bad{color:#ff6b81}.mx-scope{display:flex;gap:6px;margin:4px 0 12px}.mx-tab{padding:6px 14px;border-radius:7px;cursor:pointer;font-size:12px;font-weight:600;background:var(--surface-2, #1c2128);border:1px solid var(--border, #30363d);color:var(--text-muted, #8b949e)}.mx-tab.active{background:var(--accent-2, #4cc9f0);color:#07121b;border-color:var(--accent-2, #4cc9f0)}.mx-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:14px}.mx-kpi{background:var(--bg);border:1px solid var(--border, #30363d);border-radius:9px;padding:10px 6px;text-align:center}.mx-kpi b{display:block;font-size:22px;line-height:1.1}.mx-kpi span{font-size:10.5px;color:var(--text-muted, #8b949e)}.mx-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.mx-card{background:var(--bg);border:1px solid var(--border, #30363d);border-radius:9px;padding:10px 12px;margin-bottom:10px}.mx-card-h{font-size:12.5px;font-weight:700;margin-bottom:8px}.mx-trow{display:grid;grid-template-columns:1fr auto auto 46px;gap:8px;align-items:center;padding:4px 0;border-top:1px solid var(--border-soft);font-size:12.5px}.mx-trow:first-of-type{border-top:none}.mx-tname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mx-ok{color:#46d17a;font-weight:600}.mx-no{color:#ff6b81;font-weight:600}.mx-prec{text-align:right;font-weight:700}.mx-err{font-size:12px;padding:4px 0;border-top:1px solid var(--border-soft);color:var(--text, #e6edf3)}.mx-err:first-of-type{border-top:none}.mx-src{color:var(--text-muted, #8b949e)}.mx-empty{font-size:12px;color:var(--text-muted, #8b949e);padding:4px 0}.mx-hint{font-size:12px;line-height:1.5;color:#ffd9a8;background:#f5c4511a;border:1px solid rgba(245,196,81,.35);border-radius:7px;padding:8px 10px}.mx-progress-total{font-weight:400;color:var(--text-muted, #8b949e)}.mx-progress-head,.mx-progress-row{display:grid;grid-template-columns:1fr 168px 40px;gap:8px;align-items:center}.mx-progress-head{padding-bottom:4px;border-bottom:1px solid var(--border-soft);margin-bottom:2px}.mx-progress-sort{background:none;border:none;color:var(--text-muted, #8b949e);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;text-align:left;cursor:pointer;padding:0}.mx-progress-sort:hover{color:var(--text)}.mx-progress-list{max-height:260px;overflow-y:auto}.mx-progress-row{padding:5px 0;border-top:1px solid var(--border-soft);font-size:12.5px}.mx-progress-row:first-of-type{border-top:none}.mx-progress-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mx-progress-status{font-size:11.5px;padding:3px 5px;border-radius:6px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);cursor:pointer}.mx-progress-count{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.mx-taxonomy-list{display:flex;flex-direction:column;gap:2px}.mx-taxonomy-row{display:grid;grid-template-columns:26px 1fr auto;gap:8px;align-items:center;padding:4px 0;font-size:12.5px}.mx-taxonomy-kind{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11.5px;background:var(--surface-2);color:var(--text-muted)}.mx-taxonomy-kind--E{background:#4cc9f029;color:var(--accent-2, #4cc9f0)}.mx-taxonomy-kind--P{background:#2ecc7129;color:#2ecc71}.mx-taxonomy-kind--I{background:#ffd16629;color:var(--warn, #ffd166)}.mx-taxonomy-kind--other{background:#8b97ac24;color:var(--text-muted)}.mx-taxonomy-count{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.mx-taxonomy-pending{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-soft)}.mx-taxonomy-pending-h{font-size:11.5px;color:var(--text-muted);margin-bottom:6px;line-height:1.4}.mx-taxonomy-pending-row{display:grid;grid-template-columns:1fr 32px auto;gap:8px;align-items:center;padding:4px 0;font-size:12.5px}.mx-taxonomy-pending-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mx-taxonomy-pending-count{text-align:right;color:var(--text-muted);font-variant-numeric:tabular-nums}.mx-taxonomy-pending-btns{display:flex;gap:4px}.mx-taxonomy-set{width:22px;height:22px;border-radius:6px;cursor:pointer;background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border);font-size:11px;font-weight:700}.mx-taxonomy-set:hover{background:var(--accent-2-soft);color:var(--accent-2, #4cc9f0);border-color:var(--accent-2, #4cc9f0)}.mx-disc{border-color:var(--accent-2)}.mx-mlval-actions{display:flex;align-items:center;gap:10px;margin-bottom:8px}.mx-eval-n{text-align:right;color:var(--text-muted, #8b949e);font-size:11.5px}.nameid-box{max-width:560px;width:92vw}.nameid-hint{font-size:12px;line-height:1.5;color:var(--text-muted, #8b949e);margin:6px 0 10px}.nameid-hint code{background:#ffffff14;padding:1px 5px;border-radius:4px}.nameid-text{width:100%;box-sizing:border-box;background:var(--bg);color:var(--text, #e6edf3);border:1px solid var(--border, #30363d);border-radius:8px;padding:9px 11px;font-family:ui-monospace,monospace;font-size:12.5px;line-height:1.5;resize:vertical}.nameid-actions{display:flex;align-items:center;gap:10px;margin:10px 0}.nameid-out:empty{display:none}.nameid-sec{margin-top:10px}.nameid-sec-h{font-size:12.5px;font-weight:700;margin-bottom:5px}.nameid-row{font-size:12.5px;padding:3px 0;border-top:1px solid var(--border-soft)}.nameid-row:first-of-type{border-top:none}.nameid-was{color:var(--text-muted, #8b949e);font-size:11px}.mx-aucrow{display:grid;grid-template-columns:178px 1fr 92px;gap:10px;align-items:center;padding:6px 0;font-size:12.5px;border-top:1px solid var(--border-soft)}.mx-aucrow:first-of-type{border-top:none}.mx-aucbar{height:8px;background:var(--surface-3);border-radius:5px;overflow:hidden}.mx-aucbar i{display:block;height:100%;border-radius:5px}.mx-na{color:var(--text-muted, #8b949e)}.pending-conf{font-size:12.5px;padding:7px 10px;border-radius:7px;margin:6px 0;font-weight:600;background:#ffffff0a;border:1px solid currentColor}.pending-conf.mx-good{color:#46d17a}.pending-conf.mx-warn{color:#f5c451}.pending-conf.mx-bad{color:#ff6b81}.lib-row--new{outline:2px solid #46d17a;outline-offset:1px;border-radius:10px;animation:lib-new-pulse 1.4s ease-out 2}@keyframes lib-new-pulse{0%{background:#46d17a38}to{background:transparent}}.lib-new-badge{font-size:10.5px;font-weight:700;color:#07121b;background:#46d17a;border-radius:999px;padding:1px 7px;white-space:nowrap}.mx-foot{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}.mx-agent-btn{background:linear-gradient(90deg,#6d4aff,#4cc9f0)!important;color:#fff!important;border-color:transparent!important;font-weight:700}.mx-agent-btn:hover{filter:brightness(1.1)}.id-label{font:700 4px monospace;letter-spacing:.3px;fill:#ffe14d;stroke:#000;stroke-width:.5;paint-order:stroke;text-anchor:middle;pointer-events:none;user-select:none}.id-badge{color:#ffe14d;font-family:monospace}.match-diag{margin:8px 16px;padding:9px 11px;border-radius:8px;font-size:11.5px;line-height:1.6;background:var(--surface-2, #1c2128);border:1px solid var(--border, #30363d)}.match-diag.match-ok{border-color:#4cc9f080}.match-diag.match-no{border-color:#ff6b6b80}.match-diag b{color:var(--text, #e6edf3)}.btn-not-valve{display:block;width:calc(100% - 32px);margin:8px 16px;padding:9px;border-radius:8px;cursor:pointer;font-weight:600;font-size:12.5px;background:#ff6b6b1f;color:#ff6b6b;border:1px solid rgba(255,107,107,.45)}.btn-not-valve:hover{background:#ff6b6b38}.btn-exclude-one{background:#4cc9f01f;color:var(--accent-2,#4cc9f0);border-color:#4cc9f073}.btn-exclude-one:hover{background:#4cc9f038}.pending-banner{margin:0 16px 10px;padding:9px 12px;border-radius:8px;font-size:12.5px;background:#f5a62324;color:#f5a623;border:1px solid rgba(245,166,35,.45)}.pending-banner b{color:#ffc861}.pending-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pending-accept,.pending-reject,.pending-library{min-height:42px;justify-content:center;font-weight:800}.pending-accept{background:#22c55e!important;border-color:#22c55e!important;color:#061018!important}.pending-reject{background:#f871711f!important;border-color:#f871718c!important;color:#ff8aa0!important}.pending-library{border-style:dashed!important}.libpick-box{width:min(92vw,560px);max-height:min(86vh,680px)}.libpick-box--compare{width:min(94vw,920px);max-height:min(88vh,760px)}.libpick-tools{display:grid;grid-template-columns:1fr 190px;gap:8px;padding:14px;border-bottom:1px solid var(--border-soft)}.libpick-tools input,.libpick-tools select{height:38px;min-width:0;padding:0 10px;border:1px solid var(--border);border-radius:7px;background:var(--bg);color:var(--text);font:600 13px var(--font)}.libpick-list{display:grid;gap:8px;padding:12px 14px 14px;overflow-y:auto}.libpick-content{min-height:0;display:grid;grid-template-columns:minmax(310px,1fr) 300px;gap:0;overflow:hidden}.libpick-box--compare .libpick-list{max-height:calc(min(88vh,760px) - 96px);border-right:1px solid var(--border-soft)}.libpick-row{display:grid;grid-template-columns:54px minmax(0,1fr);gap:10px;align-items:center;width:100%;padding:8px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-2);color:var(--text);cursor:pointer;text-align:left}.libpick-row[hidden]{display:none!important}.libpick-row:hover{border-color:var(--accent-2);background:var(--hover-soft)}.libpick-row.is-selected{border-color:var(--accent-2);background:#4cc9f01f;box-shadow:inset 3px 0 0 var(--accent-2)}.mrq-box{width:min(94vw,720px);max-height:min(88vh,760px)}.mrq-tools{display:flex;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border-soft);flex-wrap:wrap}.mrq-list{display:grid;gap:8px;padding:12px 14px 14px;overflow-y:auto}.mrq-empty{padding:24px;text-align:center;color:var(--text-muted)}.mrq-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-2)}.mrq-thumb{width:46px;height:46px}.mrq-info{min-width:0;display:flex;flex-direction:column;gap:2px}.mrq-info b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.mrq-info small{color:var(--text-muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mrq-actions{display:flex;flex-direction:column;gap:4px}.mrq-actions button{font-size:11px;padding:4px 8px;white-space:nowrap}.mrq-row.mrq-done{opacity:.45}.libpick-thumb,.libpick-row .lib-thumb{width:46px;height:46px}.libpick-main{min-width:0;display:flex;flex-direction:column;gap:4px}.libpick-main b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.libpick-main small{color:var(--text-muted);font-size:11px}.libpick-detail{min-width:0;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--surface-1, #111821);overflow-y:auto}.libpick-detail-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;color:var(--text-muted)}.libpick-preview{height:170px;border:1px solid var(--border);border-radius:8px;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:10px}.libpick-preview svg,.libpick-preview-svg,.libpick-preview-svg svg{width:100%;height:100%}.libpick-preview--capture{border-color:#4cc9f073}.libpick-compare-sign{text-align:center;color:var(--text-muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px}.libpick-selected-empty{min-height:170px;border:1px dashed var(--border);border-radius:8px;color:var(--text-muted);display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;font-size:12px;line-height:1.45}.libpick-selected-detail{display:flex;flex-direction:column;gap:9px}.libpick-picked-name{font-size:14px;font-weight:800;color:var(--text);line-height:1.3}.libpick-picked-meta{display:flex;flex-wrap:wrap;gap:6px}.libpick-picked-meta span{padding:3px 7px;border-radius:999px;background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border-soft);font-size:11px;font-weight:700}.libpick-use{width:100%;min-height:40px}@media (max-width: 760px){.libpick-content{grid-template-columns:1fr}.libpick-box--compare .libpick-list{max-height:42vh;border-right:0;border-bottom:1px solid var(--border-soft)}}.btn-refresh{width:100%;padding:8px;border-radius:8px;cursor:pointer;font-weight:600;font-size:12px;background:var(--surface-2);color:var(--text);border:1px solid var(--accent-2, #4cc9f0);margin-top:2px}.btn-refresh:hover{background:var(--accent-2, #4cc9f0);color:#07121b}.suggest-rot{font-size:10px;font-weight:700;color:#f4a261;border:1px solid rgba(244,162,97,.5);border-radius:4px;padding:0 4px;margin-left:2px}.rect-grid{display:flex;flex-direction:column;gap:7px;margin-top:4px}.rect-ctl{display:flex;align-items:center;gap:8px}.rect-ctl .radius-lbl{flex:1}.rect-ctl button{width:30px;height:30px;font-size:17px;font-weight:700;border-radius:6px;cursor:pointer;background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.rect-ctl button:hover{background:#53d8fb;color:#07121b;border-color:#53d8fb}.rect-ctl--move{align-items:flex-start;padding-top:2px}.rect-ctl--move .radius-lbl{line-height:1.35}.rect-ctl--move .radius-lbl b{display:block;margin-top:2px;font-family:var(--mono, monospace);font-size:11px;color:var(--accent-2)}.nudge-pad{display:grid;grid-template-columns:30px 30px 30px;grid-template-areas:". up ." "left . right" ". down .";gap:4px}.nudge-pad button:nth-child(1){grid-area:up}.nudge-pad button:nth-child(2){grid-area:left}.nudge-pad button:nth-child(3){grid-area:right}.nudge-pad button:nth-child(4){grid-area:down}.radius-row{display:flex;align-items:center;gap:8px}.radius-row button{width:32px;height:32px;font-size:18px;font-weight:700;border-radius:6px;cursor:pointer;background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.radius-row button:hover{background:#f4a261;color:#0d1117;border-color:#f4a261}.radius-hint{font-size:11px;color:var(--text-muted);margin-left:4px}.pin-controls .btn-delete{width:100%}.pin-controls--edit{margin:10px 12px 8px;padding:12px;background:var(--surface-2);border-color:var(--border);border-radius:10px}.pin-controls-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--border)}.pin-controls-head strong{display:block;color:var(--text);font-size:14px}.pin-controls-head span{display:block;margin-top:2px;color:var(--text-muted);font-size:10.5px}.pin-controls-head .pin-path-count{flex:none;margin:0;padding:4px 8px;border-radius:999px;color:var(--accent-2);background:#4cc9f01a}.pin-controls--edit .pin-preview{height:132px;margin-top:0;background:var(--surface-3)}.pin-controls--edit .rect-grid,.pin-controls--edit .rect-ctl--move{padding:8px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-3)}.pin-controls--edit .btn-refresh{min-height:36px;background:var(--surface-3);border-color:var(--border)}.pin-controls--edit .btn-delete{margin-top:2px;color:#ff6b81}.pin-controls--edit .pin-save-adjust{width:100%;min-height:40px;margin-top:2px;border-radius:8px}.pin-controls--edit .pin-choose-shape{width:100%;min-height:38px;margin:0;border-radius:8px}.edit-panel-modern{margin:0 12px 12px}.edit-panel-modern .edit-section{margin:12px 0 5px;padding:8px 10px;color:var(--text-muted);background:var(--surface-3);border:1px solid var(--border);border-left:1px solid var(--border);border-radius:8px;text-transform:uppercase;font-size:10px;letter-spacing:.65px}.edit-panel-modern .edit-row{margin-left:0;margin-right:0;padding-left:8px;padding-right:8px}.edit-panel-modern .json-import{padding:10px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2)}.edit-panel-modern .edit-actions{position:sticky;bottom:0;z-index:4;margin-top:14px;padding:10px 0;background:var(--panel-bg, var(--bg));border-top:1px solid var(--border)}.edit-panel-modern .btn-save,.edit-panel-modern .btn-cancel{min-height:40px;border-radius:8px}.btn-find{width:100%;padding:9px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;background:#53d8fb;color:#0d1117;border:1px solid #53d8fb}.btn-find:hover{background:#7eeeff;border-color:#7eeeff}.pin-find-result{font-size:12px;line-height:1.4;color:var(--text-muted);min-height:0}.pin-find-result:empty{display:none}.pin-find-result.ok{color:#4caf50}.pin-find-result.warn{color:#ffd166}.info-section-title{display:flex;align-items:center;gap:8px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);padding:14px 16px 8px;margin-top:4px;border-top:1px solid var(--border)}.info-section-title:before{content:"";width:3px;height:12px;border-radius:2px;background:var(--accent-2)}.info-row{display:flex;flex-direction:column;gap:3px;padding:9px 16px;border-bottom:1px solid var(--border-soft);transition:background .12s}.info-label{font-size:10px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.7px;font-weight:600}.info-value{font-size:13px;color:var(--text);line-height:1.4}.info-value--mono{font-family:var(--mono);font-size:11.5px;color:var(--accent-2);word-break:break-all}.info-value--alarm{color:var(--warn);font-size:12px;font-family:var(--mono)}.info-value--muted{color:var(--text-muted);font-style:italic;font-size:12px}.ds-card{margin:0 12px 10px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface-2)}.ds-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:9px 12px;background:linear-gradient(180deg,#2a3340,#1f2630);border-bottom:1px solid var(--border)}.ds-title-main{font-size:11px;font-weight:800;letter-spacing:1.4px;color:#e7ecf3;text-transform:uppercase}.ds-title-sub{font-size:10.5px;font-weight:600;color:#4cc9f0;text-align:right;text-transform:uppercase;letter-spacing:.5px}.ds-tag-row{padding:8px 12px 4px}.ds-tag{font-family:var(--mono);font-size:18px;font-weight:700;color:var(--text);letter-spacing:.5px}.ds-meta{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-soft);padding:1px}.ds-meta-cell{display:flex;flex-direction:column;gap:1px;padding:6px 10px;background:var(--surface-2)}.ds-meta-k{font-size:9px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-faint);font-weight:700}.ds-meta-v{font-size:12px;color:var(--text);font-weight:600}.ds-plant{display:flex;flex-direction:column;gap:1px;padding:6px 10px;border-top:1px solid var(--border-soft)}.ds-band{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:#1c150a;padding:5px 14px;margin:8px 0 0;background:linear-gradient(180deg,#d9a85f,#c8954a);border-top:1px solid #b3812f;border-bottom:1px solid #a8761f}.ds-row{display:grid;grid-template-columns:120px 1fr;gap:8px;align-items:start;padding:6px 14px;border-bottom:1px solid var(--border-soft)}.ds-row:hover{background:var(--hover-soft)}.ds-k{font-size:10px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.4px;font-weight:600;line-height:1.35}.ds-v{font-size:12.5px;color:var(--text);line-height:1.35;word-break:break-word}.ds-v--mono{font-family:var(--mono);font-size:11px;color:var(--accent-2)}.ds-grouprow{border-bottom:1px solid var(--border-soft);padding:4px 0 6px}.ds-k--group{padding:5px 14px 3px;font-size:10px;color:var(--accent-2);text-transform:uppercase;letter-spacing:.6px;font-weight:700}.ds-subrow{display:grid;grid-template-columns:116px 1fr;gap:8px;padding:3px 14px 3px 22px}.ds-sk{font-size:10px;color:var(--text-faint);text-transform:capitalize;line-height:1.3}.ds-sv{font-size:12px;color:var(--text);line-height:1.3;word-break:break-word}.ds-glossary{margin:8px 12px;padding:2px 0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--hover-soft, rgba(255,255,255,.03))}.ds-glossary summary{display:flex;align-items:center;gap:8px;justify-content:space-between;padding:8px 11px;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--text);list-style:none}.ds-glossary summary::-webkit-details-marker{display:none}.ds-glossary-status{font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px;white-space:nowrap}.ds-glossary-status--confirmado{background:#46d17a2e;color:#46d17a}.ds-glossary-status--provavel{background:#f5c4512e;color:#f5c451}.ds-glossary-status--compativel{background:#4cc9f02e;color:var(--accent-2)}.ds-glossary-body{padding:2px 11px 11px;font-size:12px;color:var(--text-muted);line-height:1.5}.ds-glossary-body p{margin:5px 0}.ds-glossary-body b{color:var(--text)}.ds-glossary-title{font-size:13px;font-weight:700;color:var(--text);margin-bottom:4px}.ds-glossary-base{font-style:italic;opacity:.75;font-size:11px}.ds-glossary-confirm{color:var(--warn, #f5c451)}.ds-glossary-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.ds-glossary-head .ds-glossary-title{margin-bottom:0}.ds-glossary-symbol{flex:none;width:48px;height:48px;object-fit:contain;background:#fff;border:1px solid var(--border, #30363d);border-radius:8px;padding:5px}.ds-glossary-symbol--sm{width:40px;height:40px;padding:4px}.pid-legend-box{width:min(560px,92vw);max-height:84vh;display:flex;flex-direction:column}.pid-legend-body{overflow-y:auto;padding:var(--sp-2)}.pid-legend-item{margin:0 0 8px}.pid-legend-item-title{flex:1}.pid-legend-new-head{margin:14px 0 8px;padding-top:10px;border-top:1px dashed var(--border, #444);font-size:12px;font-weight:600;opacity:.8}.ds-doc-btn{display:block;width:calc(100% - 24px);margin:2px 12px 10px;padding:8px;background:var(--surface-3);color:var(--accent-2);border:1px solid var(--border);border-radius:6px;font-size:12px;font-weight:600;text-align:center;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s}.ds-doc-btn:hover{background:var(--surface);border-color:var(--accent-2)}.knowledge-card{margin:8px 12px 10px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2, rgba(255,255,255,.025))}.knowledge-confidence{display:inline-flex;align-items:center;min-height:25px;margin-bottom:12px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:750}.knowledge-confidence--confirmed{color:#35dc79;background:#14b55324}.knowledge-confidence--pending{color:var(--warn, #f5c451);background:#f5c4511f}.knowledge-label{margin:2px 0 7px;color:var(--text-faint);font-size:10px;text-transform:uppercase;letter-spacing:.45px}.knowledge-facts{margin-bottom:14px;padding:10px 11px;border-radius:8px;background:var(--surface-3)}.knowledge-fact{display:grid;grid-template-columns:78px minmax(0,1fr);gap:8px;padding:3px 0;font-size:12px;line-height:1.35}.knowledge-fact span{color:var(--text-muted)}.knowledge-fact strong{color:var(--text);font-weight:650;overflow-wrap:anywhere}.knowledge-docs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.knowledge-doc{display:flex;min-height:68px;padding:8px 6px;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px solid var(--border);border-radius:8px;color:var(--text);text-align:center;text-decoration:none;font-size:11px;font-weight:650;line-height:1.2;background:var(--surface-3)}.knowledge-doc:hover{border-color:var(--accent-2);color:var(--accent-2)}.knowledge-doc small{color:var(--text-faint);font-size:9px;font-weight:500}.knowledge-doc--empty{font-family:inherit;cursor:pointer;border-style:dashed}.knowledge-doc--empty:hover small{color:var(--accent-2)}.knowledge-doc--attached{cursor:pointer}.doc-viewer-box{width:900px;max-width:96vw;height:88vh;max-height:88vh}.doc-viewer-frame{flex:1;border:0;width:100%;background:#fff}.component-photo-row{display:flex;flex-direction:column;align-items:center;gap:9px;margin:6px 0 14px}.component-photo-thumb{display:block;width:132px;height:132px;flex:0 0 auto;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--surface-3);box-shadow:0 2px 10px #0000002e}.component-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.component-photo-thumb--empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;border-style:dashed;font-family:inherit;font-size:24px;color:var(--text-faint)}.component-photo-thumb--empty span{font-size:11px;font-weight:600;letter-spacing:.2px}.component-photo-thumb--empty:hover{border-color:var(--accent-2);color:var(--accent-2)}.component-photo-btn{padding:7px 12px;border-radius:8px;cursor:pointer;font-weight:600;font-size:11.5px;background:var(--surface-3);color:var(--text);border:1px dashed var(--border);font-family:inherit}.component-photo-btn:hover{border-color:var(--accent-2);color:var(--accent-2)}.kb-lookup-btn{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-3);color:var(--text);font-size:12px;font-weight:650;cursor:pointer}.kb-lookup-btn:hover{border-color:var(--accent-2);color:var(--accent-2)}.kb-lookup-btn:disabled{opacity:.6;cursor:default}.kb-lookup-result:empty{display:none}.kb-lookup-result{margin-top:10px}.kb-lookup-group{margin-bottom:10px}.kb-lookup-group-label{display:block;margin-bottom:4px;color:var(--text-faint);font-size:10px;text-transform:uppercase;letter-spacing:.4px}.kb-lookup-item{padding:3px 0;font-size:12px;line-height:1.35;overflow-wrap:anywhere}.kb-lookup-item--muted{color:var(--text-muted)}.kb-lookup-item em{color:var(--text-faint);font-style:normal}.ds-system-details{margin:8px 12px 12px;overflow:hidden;border:1px solid var(--border);border-radius:9px;background:var(--surface-2)}.ds-system-details>summary{padding:11px 12px;color:var(--text-muted);font-size:12px;font-weight:650;cursor:pointer;background:var(--surface-3);list-style-position:inside}.ds-system-details[open]>summary{color:var(--text);border-bottom:1px solid var(--border)}.ds-system-details-body{padding:10px}.ds-system-details-body .ds-card{margin:0 0 9px;background:var(--surface-3)}.ds-system-details-body .ds-title{padding:9px 11px}.ds-system-details-body .ds-band{margin:9px 0 0;padding:7px 9px;color:var(--text-muted);background:var(--surface-3);border:1px solid var(--border);border-radius:7px 7px 0 0;font-size:9.5px;letter-spacing:.75px}.ds-system-details-body .ds-row{grid-template-columns:112px minmax(0,1fr);padding:8px 9px;border:1px solid var(--border-soft);border-top:0;background:transparent}.ds-system-details-body .ds-row:last-of-type{border-radius:0 0 7px 7px}.ds-system-details-body .info-row{margin:0;padding:11px 9px;border:1px solid var(--border-soft);border-top:0}.ds-system-details-body .conn-list{margin:0}.tractian-band{display:flex;align-items:center;justify-content:space-between;gap:6px}.tractian-ago{font-size:10px;opacity:.75;font-weight:400;margin-left:auto}.tractian-refresh,.tractian-retry{background:none;border:none;cursor:pointer;font-size:12px;opacity:.8;padding:2px 5px;border-radius:4px;transition:opacity .2s}.tractian-refresh:hover,.tractian-retry:hover{opacity:1;background:var(--hover-soft)}.tractian-empty{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;margin:4px 0 0;font-size:11.5px}.tractian-status-value{font-weight:600;display:inline-flex;align-items:center;gap:6px}.ds-section.tractian-wo,.ds-section.tractian-raw{border:1px solid var(--border-soft);border-top:0;padding:6px 9px;background:transparent}.ds-section.tractian-wo summary,.ds-section.tractian-raw summary{font-size:11px;font-weight:600;cursor:pointer;color:var(--text-muted);padding:4px 0}.wo-row{padding:7px 9px;margin-top:6px;border:1px solid var(--border-soft);border-radius:6px;background:var(--surface-2);font-size:11.5px}.wo-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.wo-num{font-weight:700;font-family:monospace}.wo-num.wo-ok{color:var(--accent-green, #34d399)}.wo-num.wo-warn{color:var(--accent-orange, #fbbf24)}.wo-num.wo-bad{color:var(--accent-red, #f87171)}.wo-status{font-size:10.5px;opacity:.85;text-transform:uppercase;letter-spacing:.5px}.wo-priority{font-size:10px;opacity:.7;margin-left:auto}.wo-title{font-weight:600;font-size:11.5px;margin-top:3px}.wo-desc{font-size:10.5px;color:var(--text-muted);margin-top:2px;line-height:1.3}.wo-meta{font-size:10px;color:var(--text-muted);display:flex;gap:10px;margin-top:5px;flex-wrap:wrap}.tractian-none{padding:8px 9px;font-size:11px;color:var(--text-muted);font-style:italic;border:1px solid var(--border-soft);border-top:0}body.fluid-edit-mode #svg-wrapper{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath d='M24 2 L26 4 L15 15 L12 12 Z' fill='%23999' stroke='%23000' stroke-width='1'/%3E%3Cpath d='M15 15 L12 12 L9 15 C7 17 6 20 3 25 C8 22 11 21 13 19 Z' fill='%23fff' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E") 3 25,crosshair}body.erase-line-mode #svg-wrapper{cursor:crosshair}.fluid-menu{position:fixed;z-index:9700;min-width:200px;padding:var(--sp-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);font-size:var(--fs-base);color:var(--text)}.fluid-menu-title{padding:6px 11px 4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.fluid-palette{max-height:min(58vh,420px);overflow-y:auto}.fluid-palette-title{display:flex;align-items:center;justify-content:space-between;gap:8px;text-transform:none;font-size:12.5px;letter-spacing:0}.fluid-palette-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:13px;padding:2px 4px;border-radius:var(--radius-sm)}.fluid-palette-close:hover{color:var(--text);background:var(--hover-soft)}.fluid-palette-hint{padding:0 11px 8px;font-size:12px;color:var(--text-muted)}.fluid-opt--armed{background:var(--hover-soft);box-shadow:inset 0 0 0 1.5px var(--accent-2);font-weight:600}.fluid-reach-box{display:flex;flex-direction:column;gap:4px;padding:7px 11px 8px;margin:0 8px 6px;background:#0000002e;border-radius:var(--radius-md, 10px);border:1px solid var(--border-soft)}.fluid-reach-label{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.fluid-reach-input{width:100%;accent-color:var(--accent-2);cursor:pointer}.fluid-reach-value{font-size:11.5px;color:var(--text);font-weight:600;text-transform:none;letter-spacing:0}.fluid-opt{display:flex;align-items:center;gap:9px;width:100%;padding:6px 11px;background:none;border:none;color:inherit;font-size:var(--fs-base);text-align:left;cursor:pointer;border-radius:var(--radius-sm);font-weight:500}.fluid-opt:hover{background:var(--hover-soft)}.fluid-swatch{width:18px;height:18px;border-radius:5px;flex:0 0 auto;border:1.5px solid rgba(255,255,255,.35);box-shadow:0 0 0 1px #0006,0 1px 3px #00000059}.fluid-opt-row .fluid-opt-label{font-size:13.5px;font-weight:600;letter-spacing:.2px}.fluid-opt--clear{color:#ff8aa0}.fluid-opt--add{color:var(--accent-2);font-weight:600;border-top:1px solid var(--border);margin-top:4px;padding-top:11px}.fluid-new-form{display:flex;gap:8px;align-items:center;padding:6px 11px 10px}.fluid-new-input{flex:1;min-width:0;padding:7px 9px;background:var(--surface-2, var(--bg));color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-base)}.fluid-new-color{width:34px;height:30px;padding:2px;border:1px solid var(--border);border-radius:var(--radius-sm);background:none;cursor:pointer;flex:0 0 auto}.fluid-new-actions{display:flex;gap:8px;padding:0 11px 8px}.fluid-new-actions .fluid-opt{width:auto;flex:1;justify-content:center;border:1px solid var(--border)}.fluid-opt--confirm{background:var(--accent-2);color:#0b1520;border-color:var(--accent-2)!important}.fluid-opt--confirm:hover{filter:brightness(1.08)}.fluid-opt-row{display:flex;align-items:stretch;gap:2px}.fluid-opt-row .fluid-opt{flex:1;min-width:0}.fluid-opt-info{flex:0 0 auto;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:var(--surface-2, rgba(255,255,255,.06));border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text);font-size:13px;font-weight:700}.fluid-opt-info:hover{background:var(--hover-soft);border-color:var(--accent-2);color:var(--accent-2)}.fluid-opt-info--filled{color:var(--accent-2);border-color:var(--accent-2)}.fluid-opt-del{flex:0 0 auto;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:var(--surface-2, rgba(255,255,255,.06));border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text);font-size:13px;font-weight:700}.fluid-opt-del:hover{background:#e9456038;border-color:#e94560;color:#ff8aa0}.fluidspec-box{width:min(480px,92vw);max-height:82vh;display:flex;flex-direction:column}.fluidspec-body{overflow-y:auto;padding:var(--sp-2)}.fluid-tooltip{position:fixed;z-index:9800;min-width:220px;max-width:320px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);font-size:12.5px;color:var(--text);pointer-events:none}.fluid-tip-head{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13.5px;margin-bottom:8px}.fluid-tip-row{display:flex;justify-content:space-between;gap:10px;padding:4px 0;border-top:1px solid var(--border)}.fluid-tip-row:first-of-type{border-top:none}.fluid-tip-k{color:var(--text-muted);flex:0 0 auto}.fluid-tip-v{text-align:right;font-weight:600}.fluid-tip-close{margin-left:auto;flex:0 0 auto;pointer-events:auto;cursor:pointer;background:none;border:none;color:var(--text-muted);font-size:14px;line-height:1;padding:4px;border-radius:6px}.fluid-tip-close:hover{color:var(--text);background:var(--hover-soft)}.fluid-tip-empty{color:var(--text-muted);font-style:italic}body.note-mode #svg-wrapper{cursor:cell}.sticky-note{position:relative;width:100%;height:100%;color:#1a1a1a;font-family:Segoe UI,system-ui,sans-serif;overflow:visible}.note-card{width:100%;height:100%;display:flex;flex-direction:column;border-radius:.35em;box-shadow:.1em .15em .5em #00000052;overflow:hidden;border:1px solid rgba(0,0,0,.14)}.sticky-note.dragging .note-card{box-shadow:.2em .3em .9em #00000073}body.canvas-overview-mode .linked-sheet{cursor:grab}body.canvas-overview-mode .linked-sheet.dragging{cursor:grabbing}body.canvas-overview-mode .linked-sheet .linked-sheet-close{cursor:pointer}.note-head{display:flex;align-items:center;justify-content:space-between;gap:.3em;height:1.9em;padding:0 .3em;box-sizing:border-box;background:#0000001a;cursor:grab;flex:0 0 auto;border-top-left-radius:.3em;border-top-right-radius:.3em}.note-head:active{cursor:grabbing}.note-grip{flex:1 1 auto;text-align:center;opacity:.4;font-size:.85em;letter-spacing:.15em;user-select:none;line-height:1}.note-color-toggle{flex:0 0 auto;width:1.15em;height:1.15em;border-radius:50%;padding:0;cursor:pointer;border:1px solid rgba(0,0,0,.35)}.note-color-toggle:hover{transform:scale(1.15)}.note-head-spacer{flex:0 0 auto;width:1.15em;height:1px;visibility:hidden}.note-color-popover{display:none;position:absolute;left:0;right:0;top:1.9em;align-items:center;gap:.4em;flex-wrap:wrap;row-gap:.3em;padding:.4em .5em;background:var(--surface, #fff);color:var(--text, #1a1a1a);border:1px solid var(--border, rgba(0,0,0,.25));border-radius:.4em;box-shadow:0 .25em .7em #0006;z-index:5}.sticky-note.colors-open .note-color-popover{display:flex}.note-toolbar-label{font-size:.68em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.6;user-select:none;flex:0 0 auto}.note-colors{display:flex;gap:.3em;flex-wrap:wrap;flex:1 1 auto}.note-color{width:1.2em;height:1.2em;border-radius:50%;border:1px solid rgba(0,0,0,.3);padding:0;cursor:pointer;transition:transform .1s ease}.note-color:hover{transform:scale(1.18)}.note-color.sel{outline:.15em solid rgba(0,0,0,.6);outline-offset:.06em}.note-del{position:absolute;top:-.55em;right:-.55em;width:1.7em;height:1.7em;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.18);background:#e03131;color:#fff;font-size:.85em;font-weight:700;line-height:1;padding:0;cursor:pointer;z-index:3;box-shadow:0 .1em .35em #0006;transition:transform .12s ease,background .12s ease}.note-del:hover{background:#c0392b;transform:scale(1.15)}.note-text{flex:1 1 auto;padding:.35em .45em;outline:none;overflow:auto;white-space:pre-wrap;word-break:break-word;line-height:1.3}.note-text:empty:before{content:"Escreva…";color:#0006}.note-resize{position:absolute;right:0;bottom:0;width:1.1em;height:1.1em;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,rgba(0,0,0,.28) 50%)}.sticky-note{font-family:var(--font, "Inter", "Segoe UI", system-ui, sans-serif)}.note-card{border-radius:.42em;border-color:#0f172a2e;box-shadow:.1em .14em .42em #00000042;transition:box-shadow .12s ease,border-color .12s ease,transform .12s ease}.sticky-note:hover .note-card,.sticky-note.selected .note-card{border-color:#0f172a85;box-shadow:.16em .22em .75em #00000061}.sticky-note.selected .note-card{outline:.12em solid rgba(56,189,248,.92);outline-offset:.08em}.sticky-note.dragging .note-card{transform:translateY(-.04em)}.note-head{height:2.05em;padding:0 .35em;background:#ffffff57;border-bottom:1px solid rgba(15,23,42,.1)}.note-grip{flex:1 1 auto;align-self:stretch;min-width:1.8em;opacity:.38;background-image:radial-gradient(rgba(15,23,42,.7) 1px,transparent 1.2px);background-size:.45em .45em;background-position:center;background-repeat:repeat-x;color:transparent}.note-head-spacer{display:none}.note-author{flex:0 0 auto;min-width:1.75em;height:1.75em;padding:0 .35em;border-radius:999px;border:1px solid rgba(15,23,42,.28);background:#0f172ae0;color:#fff;font-size:.72em;font-weight:800;line-height:1;letter-spacing:0;cursor:pointer}.note-author:hover{background:#0f172a;transform:translateY(-.04em)}.note-del{opacity:0;pointer-events:none;transition:transform .12s ease,background .12s ease,opacity .12s ease}.sticky-note:hover .note-del,.sticky-note.selected .note-del{opacity:1;pointer-events:auto}.note-text{padding:.45em .52em}.sticky-note.selected .note-text:focus{box-shadow:inset 0 0 0 1px #0f172a2e}#edit-toolbar{position:fixed;z-index:9700;display:none;flex-direction:column;align-items:stretch;gap:0;width:min(780px,calc(100vw - 24px));padding:0;background:#101720f5;border:1px solid var(--border-soft, rgba(148,163,184,.14));border-radius:10px;box-shadow:var(--shadow-3, 0 10px 30px rgba(0,0,0,.5));font-size:13px;color:var(--text, #e6edf3);overflow:hidden;backdrop-filter:blur(8px)}:root[data-theme=light] #edit-toolbar{background:#fffffff5}.edit-tb-main{display:flex;align-items:center;gap:8px;min-height:44px;padding:7px 10px}.edit-tb-title{display:flex;align-items:center;min-width:70px;color:var(--text-muted, #8b949e);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.edit-tb-title-icon{padding:4px 7px;border:1px solid var(--border-soft, rgba(148,163,184,.14));border-radius:999px;background:var(--control-bg, rgba(255,255,255,.04))}.edit-tb-group{display:flex;align-items:center;gap:5px;min-width:0}.edit-tb-actions{flex-shrink:0}.edit-tb-spacer{flex:1;min-width:8px}.edit-tb-sep{width:1px;align-self:stretch;background:var(--border-soft)}.edit-tb-btn{min-height:31px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;border-radius:7px;cursor:pointer;font-size:12.5px;font-weight:650;white-space:nowrap;background:var(--control-bg, var(--surface-2, #1c2128));color:var(--text-muted, #8b949e);border:1px solid var(--control-border, var(--border, #30363d));transition:background .14s ease,border-color .14s ease,color .14s ease,transform .08s ease}.edit-tb-btn:hover{background:var(--control-bg-hover, rgba(76,201,240,.12));border-color:var(--accent-2);color:var(--text, #e6edf3)}.edit-tb-btn:active{transform:translateY(1px)}.edit-tb-btn--active{background:var(--accent-2);color:#07121b;border-color:var(--accent-2)}.edit-tb-btn--active:hover{color:#07121b}.edit-tb-btn--save{background:#2ecc71;color:#07220f;border-color:#2ecc71}.edit-tb-btn--save:hover{filter:brightness(1.08)}.edit-tb-ico{min-width:18px;display:inline-flex;justify-content:center;font-size:13px;font-weight:800}.edit-tb-close{width:30px;height:30px;border-radius:999px;cursor:pointer;font-size:13px;line-height:1;flex:0 0 auto;background:var(--control-bg, var(--surface-2, #1c2128));color:var(--text-muted, #8b949e);border:1px solid var(--control-border, var(--border, #30363d))}.edit-tb-close:hover{color:#fff;border-color:#ff6b6b}.edit-tb-detail{display:flex;align-items:center;gap:10px;min-height:40px;padding:7px 10px;border-top:1px solid var(--border-soft, rgba(148,163,184,.14));background:#ffffff06}.edit-tb-detail-label{flex:0 0 auto;min-width:74px;padding:4px 8px;border-radius:999px;background:#38bdf81a;border:1px solid rgba(56,189,248,.24);color:var(--accent-2, #4cc9f0);font-size:11px;font-weight:800;text-align:center}.edit-tb-context{display:flex;align-items:center;gap:6px;min-width:0;flex:1;flex-wrap:wrap}.edit-tb-hint{font-size:11.5px;color:var(--text-muted, #8b949e)}.edit-tb-slider{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--text-muted, #8b949e)}.edit-tb-slider input[type=range]{width:clamp(120px,24vw,240px);accent-color:var(--accent-2)}#edt-eraser-size-v{min-width:32px;padding:2px 7px;border-radius:999px;background:var(--control-bg, rgba(255,255,255,.04));color:var(--text, #e6edf3);text-align:center;font-variant-numeric:tabular-nums}.edit-shape-opt{width:30px;height:30px;border-radius:7px;cursor:pointer;font-size:14px;background:var(--control-bg, var(--surface-2, #1c2128));color:var(--text, #e6edf3);border:1px solid var(--control-border, var(--border, #30363d));display:inline-flex;align-items:center;justify-content:center;padding:0}.edit-shape-opt:hover{background:var(--control-bg-hover, rgba(76,201,240,.12));border-color:var(--accent-2)}.edit-shape-opt--active{background:var(--accent-2);color:#07121b;border-color:var(--accent-2)}.edit-saved-flash{font-size:11px;font-weight:700;color:#46d17a;opacity:0;transition:opacity .2s;white-space:nowrap}.edit-saved-flash--show{animation:color-applied-fade 1.8s ease forwards}@media (max-width: 720px){#edit-toolbar{width:calc(100vw - 16px)}.edit-tb-main{flex-wrap:wrap}.edit-tb-title{min-width:0}.edit-tb-spacer{display:none}.edit-tb-actions{margin-left:auto}.edit-tb-detail{align-items:flex-start;flex-direction:column;gap:7px}.edit-tb-detail-label{min-width:0}}#edit-toolbar{width:min(258px,calc(100vw - 24px));min-width:236px;max-width:calc(100vw - 24px);padding:var(--sp-1);gap:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);overflow:hidden;backdrop-filter:none}:root[data-theme=light] #edit-toolbar{background:var(--surface)}.edit-menu-row span:first-child{display:inline-flex;align-items:center;gap:9px;min-width:0}.edit-menu-ico{width:18px;min-width:18px;display:inline-flex;align-items:center;justify-content:center;color:currentColor;font-size:13px;font-weight:800;line-height:1}.edit-menu-svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.edit-menu-abc{display:inline-flex;align-items:center;justify-content:center;min-width:20px;color:currentColor;font-size:13px;font-weight:800;letter-spacing:0}.edit-menu-row{color:var(--text)}.edit-menu-row:hover .edit-menu-ico,.edit-menu-row.edit-tb-btn--active .edit-menu-ico{color:currentColor}.edit-menu-row.edit-tb-btn--active{background:var(--accent-2-soft);color:var(--accent-2)}.edit-menu-row.edit-tb-btn--active .edit-menu-ico{color:var(--accent-2)}.edit-menu-detail{display:flex;flex-direction:column;gap:7px;padding:9px 11px}.edit-menu-detail-label{color:var(--text-muted);font-size:11px;font-weight:700;line-height:1.2}.edit-tb-context{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap}.edit-tb-hint{line-height:1.35}.edit-tb-slider{width:100%;display:grid;grid-template-columns:1fr auto;gap:8px}.edit-tb-slider input[type=range]{grid-column:1 / -1;width:100%}.edit-shape-opt{width:29px;height:29px}.edit-menu-save,.edit-menu-save .edit-menu-ico{color:var(--ok)}.edit-menu-exit{color:var(--text-muted)}.edit-menu-exit:hover,.edit-menu-exit .edit-menu-ico{color:#ff8a8a}#edit-saved-flash{margin-left:auto}.conn-menu,#edit-toolbar{width:min(258px,calc(100vw - 24px));min-width:236px;max-width:calc(100vw - 24px);padding:var(--sp-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);color:var(--text);font-size:var(--fs-base)}.conn-menu .cm-row,#edit-toolbar .cm-row{min-height:36px;padding:9px 11px;border-radius:var(--radius-sm);line-height:1.25}.conn-menu .cm-btn,#edit-toolbar .cm-btn{color:var(--text)}.conn-menu .cm-label{display:inline-flex;align-items:center;gap:9px}.conn-menu .cm-icon{width:16px;height:16px;flex:0 0 16px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:.92}.conn-menu .cm-btn:hover,.conn-menu .cm-toggle:hover,#edit-toolbar .cm-btn:hover{background:var(--hover-soft);color:var(--text)}.conn-menu .cm-btn.cm-active,#edit-toolbar .edit-menu-row.edit-tb-btn--active{background:var(--accent-2-soft);color:var(--accent-2)}.conn-menu .cm-sep,#edit-toolbar .cm-sep{height:1px;margin:5px 7px;background:var(--border-soft)}.conn-menu .cm-switch{width:42px;height:22px}.conn-menu .cm-slider{background:#94a3b852}.conn-menu .cm-slider:before{width:18px;height:18px}.conn-menu .cm-switch input:checked+.cm-slider{background:var(--accent-2)}.conn-menu .cm-switch input:checked+.cm-slider:before{transform:translate(20px)}@media (max-width: 720px){#edit-toolbar{width:calc(100vw - 16px)}}#svg-wrapper svg #edit-overlay .edit-mark{fill:none!important;stroke:var(--diagram-bg)!important;stroke-linecap:round;stroke-linejoin:round}#svg-wrapper svg #edit-overlay .edit-shape-geo{fill:none!important;stroke:#ff4d6d!important;stroke-width:2.4;cursor:move}#svg-wrapper svg #edit-overlay .edit-shape--selected .edit-shape-geo{stroke:#ff8ba3!important;stroke-width:3}#svg-wrapper svg #edit-shape-ghost{fill:#ff4d6d14!important;stroke:#ff4d6d!important;stroke-width:1.6;stroke-dasharray:5 4;pointer-events:none}#svg-wrapper svg .edit-handle-resize{fill:#fff!important;stroke:#ff4d6d!important;stroke-width:1.6;cursor:nwse-resize}#svg-wrapper svg .edit-handle-del{fill:#e03131!important;stroke:#fff!important;stroke-width:1.2;cursor:pointer}#svg-wrapper svg #edit-arrowhead path{fill:#ff4d6d!important;stroke:none!important}.edit-text-wrap{position:relative;width:100%;height:100%;overflow:visible}.edit-text-drag{position:absolute;top:-1.3em;left:0;right:0;height:1.1em;border-radius:4px;background:#ff4d6d00;cursor:grab;opacity:0}.edit-text-wrap--selected .edit-text-drag,.edit-text-wrap:hover .edit-text-drag{opacity:1;background:#ff4d6d40}.edit-text-drag:active{cursor:grabbing}.edit-text-box{width:100%;height:100%;box-sizing:border-box;padding:2px 4px;outline:none;color:var(--text, #e6edf3);overflow:visible;word-break:break-word;cursor:text;border:1px dashed transparent}.edit-text-wrap:hover .edit-text-box,.edit-text-box:focus{border-color:#ff4d6d80}.edit-text-box:empty:before{content:"Digite…";color:var(--text-faint)}.edit-text-fmt{position:absolute;left:0;top:100%;margin-top:4px;display:none;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 8px;border-radius:8px;z-index:2;width:max-content;max-width:320px;background:var(--surface);border:1px solid var(--border);box-shadow:0 8px 20px #0006}.edit-text-box:focus~.edit-text-fmt,.edit-text-fmt:hover{display:flex}.edit-fmt-font,.edit-fmt-size{font-size:11px;padding:3px 4px;border-radius:5px;background:var(--surface-2, #1c2128);color:var(--text, #e6edf3);border:1px solid var(--border, #30363d)}.edit-fmt-size{width:44px}.edit-fmt-btn{width:26px;height:26px;border-radius:5px;cursor:pointer;font-size:11px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2, #1c2128);color:var(--text, #e6edf3);border:1px solid var(--border, #30363d)}.edit-fmt-btn:hover{border-color:var(--accent-2)}.edit-fmt-btn--active{background:var(--accent-2);color:#07121b}.edit-fmt-bg{position:relative;overflow:hidden}.edit-fmt-bg-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:none;padding:0}.edit-fmt-del{background:#e0313126;border-color:#e03131}.edit-fmt-del:hover{background:#e03131}.info-value.status-ok,.info-value.status-alarm,.info-value.status-off{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:3px 10px;border-radius:20px;font-size:11.5px;font-weight:700}.info-value.status-ok:before,.info-value.status-alarm:before,.info-value.status-off:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.status-ok{color:var(--ok);background:#3ddc841f}.status-alarm{color:var(--accent);background:#ff5d731f}.status-off{color:var(--text-muted);background:#8b97ac1f}.status-undef{color:var(--text-faint);background:#8b97ac1a}.info-value.status-undef:before{background:transparent;border:1.5px dashed var(--text-faint);width:7px;height:7px}#viewer3d-overlay{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;background:var(--bg, #11151c)}.v3d-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;row-gap:6px;min-height:var(--toolbar-height, 46px);padding:6px 14px;background:linear-gradient(180deg,var(--toolbar-grad-top) 0%,var(--surface) 100%);border-bottom:1px solid var(--border);color:var(--text);font-size:13px;z-index:10}.v3d-title{font-weight:700}.v3d-hint{color:var(--text-muted, #8b949e);font-size:11.5px}.v3d-spacer{flex:1}@media (max-width: 700px){.v3d-hint{display:none}.v3d-bar{gap:6px;padding:8px 10px}.v3d-close{margin-left:auto}}.v3d-btn{padding:6px 12px;border-radius:8px;cursor:pointer;font-size:12.5px;font-weight:600;background:var(--surface-2, #1c2128);color:var(--text, #e6edf3);border:1px solid var(--border, #30363d)}.v3d-btn:hover{border-color:var(--accent-2, #4cc9f0)}.v3d-btn--on{background:var(--accent-2)!important;color:#07121b!important;border-color:var(--accent-2)!important}.v3d-close{font-weight:700}.v3d-canvas-wrap{flex:1;min-height:0;position:relative}.v3d-canvas-wrap canvas{display:block;width:100%;height:100%;touch-action:none}#viewer3d-overlay.v3d-merging-mode .v3d-canvas-wrap canvas{cursor:crosshair!important}.v3d-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.v3d-loading-box{display:flex;flex-direction:column;align-items:center;gap:12px;padding:22px 30px;background:var(--surface, #161b22);border:1px solid var(--border, #30363d);border-radius:12px;color:var(--text, #e6edf3);font-size:13px}.v3d-spinner{width:28px;height:28px;border-radius:50%;border:3px solid rgba(76,201,240,.25);border-top-color:var(--accent-2, #4cc9f0);animation:v3d-spin .9s linear infinite}@keyframes v3d-spin{to{transform:rotate(360deg)}}.v3d-drawer{position:absolute;top:0;right:0;bottom:0;width:360px;max-width:90vw;background:var(--surface, #161b22);border-left:1px solid var(--border, #30363d);color:var(--text, #e6edf3);font-size:12.5px;z-index:10;display:flex;flex-direction:column;transform:translate(100%);transition:transform .22s ease;overflow:hidden;pointer-events:auto}.v3d-drawer--open{transform:translate(0)}.v3d-drawer-header{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border, #30363d);flex-shrink:0}.v3d-drawer-badge{width:12px;height:12px;border-radius:50%;flex-shrink:0;border:2px solid rgba(255,255,255,.15)}.v3d-drawer-title{font-family:var(--mono, monospace);font-weight:700;font-size:12.5px;color:var(--accent-2, #4cc9f0);overflow-wrap:anywhere;word-break:break-word;line-height:1.3;flex:1;min-width:0}.v3d-drawer-body{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.v3d-info-name{font-family:var(--mono, monospace);font-weight:700;color:var(--accent-2, #4cc9f0)}.v3d-info-link{color:var(--ok, #46d17a)}.v3d-info-nolink{color:var(--text-muted, #8b949e);font-style:italic}.v3d-info-sim{color:var(--accent-2, #4cc9f0);font-size:11.5px;padding:3px 0}.v3d-info-sim--none{color:var(--text-muted, #8b949e)}.v3d-drawer[hidden],.v3d-pick-card[hidden]{display:none}.v3d-search-btn{position:absolute;top:12px;left:12px;z-index:11}.v3d-search-panel{position:absolute;top:48px;left:12px;z-index:11;width:400px;max-width:calc(100vw - 24px);background:var(--surface, #161b22);border:1px solid var(--border, #30363d);border-radius:10px;box-shadow:0 14px 40px #0000008c;overflow:hidden;display:flex;flex-direction:column}.v3d-search-panel[hidden]{display:none}.v3d-search-panel .search-results{max-height:60vh}#v3d-search-input{flex:1;background:transparent;border:none;outline:none;color:var(--text, #e6edf3);font-size:15px;font-family:inherit}#v3d-search-input::placeholder{color:var(--text-faint, #8b949e)}#viewer3d-overlay.v3d-minimized{inset:auto 18px 18px auto;width:1px;height:1px;overflow:visible;background:transparent;pointer-events:none}#viewer3d-overlay.v3d-minimized .v3d-bar,#viewer3d-overlay.v3d-minimized .v3d-canvas-wrap,#viewer3d-overlay.v3d-minimized .v3d-drawer,#viewer3d-overlay.v3d-minimized .v3d-loading{display:none}#viewer3d-overlay.v3d-split{inset:0 0 0 50%}#viewer3d-overlay.v3d-split .v3d-bar{position:fixed;top:0;left:0;right:0;z-index:10001}#viewer3d-overlay.v3d-split .v3d-canvas-wrap{margin-top:var(--v3d-bar-h, 47px)}@media (orientation: portrait){#viewer3d-overlay.v3d-split{inset:50% 0 0}#viewer3d-overlay.v3d-split .v3d-bar{position:static}#viewer3d-overlay.v3d-split .v3d-canvas-wrap{margin-top:0}}.v3d-pick-card{position:fixed;right:18px;bottom:18px;z-index:10001;pointer-events:auto;display:flex;align-items:center;gap:10px;max-width:360px;padding:12px 14px;background:var(--surface, #161b22);border:1px solid var(--accent-2, #4cc9f0);border-radius:12px;box-shadow:0 10px 30px #00000080;color:var(--text, #e6edf3);font-size:12.5px}.v3d-tag-connect{display:flex;flex-direction:column;gap:8px}.v3d-tag-connect-row{display:flex;align-items:center;gap:8px}#v3d-tag-input{flex:1;min-width:0;padding:6px 8px;border-radius:6px;border:1px solid var(--border, #30363d);background:var(--surface-2, #1c2128);color:var(--text, #e6edf3);font-size:12.5px}.v3d-tag-results{display:flex;flex-direction:column;gap:4px;max-height:160px;overflow-y:auto}.v3d-tag-opt{text-align:left;white-space:normal}.v3d-tag-empty{color:var(--text-muted, #8b949e);font-style:italic;font-size:11.5px}.v3d-info-ficha{display:flex;flex-direction:column;gap:2px;max-width:46vw}.v3d-info-ficha-rows{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:11.5px;color:var(--text-muted, #8b949e)}.v3d-info-ds{color:var(--accent-2, #4cc9f0);font-size:11.5px;text-decoration:none}.v3d-info-ds:hover{text-decoration:underline}:root{--lib-dock-width: 432px}.lib-dock{width:var(--lib-dock-width);max-width:94vw;background:var(--surface)}body.lib-dock-open #svg-wrapper{margin-left:var(--lib-dock-width);width:calc(100% - var(--lib-dock-width))}.lib-dock .modal-head{min-height:52px;padding:11px 14px;background:var(--surface-2);border-bottom:1px solid var(--border-soft)}.lib-head-title{font-size:14px;letter-spacing:0}.lib-tabs{padding:8px 12px 0;gap:6px;background:var(--surface)}.lib-tab{flex:1 1 0;min-width:0;padding:8px 8px 10px;text-align:center}.lib-section-h{min-height:34px;padding:8px 12px}.lib-dock .modal-body{display:flex;flex-direction:column;min-height:0;overflow-y:auto;background:var(--surface)}.lib-dock .lib-toolbar{position:sticky;top:0;z-index:3;padding:10px 12px 9px;background:color-mix(in srgb,var(--surface) 94%,transparent);border-bottom:1px solid var(--border-soft);backdrop-filter:blur(8px)}.lib-dock .lib-toolbar>.lib-tool--primary{width:100%;justify-content:flex-start;margin:0 0 8px;min-height:36px}.lib-search{height:36px;margin-bottom:8px}.lib-dock .lib-filters{flex-wrap:nowrap;max-height:none;overflow-x:auto;overflow-y:hidden;padding:0 0 5px;scrollbar-width:thin}.lib-dock .lib-chip{flex:0 0 auto;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 10px}.lib-list{padding:10px 10px 16px}.lib-row-wrap{margin:0 0 10px;padding:0;overflow:hidden;border:1px solid var(--border-soft);border-radius:9px;background:#ffffff06}.lib-row-wrap:hover{background:#38bdf80e;border-color:#38bdf84d}.lib-row{display:grid;grid-template-columns:56px minmax(0,1fr) 22px;gap:10px;align-items:start;padding:10px}.lib-thumb{width:56px;height:56px;flex:0 0 56px;border-radius:8px;padding:6px}.lib-main{min-width:0;gap:7px}.lib-main-top{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:6px;align-items:center}.lib-learned{width:14px;text-align:center}.lib-code{padding:2px 6px;font-size:10.5px}.lib-label{flex:unset;min-width:0;font-size:12.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-apply{min-height:28px;padding:0 9px;border-radius:7px;border:1px solid rgba(76,201,240,.45);background:#4cc9f01f;color:var(--accent-2, #4cc9f0);font:800 11px var(--font);cursor:pointer;white-space:nowrap}.lib-apply:hover{background:var(--accent-2, #4cc9f0);color:#061018}#library-apply-bar{position:fixed;left:50%;bottom:18px;z-index:9800;transform:translate(-50%);display:flex;align-items:center;gap:8px;max-width:min(720px,calc(100vw - 28px));padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-1, #111821);box-shadow:0 12px 36px #00000073}.library-apply-status{min-width:0;color:var(--text-muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-apply-status b{color:var(--text)}#library-apply-bar .btn-secondary,#library-apply-bar .btn-delete,#library-apply-bar .btn-save{width:auto;min-height:34px;margin:0;padding:7px 12px}.lib-meta{gap:5px;min-width:0}.lib-rect,.lib-protos,.lib-count,.lib-odd{min-height:20px;padding-block:1px;font-size:10.5px}.lib-sel-wrap{margin-top:4px;justify-self:end}.lib-actions{display:grid;grid-template-columns:30px auto auto auto minmax(0,1fr) 30px 30px;align-items:center;gap:6px;margin:0;padding:8px 10px 10px;border-top:1px solid var(--border-soft);background:#00000014}.lib-color,.color-swatch-fixed,.lib-calib-toggle,.lib-del{width:30px;height:30px}.lib-base,.lib-audit,.lib-points{height:30px;min-height:30px;padding:0 8px;font-size:11px}.lib-actions-gap{min-width:0}.lib-calib{margin:0 10px 10px}@media (max-width: 800px){body.lib-dock-open #svg-wrapper{margin-left:0;width:100%}.lib-dock{width:92vw}}@media (max-width: 460px){.lib-row{grid-template-columns:48px minmax(0,1fr) 22px}.lib-thumb{width:48px;height:48px;flex-basis:48px}.lib-main-top{grid-template-columns:auto minmax(0,1fr)}.lib-code{grid-column:1 / -1;width:fit-content}.lib-actions{grid-template-columns:30px auto auto minmax(0,1fr) 30px 30px}.lib-points{display:none}}.lib-dock .modal-box{background:var(--surface)}.lib-dock .modal-head{min-height:56px;padding:12px 16px;background:var(--surface-2);border-bottom:1px solid var(--border-soft)}.lib-head-title{display:inline-flex;align-items:center;gap:8px;min-width:0;font-size:14.5px;line-height:1.2}.lib-x{background:var(--control-bg, rgba(255,255,255,.04));border-color:var(--control-border, var(--border));color:var(--text-muted)}.lib-x:hover{background:var(--hover-soft);color:var(--text)}.lib-tabs{gap:8px;padding:10px 14px 0;background:var(--surface);border-bottom:1px solid var(--border-soft)}.lib-tab{min-height:34px;padding:8px 12px 10px;color:var(--text-muted);border-bottom-width:2px;border-radius:7px 7px 0 0}.lib-tab:hover{background:var(--hover-soft);color:var(--text)}.lib-tab.active{color:var(--accent-2);border-bottom-color:var(--accent-2);background:transparent}.lib-section{background:var(--surface);border-bottom:1px solid var(--border-soft)}.lib-section-h{min-height:38px;padding:9px 14px}.lib-section-body.lib-toolbar{padding:8px 14px 12px}.lib-dock .modal-body{padding:0;min-height:0}.lib-dock .lib-toolbar{padding:12px 14px 10px;background:var(--surface);border-bottom:1px solid var(--border-soft)}.lib-dock .lib-toolbar>.lib-tool--primary{width:fit-content;min-height:34px;padding-inline:13px;margin-bottom:8px}.lib-search{height:38px;margin:0 0 10px;border-radius:7px}.lib-filters{max-height:150px;overflow-y:auto;padding:1px 2px 2px 0;align-content:flex-start}.lib-chip{max-width:100%;padding:5px 11px;border-radius:999px;background:#38bdf81a;border-color:#38bdf82e;color:var(--text);line-height:1.15}.lib-chip:hover{background:#38bdf829;border-color:#38bdf857}.lib-chip.active{background:var(--accent-2);border-color:var(--accent-2);color:#061018}.lib-list{padding:8px 10px 14px}.lib-category-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 7px;padding:7px 9px;border:1px solid var(--border-soft);border-radius:7px;background:color-mix(in srgb,var(--surface-2) 92%,#000 8%);color:var(--text);font-size:12px;font-weight:700}.lib-category-head:first-child{margin-top:0}.lib-category-head b{min-width:24px;padding:1px 7px;border-radius:999px;background:#38bdf81f;color:var(--accent-2);font-size:11px;line-height:1.5;text-align:center}.lib-row-wrap{margin:0 0 8px;padding:10px;border:1px solid var(--border-soft);border-radius:9px;background:#ffffff05}.lib-row-wrap:hover{background:var(--hover-soft);border-color:#38bdf847}.lib-row{align-items:flex-start;gap:10px}.lib-thumb{width:52px;height:52px;flex:0 0 52px;border-radius:7px}.lib-main{gap:6px;padding-top:1px}.lib-main-top{gap:6px;align-items:center;flex-wrap:wrap}.lib-label{min-width:0;flex:1 1 150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.lib-code{flex:0 0 auto}.lib-meta{gap:5px}.lib-rect,.lib-protos,.lib-count,.lib-odd{min-height:20px;display:inline-flex;align-items:center}.lib-sel-wrap{margin-top:7px;flex:0 0 auto}.lib-actions{margin-top:9px;padding-top:9px;gap:6px;flex-wrap:wrap}.lib-color{width:30px;height:30px;border-radius:7px}.lib-base,.lib-audit,.lib-points,.lib-calib-toggle,.lib-del{min-height:30px;border-radius:7px}.lib-base,.lib-audit,.lib-points{padding-inline:9px}.lib-actions-gap{min-width:8px}@media (max-width: 480px){.lib-thumb{width:46px;height:46px;flex-basis:46px}.lib-label{flex-basis:120px}.lib-dock .lib-toolbar>.lib-tool--primary,.lib-search{width:100%}}:root:not([data-theme=light]){--bg: #0b0f14;--surface: #101720;--surface-2: #151e2a;--surface-3: #1c2735;--border: rgba(148, 163, 184, .2);--border-soft: rgba(148, 163, 184, .12);--text: #edf2f7;--text-muted: #9aa8b8;--text-faint: #6f7f91;--accent: #f45f73;--accent-2: #38bdf8;--accent-2-soft: rgba(56, 189, 248, .13);--hover-soft: rgba(148, 163, 184, .1);--control-bg: rgba(255, 255, 255, .035);--control-bg-hover: rgba(56, 189, 248, .11);--control-border: rgba(148, 163, 184, .16);--diagram-bg: #0a0d11;--diagram-grid: rgba(237, 242, 247, .035);--toolbar-height: 54px;--radius-lg: 10px;--shadow-2: 0 14px 32px rgba(0, 0, 0, .28);--shadow-3: 0 28px 72px rgba(0, 0, 0, .46)}:root[data-theme=light]{--bg: #eef2f6;--surface: #ffffff;--surface-2: #f6f8fb;--surface-3: #edf1f6;--border: rgba(71, 85, 105, .22);--border-soft: rgba(71, 85, 105, .11);--text: #142033;--text-muted: #5f6f83;--text-faint: #8a97a8;--accent-2: #0f7ca8;--accent-2-soft: rgba(15, 124, 168, .12);--hover-soft: rgba(15, 124, 168, .075);--control-bg: rgba(255, 255, 255, .76);--control-bg-hover: rgba(15, 124, 168, .085);--control-border: rgba(71, 85, 105, .18);--diagram-bg: #f8fafc;--diagram-grid: rgba(15, 23, 42, .045);--toolbar-height: 54px}body{text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}.toolbar{min-height:var(--toolbar-height);padding:8px 12px;gap:8px;row-gap:7px;background:linear-gradient(180deg,var(--surface-2) 0%,var(--surface) 100%);border-bottom:1px solid var(--border-soft);box-shadow:0 1px #ffffff09,0 10px 28px #0000001f}.toolbar-brand{padding-right:4px}.toolbar-logo{box-shadow:0 0 0 1px #ffffff2e inset}.toolbar-title{letter-spacing:0;line-height:1.15}.toolbar-group{gap:3px;padding:3px;border:1px solid var(--control-border);border-radius:9px;background:var(--control-bg)}.toolbar-sep{display:none}.tb-btn,.tb-icon,#acervo-select,.acervo-combo-trigger,.search-trigger,.v3d-btn,.btn-save,.btn-cancel,.btn-delete,.btn-find,.radius-row button{border-color:var(--control-border);box-shadow:none}.tb-btn,.tb-icon{min-height:32px;border-radius:7px;background:transparent;color:var(--text-muted)}.tb-btn{max-width:176px}.tb-btn span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-btn:hover,.tb-icon:hover,#acervo-select:hover,.search-trigger:hover,.v3d-btn:hover{background:var(--control-bg-hover);border-color:#38bdf87a;color:var(--text)}.tb-btn--active,.tb-btn--active:hover{background:var(--accent-2);border-color:var(--accent-2);color:#061018;box-shadow:0 0 0 1px #ffffff2e inset}.tb-btn:disabled,.tb-icon:disabled{background:transparent;border-color:transparent;opacity:.42}#acervo-select,.acervo-combo-trigger{min-height:32px;border-radius:7px;background:var(--control-bg)}#acervo-select option,#acervo-select optgroup{background:#101720;color:#edf2f7}#acervo-select option:checked{background:#38bdf8;color:#061018}:root[data-theme=light] #acervo-select option,:root[data-theme=light] #acervo-select optgroup{background:#fff;color:#142033}:root[data-theme=light] #acervo-select option:checked{background:#0f7ca8;color:#fff}.toolbar-hint{max-width:320px;overflow:hidden;text-overflow:ellipsis;color:var(--text-faint)}.workspace{background:var(--bg)}#diagram-container{background-color:var(--diagram-bg);background-size:48px 48px;box-shadow:inset 0 1px #ffffff09,inset 0 0 0 1px #ffffff05}.minimap,.statusbar,.v3d-bar,.v3d-drawer{border-color:var(--border-soft);background:var(--surface)}.modal-overlay{background:#03070c9e;backdrop-filter:blur(5px)}.modal-box,.search-box,.points-box,.hotkeys-box,.s3-backups-box{border:1px solid var(--border-soft);border-radius:10px;box-shadow:var(--shadow-3);overflow:hidden}.modal-head,.lib-dock .modal-head,.search-head,.points-head,.hotkeys-head,.s3-backups-head{background:var(--surface-2);border-bottom:1px solid var(--border-soft);color:var(--text)}.modal-body,.search-results,.points-body,.hotkeys-body,.s3-backups-body{background:var(--surface)}.gallery-box{width:min(920px,94vw)}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.gallery-card,.s3-backup-row,.search-result,.hotkey-row{background:var(--control-bg);border:1px solid var(--control-border);border-radius:8px}.gallery-card:hover,.s3-backup-row:hover,.search-result:hover{background:var(--control-bg-hover);border-color:#38bdf86b;transform:translateY(-1px)}.gallery-thumb,.gallery-preview{background:linear-gradient(45deg,rgba(148,163,184,.06) 25%,transparent 25%),linear-gradient(-45deg,rgba(148,163,184,.06) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(148,163,184,.06) 75%),linear-gradient(-45deg,transparent 75%,rgba(148,163,184,.06) 75%),var(--diagram-bg);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.gal-badge,.gal-badges span{background:#38bdf81a;border-color:#38bdf83d;color:var(--text-muted)}.info-panel{background:var(--surface);border-left-color:var(--border-soft);box-shadow:-12px 0 28px #0000001f}.info-panel__header{background:var(--surface-2);border-bottom:1px solid var(--border-soft)}.info-panel__body{padding:8px 0}.info-section-title{color:var(--text-muted);letter-spacing:.08em}.info-row{margin:0 8px;padding:9px 10px;border-bottom:1px solid var(--border-soft);border-radius:7px}.info-row:hover{background:var(--hover-soft)}.panel-badge,.info-value.status-ok,.info-value.status-alarm,.info-value.status-off,.info-value.status-undef{border:1px solid var(--border-soft)}.toast{background:var(--surface);border-color:var(--border-soft);border-radius:8px;box-shadow:var(--shadow-2)}.v3d-pick-card,.v3d-loading-box,.fluid-menu,.fluid-tooltip{border-color:var(--border-soft);box-shadow:var(--shadow-3)}@media (max-width: 1180px){.tb-btn{min-width:32px;padding-inline:8px}}@media (max-width: 820px){.toolbar{padding:6px 8px;gap:6px}.toolbar-group{padding:2px}#acervo-select,.acervo-combo-trigger{max-width:132px}}.lib-dock .modal-head{min-height:50px;padding:10px 12px 10px 14px;background:#111923;border-bottom:1px solid rgba(148,163,184,.13)}.lib-head-title{font-size:14px;font-weight:750;color:var(--text)}.lib-x{width:34px;height:34px;border-radius:8px;background:#94a3b812;border-color:#94a3b82e}.lib-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px 10px;background:#0d131b;border-bottom:1px solid rgba(148,163,184,.13)}.lib-tab{min-height:34px;padding:7px 8px;border:1px solid transparent;border-radius:8px;color:var(--text-muted);text-align:center}.lib-tab:hover{background:#94a3b814;color:var(--text)}.lib-tab.active{background:#38bdf81a;border-color:#38bdf852;color:var(--accent-2)}.lib-section{background:#111923;border-bottom:1px solid rgba(148,163,184,.13)}.lib-section-h{min-height:34px;margin:8px 10px;padding:8px 10px;border:1px solid rgba(148,163,184,.16);border-radius:8px;background:#94a3b80f;color:var(--text)}.lib-section-h:before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;opacity:.75;transform:rotate(-45deg)}.lib-section-h:after{content:"";margin-left:auto;width:18px;height:18px}.lib-section-h:hover{background:#38bdf814;border-color:#38bdf852}.lib-section[open]>.lib-section-h{background:#38bdf81a;border-color:#38bdf857;color:var(--accent-2)}.lib-section[open]>.lib-section-h:before{transform:rotate(45deg)}.lib-section[open]>.lib-section-h:after{content:"";background:transparent}.lib-dock .modal-body{background:#0d131b}.lib-dock .lib-toolbar{padding:12px 10px 10px;background:#0d131b}.lib-dock .lib-toolbar>.lib-tool--primary{width:auto;min-height:36px;padding:0 14px;border-radius:8px;background:#18e58b;border-color:#18e58b;color:#03140d;box-shadow:none}.lib-dock .lib-toolbar>.lib-tool--primary:hover{background:#13c978;border-color:#13c978}.lib-dock .lib-toolbar--main-actions{position:relative;align-items:flex-start}.lib-dock .lib-section--inline{flex:0 0 auto;border:0;background:transparent}.lib-dock .lib-section--inline>.lib-section-h{min-height:36px;margin:0;padding:0 12px;background:#94a3b80e;white-space:nowrap}.lib-dock .lib-section--inline>.lib-section-h:after{display:none}.lib-dock .lib-section--inline>.lib-settings{position:absolute;z-index:40;top:54px;left:10px;right:10px;max-height:min(540px,calc(100vh - 180px));overflow-y:auto;border:1px solid rgba(56,189,248,.3);border-radius:10px;box-shadow:0 18px 42px #0000007a}.lib-section-body.lib-settings{display:flex;flex-direction:column;gap:10px;padding:10px 10px 12px;background:#111923}.lib-settings-group,.lib-settings-danger{display:flex;flex-direction:column;gap:7px}.lib-settings-title{padding:0 2px;color:var(--text-faint);font-size:10px;font-weight:800;letter-spacing:.08em;line-height:1;text-transform:uppercase}.lib-settings .lib-tool{width:100%;min-height:36px;justify-content:flex-start;padding:0 11px;border-radius:8px;background:#ffffff06;border-color:#94a3b829}.lib-settings .lib-tool>span:first-child{min-width:28px;max-width:42px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;border-radius:999px;background:#38bdf81a;color:var(--accent-2);font-size:9px;font-weight:800;line-height:1;text-transform:uppercase}.lib-settings .lib-tool:hover{background:#38bdf814;border-color:#38bdf852}.lib-settings #lib-merge-count{margin-left:auto;min-width:24px;padding:2px 7px;border-radius:999px;background:#38bdf81f;color:var(--accent-2);text-align:center;font-size:11px}.lib-settings .lib-maxhits{display:grid;grid-template-columns:auto minmax(0,1fr) 58px;gap:8px;cursor:default}.lib-settings .lib-maxhits input{width:58px;height:26px;border-radius:7px;background:#0b1017}.lib-settings-split{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lib-settings-danger{margin-top:2px;padding-top:10px;border-top:1px solid rgba(248,113,113,.18)}.lib-settings .lib-tool--danger{justify-content:center;color:#ff8a8a;border-color:#f871715c;background:#f871710f}.lib-settings .lib-tool--danger:hover{color:#fff;background:#f8717124;border-color:#f871718f}body,button,input,select,textarea,.modal-box,.conn-menu,.info-panel,.toolbar,.lib-dock,.chat-msg,.sticky-note{font-family:var(--font)}button,.tb-btn,.tb-icon,.lib-tool,.lib-mini-btn,.cm-row,.modal-head,.lib-head-title,.chat-head,.toast,.lib-tool span,.modal-head span,.cm-btn,.tb-btn span,.chat-title,.chat-scan-btn{font-variant-emoji:text}.lib-dock :is(.lib-tool span:first-child,.lib-head-title,.lib-section-h b){color:currentColor}:root:not([data-theme=light]){--quality-bg: #090d13;--quality-surface: rgba(15, 22, 32, .96);--quality-surface-2: rgba(20, 29, 42, .94);--quality-line: rgba(148, 163, 184, .18);--quality-line-strong: rgba(148, 163, 184, .3);--quality-hover: rgba(148, 163, 184, .1);--quality-accent: #38bdf8;--quality-accent-soft: rgba(56, 189, 248, .13)}:root[data-theme=light]{--quality-bg: #f4f6f9;--quality-surface: rgba(255, 255, 255, .98);--quality-surface-2: rgba(248, 250, 252, .98);--quality-line: rgba(15, 23, 42, .12);--quality-line-strong: rgba(15, 23, 42, .22);--quality-hover: rgba(15, 23, 42, .055);--quality-accent: #0ea5e9;--quality-accent-soft: rgba(14, 165, 233, .12)}body{background:radial-gradient(circle at 12% 0%,rgba(56,189,248,.08),transparent 28%),linear-gradient(180deg,var(--quality-bg),var(--bg))}#diagram-container{background-color:var(--diagram-bg);box-shadow:inset 0 0 0 1px #94a3b81a}.toolbar{min-height:54px;padding:7px 12px;gap:8px;background:color-mix(in srgb,var(--quality-surface) 92%,transparent);border-bottom-color:var(--quality-line);box-shadow:0 1px #ffffff08,0 10px 28px #0000002e;backdrop-filter:blur(14px)}.toolbar-group{min-height:36px;padding:2px;border:1px solid var(--quality-line);border-radius:8px;background:#ffffff06}.tb-btn,.tb-icon,.search-trigger,#acervo-select,.acervo-combo-trigger{min-height:32px;border-radius:7px;border-color:transparent;background:transparent;color:var(--text-muted);box-shadow:none}.tb-btn svg,.tb-icon svg,.search-trigger svg{stroke-width:1.9}.tb-btn:hover,.tb-icon:hover,.search-trigger:hover,#acervo-select:hover,.acervo-combo-trigger:hover:not([disabled]){background:var(--quality-hover);border-color:var(--quality-line-strong);color:var(--text);box-shadow:none}.tb-btn--active,.tb-btn--active:hover{background:var(--quality-accent);border-color:var(--quality-accent);color:#06121c}.toolbar-sep{width:1px;height:26px;background:var(--quality-line);margin:0 1px}.toolbar-hint,.statusbar{color:var(--text-faint)}.statusbar{min-height:30px;background:var(--quality-surface);border-top:1px solid var(--quality-line);box-shadow:0 -8px 24px #00000029}.modal-box,.search-box,.conn-menu,#edit-toolbar,.info-panel,#chat-panel,.lib-dock .modal-box{border-color:var(--quality-line);background:var(--quality-surface);box-shadow:0 22px 60px #00000057}.modal-head,.search-head,.info-panel__header,.chat-head,.lib-dock .modal-head{background:var(--quality-surface-2);border-bottom:1px solid var(--quality-line);color:var(--text);box-shadow:none}.modal-body,.info-panel__body,.chat-msgs,.lib-dock .modal-body{background:transparent}input,select,textarea,.edit-input,.search-input-row,.chat-input textarea{border-color:var(--quality-line);background:color-mix(in srgb,var(--surface) 86%,#000 14%);color:var(--text)}input:focus,select:focus,textarea:focus,.edit-input:focus,.search-input-row:focus-within,.chat-input textarea:focus{border-color:var(--quality-accent);box-shadow:0 0 0 3px var(--quality-accent-soft);outline:none}.conn-menu,#edit-toolbar{padding:6px;border-radius:8px}.conn-menu .cm-row,#edit-toolbar .cm-row{min-height:38px;border-radius:7px}.conn-menu .cm-btn:hover,.conn-menu .cm-toggle:hover,#edit-toolbar .cm-btn:hover{background:var(--quality-hover)}.conn-menu .cm-btn.cm-active,#edit-toolbar .edit-menu-row.edit-tb-btn--active{background:var(--quality-accent-soft);color:var(--quality-accent)}.btn-save,.btn-primary{border-radius:8px;background:#22c55e;border-color:#22c55e;color:#04130a;box-shadow:0 8px 20px #22c55e2e}.btn-save:hover,.btn-primary:hover{background:#34d875;border-color:#34d875;box-shadow:0 10px 24px #22c55e3d}.btn-cancel,.btn-secondary,.btn-ghost,.btn-refresh,.btn-find,.btn-import-json{border-radius:8px;border-color:var(--quality-line);background:transparent;color:var(--text-muted)}.btn-cancel:hover,.btn-secondary:hover,.btn-ghost:hover,.btn-refresh:hover,.btn-find:hover,.btn-import-json:hover{background:var(--quality-hover);border-color:var(--quality-line-strong);color:var(--text);filter:none}.btn-delete,.btn-not-valve,.lib-mini-danger{border-radius:8px;color:#fb7185;border-color:#fb718552;background:#fb71850f}.btn-delete:hover,.btn-not-valve:hover,.lib-mini-danger:hover{color:#fff;background:#fb718529;border-color:#fb71858f}.lib-dock{border-right-color:var(--quality-line);background:var(--quality-surface)}.lib-tabs{background:transparent;border-bottom-color:var(--quality-line)}.lib-tab{border-radius:8px 8px 0 0;color:var(--text-muted)}.lib-tab.active{background:var(--quality-accent-soft);color:var(--quality-accent);border-color:var(--quality-line)}.lib-card,.cc-box,.va-card,.ss-card,.mx-card,.ds-section,.info-section{border-color:var(--quality-line);background:#ffffff06;border-radius:8px}.lib-card:hover,.search-item:hover{background:var(--quality-hover);border-color:var(--quality-line-strong)}.lib-chip{border-radius:999px;background:#94a3b81c;border:1px solid transparent;color:var(--text-muted)}.lib-chip:hover,.lib-chip.active{background:var(--quality-accent-soft);border-color:#38bdf847;color:var(--quality-accent)}.chat-msg{border-radius:8px}.chat-msg--assistant{background:#ffffff09;border-color:var(--quality-line)}.chat-msg--user{background:var(--quality-accent);color:#04131d}.chat-input{background:var(--quality-surface-2);border-top-color:var(--quality-line)}.chat-input button,#chat-fab{background:var(--quality-accent);color:#04131d;box-shadow:0 12px 28px #0ea5e93d}.sticky-note.selected .note-card{outline-color:var(--quality-accent)}.toast{border-radius:8px;border:1px solid var(--quality-line);background:var(--quality-surface);box-shadow:0 18px 42px #0000004d}#pins-overlay .pin-marker{transition:opacity .14s ease,filter .14s ease}#pins-overlay .pin-marker path,#pins-overlay .pin-marker rect,#pins-overlay .pin-marker polygon,#pins-overlay .pin-marker circle{filter:drop-shadow(0 1px 2px rgba(0,0,0,.38))}#pins-overlay .pin-marker:hover,#pins-overlay .pin-marker.pin-pending{filter:drop-shadow(0 0 6px rgba(56,189,248,.36))}#svg-wrapper svg .pinhl:not(.cluster-selected):not([class*=cluster-hover-]){filter:drop-shadow(0 0 2px rgba(0,0,0,.65)) drop-shadow(0 0 5px rgba(255,255,255,.16));stroke-linecap:round;stroke-linejoin:round}#svg-wrapper svg .pinhl:hover{filter:drop-shadow(0 0 3px rgba(255,255,255,.55)) drop-shadow(0 0 8px currentColor)}.id-label{font-family:var(--mono);font-weight:800;letter-spacing:.2px;paint-order:stroke;stroke:#000000d1;stroke-width:.75px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.45))}.pending-banner,.pending-conf,.match-diag,.color-card{border-color:var(--quality-line);background:#ffffff09;box-shadow:inset 0 1px #ffffff08}.color-card{border-radius:9px}.color-card-head{border-bottom-color:var(--quality-line)}.color-swatch,.color-swatch-fixed{box-shadow:inset 0 0 0 1px #ffffff24,0 1px 2px #0003}.color-swatch--active{border-color:#fff;box-shadow:0 0 0 2px var(--quality-accent),0 0 0 5px var(--quality-accent-soft)}.pin-preview,.mark-compare .pin-preview{border-radius:8px;border:1px solid var(--quality-line);background:linear-gradient(180deg,#ffffff09,#ffffff04),var(--surface);box-shadow:inset 0 0 0 1px #ffffff06}.mark-title{color:var(--text);letter-spacing:0}.mark-reco,.mark-sug-note,.pin-find-result{color:var(--text-muted)}.mark-sug-id,.id-badge,.lib-code,.calib-id-ro{color:#facc15;text-shadow:0 1px 1px rgba(0,0,0,.35)}.lib-row-wrap{border-color:var(--quality-line);background:linear-gradient(180deg,#ffffff09,#ffffff03),#ffffff03;box-shadow:inset 0 1px #ffffff08}.lib-row-wrap:hover{background:linear-gradient(180deg,#38bdf813,#38bdf806),#ffffff05;border-color:#38bdf857;box-shadow:inset 0 1px #ffffff0a,0 10px 26px #0000002e}.lib-thumb,.va-thumb,.ss-card .va-thumb{border-color:var(--quality-line);background:radial-gradient(circle at 50% 42%,rgba(56,189,248,.08),transparent 55%),#02060c38;box-shadow:inset 0 0 0 1px #ffffff08}.lib-thumb--vec svg path{stroke:color-mix(in srgb,var(--thumb-stroke) 92%,#ffffff 8%)}.lib-label{color:var(--text);font-weight:650}.lib-meta :is(.lib-rect,.lib-protos,.lib-count,.lib-odd),.lib-badge,.panel-badge,.tb-badge{border-radius:999px;box-shadow:inset 0 1px #ffffff1a}.lib-actions{background:#0000001a;border-top-color:var(--quality-line)}.lib-base,.lib-audit,.lib-points,.lib-calib-toggle{border-color:var(--quality-line);background:#ffffff09;color:var(--text-muted)}.lib-base:hover,.lib-audit:hover,.lib-points:hover,.lib-calib-toggle:hover,.lib-calib-toggle.active{background:var(--quality-accent-soft);border-color:#38bdf859;color:var(--quality-accent)}.lib-calib{border-color:var(--quality-line);background:#ffffff06;box-shadow:inset 0 1px #ffffff06}.calib-proto{border-color:var(--quality-line);background:#ffffff06}.calib-row input[type=range]{accent-color:var(--quality-accent)}:root[data-theme=light] .lib-thumb,:root[data-theme=light] .va-thumb,:root[data-theme=light] .ss-card .va-thumb,:root[data-theme=light] .pin-preview,:root[data-theme=light] .mark-compare .pin-preview{background:radial-gradient(circle at 50% 42%,rgba(14,165,233,.1),transparent 55%),#f8fafc}.lib-dock .lib-row-wrap{padding:12px}.lib-dock .lib-row{display:grid;grid-template-columns:82px minmax(0,1fr) 24px;gap:12px;align-items:start}.lib-dock .lib-thumb{width:82px;height:82px;flex:0 0 82px;padding:8px;border-radius:8px}.lib-dock .lib-thumb svg{width:100%;height:100%}.lib-dock .lib-main-top{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px}.lib-dock .lib-code{width:fit-content}.lib-dock .lib-label{grid-column:1 / -1;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25}.lib-dock .lib-apply{grid-column:1 / -1;width:100%;min-width:0;min-height:36px;padding-inline:12px;border-color:#38bdf88c;background:linear-gradient(135deg,#0ea5e938,#3b82f629);color:#7dd3fc}.lib-dock .lib-apply:hover{border-color:#38bdf8;background:linear-gradient(135deg,#38bdf8,#3b82f6);color:#061018}.lib-dock .lib-apply.active{border-color:#22c55e;background:#22c55e2b;color:#86efac;box-shadow:0 0 0 2px #22c55e1f}.lib-use-count{padding:2px 7px;border:1px solid rgba(56,189,248,.26);border-radius:999px;background:#38bdf817;color:#7dd3fc;font-size:10px;font-weight:700}.lib-dock .lib-meta{margin-top:8px}@media (max-width: 460px){.lib-dock .lib-row{grid-template-columns:70px minmax(0,1fr) 24px}.lib-dock .lib-thumb{width:70px;height:70px;flex-basis:70px}}.toolbar.lite-view-mode #btn-note,.toolbar.lite-view-mode #btn-conn-menu,.toolbar.lite-view-mode #btn-edit-menu{visibility:hidden;pointer-events:none}.status-editmode{color:#f4c430;font-weight:600;white-space:nowrap}.status-editmode.status-edit--ready{color:#2ecc71}.tractian-band{display:flex;align-items:center;gap:8px}.tractian-ago{font-size:10px;font-weight:400;color:var(--text-muted, #8b949e);margin-left:auto}.tractian-refresh{background:none;border:none;color:var(--accent-2, #4cc9f0);cursor:pointer;font-size:13px;padding:2px 6px;border-radius:4px;transition:background .15s;flex-shrink:0}.tractian-refresh:hover{background:var(--surface-2, #1c2128)}.tractian-refresh:disabled{opacity:.5;cursor:default}.tractian-status-value{font-weight:700;font-size:14px}.tractian-empty{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 16px}.tractian-retry{background:var(--surface-2, #1c2128);border:1px solid var(--border, #30363d);color:var(--accent-2, #4cc9f0);border-radius:6px;padding:4px 10px;cursor:pointer;font-size:12px;transition:background .15s,border-color .15s}.tractian-retry:hover{background:var(--surface, #161b22);border-color:var(--accent-2, #4cc9f0)}.tractian-wo{margin:6px 0}.tractian-wo summary{cursor:pointer;font-weight:600;font-size:13px;padding:6px 16px;background:var(--surface-2, #1c2128);border-radius:6px;transition:background .15s}.tractian-wo summary:hover{background:var(--surface-3, #21262d)}.wo-row{padding:8px 16px;border-bottom:1px solid var(--border, #30363d)}.wo-row:last-child{border-bottom:none}.wo-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.wo-num{font-family:var(--mono, monospace);font-weight:700;font-size:12px;padding:1px 6px;border-radius:4px;background:var(--surface-3, #21262d)}.wo-num.wo-ok{background:#46d17a26;color:#46d17a}.wo-num.wo-warn{background:#f5c45126;color:#f5c451}.wo-num.wo-bad{background:#e9456026;color:#e94560}.wo-status{font-size:11px;color:var(--text-muted, #8b949e)}.wo-priority{font-size:10px;color:var(--text-muted, #8b949e);margin-left:auto}.wo-title{font-size:12px;font-weight:500;color:var(--text, #e6edf3);margin-bottom:2px}.wo-desc{font-size:11.5px;color:var(--text-muted, #8b949e);margin-bottom:4px}.wo-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:10.5px;color:var(--text-muted, #8b949e)}.tractian-none{padding:8px 16px;font-size:12px;color:var(--text-muted, #8b949e);font-style:italic}.tractian-raw{margin:6px 0}.tractian-raw summary{cursor:pointer;font-weight:600;font-size:13px;padding:6px 16px;background:var(--surface-2, #1c2128);border-radius:6px;transition:background .15s}.tractian-raw summary:hover{background:var(--surface-3, #21262d)}.tractian-raw-grid{padding:4px 16px}
