.saveas-body{display:flex;flex-direction:column;gap:6px;padding:12px}.saveas-body label{display:flex;flex-direction:column;gap:4px}.saveas-body input{font:inherit;padding:6px 8px;border:1px solid var(--line);border-radius:4px}.saveas-body small{color:var(--muted, #667);min-height:1.2em}.drop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#0a101766;display:flex;align-items:center;justify-content:center;pointer-events:none}.drop-box{border:3px dashed var(--accent, #4a90e2);border-radius:12px;background:var(--panel);padding:32px 48px;display:flex;flex-direction:column;gap:6px;align-items:center}.recent-block{padding:8px 8px 0;display:flex;flex-wrap:wrap;gap:6px}.recent-block h4{margin:0;flex:0 0 100%;font-size:12px;opacity:.7;font-weight:600}.recent-row{display:flex;flex-direction:column;gap:4px;width:112px;text-align:left;border:1px solid var(--line-soft);background:var(--panel-2);color:inherit;font:inherit;padding:5px;border-radius:6px;cursor:pointer}.recent-row:hover{border-color:var(--accent)}.recent-row .rthumb{width:100%;height:58px;object-fit:contain;background:#e9edf3;border-radius:4px}.recent-row .rtxt{display:flex;flex-direction:column;min-width:0}.recent-row .rn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.recent-row .rm{opacity:.6;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thumb-fallback{display:flex;align-items:center;justify-content:center;background:#e9edf3;color:#5b6578;border-radius:4px}.recent-row .thumb-fallback{width:100%;height:58px}.dlg-item .thumb-fallback{width:100%;height:96px}.recover-list{max-height:50vh;overflow:auto;display:grid;gap:6px}.recover-row{display:flex;align-items:center;justify-content:space-between;gap:12px}:root{--accent: #0b74dc;--accent-soft: #e2f0fe;--bg: #eef0f3;--panel: #ffffff;--panel-2: #f6f7f9;--line: #d5d9e0;--line-soft: #e6e9ee;--text: #1c2129;--text-2: #5b6573;--title: #0a1017;--title-text: #e9ecf1;--ok: #2da44e;--warn: #b58100;--err: #d1242f;--vp-top: #cfd8e4;--vp-bottom: #fbfcfd;--chip: #dbe3e6;--glass-rgb: 255, 255, 255;--alpha: .62;--blur: 14px;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:13px;color:var(--text)}:root[data-theme=dark]{--accent: #4da3ff;--accent-soft: #16304d;--bg: #0e1318;--panel: #151b22;--panel-2: #1a222b;--line: #2a343f;--line-soft: #212a33;--text: #e3e8ee;--text-2: #96a3b2;--title: #070a0e;--title-text: #e9ecf1;--ok: #3fb968;--warn: #e0b341;--err: #ff6b6b;--vp-top: #1d2630;--vp-bottom: #121a21;--chip: #232d37;--glass-rgb: 21, 27, 34;color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){--accent: #4da3ff;--accent-soft: #16304d;--bg: #0e1318;--panel: #151b22;--panel-2: #1a222b;--line: #2a343f;--line-soft: #212a33;--text: #e3e8ee;--text-2: #96a3b2;--title: #070a0e;--title-text: #e9ecf1;--ok: #3fb968;--warn: #e0b341;--err: #ff6b6b;--vp-top: #1d2630;--vp-bottom: #121a21;--chip: #232d37;--glass-rgb: 21, 27, 34;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg);overflow:hidden}#app{display:grid;height:100%;--lw: 0px;--rw: 0px;grid-template-columns:var(--lw) minmax(0,1fr) var(--rw);grid-template-rows:auto auto minmax(0,1fr) auto auto;grid-template-areas:"top top top" "rib rib rib" "left vp right" "drawer drawer drawer" "status status status"}#app[data-left=docked]{--lw: clamp(200px, var(--lw-user, 280px), min(60vw, calc(100vw - var(--rw) - 320px)))}#app[data-right=docked]{--rw: clamp(200px, var(--rw-user, 280px), 60vw)}.topbar{grid-area:top;display:flex;gap:8px;align-items:center;padding:6px 10px;background:var(--title);color:var(--title-text)}.topbar .doc-name{margin-right:auto;margin-left:6px;font-weight:600}.topbar .rb-btn{background:#ffffff14;color:var(--title-text);border-color:#ffffff2a}.topbar .rb-btn:disabled{opacity:.4}.search-btn{display:flex;gap:8px;align-items:center;min-width:220px;justify-content:space-between;background:#ffffff14;color:var(--title-text);border:1px solid #ffffff2a;border-radius:8px;padding:5px 10px;cursor:pointer;font:inherit}kbd{font:11px ui-monospace,monospace;border:1px solid var(--line);border-radius:4px;padding:0 5px}.search-btn kbd{border-color:#fff4}.ribbon-wrap{grid-area:rib;background:var(--panel);border-bottom:1px solid var(--line)}.ribbon-wrap.compact .rb-btn{padding:3px 8px;font-size:12px}.tree-wrap.docked{grid-area:left;background:var(--panel);border-right:1px solid var(--line);overflow:auto;min-height:0}.insp-wrap.docked{grid-area:right;background:var(--panel);border-left:1px solid var(--line);overflow:auto;padding:8px;min-height:0}#vp{grid-area:vp;overflow:clip;position:relative;min-width:0;min-height:0;background:linear-gradient(var(--vp-top),var(--vp-bottom))}#vp canvas{display:block}.floating{position:absolute;z-index:3;background:rgba(var(--glass-rgb),var(--alpha));backdrop-filter:blur(var(--blur)) saturate(1.2);-webkit-backdrop-filter:blur(var(--blur)) saturate(1.2);outline:1px solid var(--line);outline-offset:-1px;border-radius:12px;box-shadow:0 10px 30px #0003;overflow:auto}.tree-wrap.floating{left:12px;top:12px;width:var(--fw, 264px);height:var(--fh, calc(100% - 24px) );max-width:calc(100% - 24px);max-height:calc(100% - 24px)}.insp-wrap.floating{right:12px;top:12px;width:260px;padding:8px;max-height:70%}.selmodes{position:absolute;left:50%;transform:translate(-50%);top:12px;z-index:4;display:flex;gap:2px;padding:4px;border-radius:12px;background:rgba(var(--glass-rgb),var(--alpha));backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur));outline:1px solid var(--line);outline-offset:-1px}.selmodes button{display:flex;gap:6px;align-items:center;border:0;border-radius:8px;padding:5px 10px;background:none;color:var(--text);cursor:pointer;font:inherit}.selmodes button[aria-pressed=true]{background:var(--accent);color:#fff}.selmodes kbd{background:transparent;border-color:currentColor;opacity:.7}.empty{color:var(--text-2);padding:12px}.ptabs{display:flex;gap:2px;padding:8px;justify-content:space-between}.ptabs .pt{flex:1;border:0;border-radius:8px;padding:7px 5px;min-width:0;flex:0 1 auto;background:none;color:var(--text-2);cursor:pointer;font:600 10px system-ui;text-transform:uppercase;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ptabs .pt[aria-selected=true]{background:var(--chip);color:var(--text)}.ptabs .pt{display:inline-flex;align-items:center;justify-content:center;gap:6px}.ptabs .pt:hover{color:var(--text)}.ptabs .pt-label{white-space:nowrap}.grp{padding:8px 12px 2px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}.ribbon{display:flex;flex-direction:column}.rb-tabs{display:flex;gap:2px;padding:4px 8px 0;background:var(--title)}.rb-tab{border:0;background:none;color:var(--title-text);padding:6px 12px;cursor:pointer;font:inherit;border-radius:4px 4px 0 0;opacity:.75}.rb-tab.on{background:var(--panel);color:var(--text);opacity:1}.rb-btn{border:1px solid var(--line);background:var(--panel-2);border-radius:4px;padding:6px 10px;cursor:pointer;font:inherit;color:inherit}.rb-btn:hover:not(:disabled){border-color:var(--accent)}.rb-btn:disabled{opacity:.4;cursor:default}.tree .row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:0 10px 0 12px;min-height:34px;cursor:pointer;position:relative}.tree .row:hover,.outliner .row:hover{background:var(--panel-2)}.tree .row.sel,.outliner .row.sel{background:var(--accent-soft)}.tree .row.sel:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.outliner .row{display:flex;gap:6px;padding:4px 12px;cursor:pointer}.tree .row.err{color:var(--err)}.tree .row.suppressed .row-name,.tree .row.suppressed .row-icon{opacity:.4}.tree .row.suppressed .row-name{font-style:italic}.tree-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:1}.tree-part{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-count{color:var(--text-2);font-size:12px}.tree-bad{background:var(--err);color:#fff;border-radius:9px;padding:0 6px;font-size:11px;line-height:17px}.row-icon{flex:none;color:var(--text)}.tree .row.err .row-icon{color:var(--err)}.row-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-type{color:var(--text-2);font-size:12px;flex:none}.row-note{color:var(--text-2);font-size:11px;font-style:italic;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-id{color:var(--text-2);font-size:11px;font-variant-numeric:tabular-nums;flex:none;min-width:22px;text-align:right}.row-actions{display:flex;gap:0;flex:none;margin-right:-4px}.row-act{width:24px;height:24px;display:grid;place-items:center;border:0;border-radius:5px;background:none;color:var(--text-2);cursor:pointer;padding:0;opacity:0}.tree .row:hover .row-act,.tree .row.sel .row-act,.tree .row.suppressed .row-sup,.row-act:focus-visible{opacity:1}.row-act:hover{background:var(--chip);color:var(--text)}.row-del:hover{color:var(--err)}.row-hint{color:var(--err);font-size:11px;order:99;flex:1 0 100%;padding:0 0 6px 26px;line-height:1.35}.insp .fld{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:center;margin-bottom:6px}.insp input,.insp select{font:inherit;padding:3px 6px;border:1px solid var(--line);border-radius:4px;min-width:0}.fedit{display:flex;flex-direction:column;outline:none}.fedit.empty{color:var(--text-2);padding:12px}.fedit-head{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--panel-2);position:sticky;top:0;z-index:1}.fedit-icon{flex:none}.fedit-title{flex:1;min-width:0;font-weight:600;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fedit-confirm,.fedit-cancel{width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:6px;background:none;cursor:pointer;padding:0}.fedit-confirm{color:var(--ok, #1f9d55)}.fedit-cancel{color:var(--err)}.fedit-confirm:hover{background:var(--accent-soft)}.fedit-cancel:hover{background:var(--chip)}.fedit-sec{border-bottom:1px solid var(--line);padding:0 12px 10px}.fedit-sec-head{display:flex;align-items:center;gap:6px;min-height:34px;padding:0;cursor:pointer;-webkit-user-select:none;user-select:none}.fedit-sec-head:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:4px}.fedit-sec-sum{flex:0 1 auto;min-width:0;color:var(--text-2);font-size:11px;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fedit-sec-title{flex:1 0 auto;font-weight:600;font-size:13px}.fedit-chev{color:var(--text-2);transform:rotate(90deg);transition:transform .12s}.fedit-sec.closed .fedit-chev{transform:none}.fedit-sec-fields{display:flex;flex-direction:column;gap:8px}.fedit-fld{display:grid;grid-template-columns:minmax(90px,38%) minmax(0,1fr);gap:8px;align-items:center}.fedit-fld.ref{grid-template-columns:1fr;gap:4px}.fedit-fld.bool{grid-template-columns:auto minmax(0,1fr);justify-content:start;align-items:start;gap:8px}.fedit-fld.bool input{margin:2px 0 0}.fedit-fld.bool.strong .fedit-fld-label{font-weight:600}.fedit-check-text{display:flex;flex-direction:column;gap:1px;min-width:0}.fedit-sub{color:var(--text-2);font-size:11px;line-height:1.35;font-variant-numeric:tabular-nums}.fedit-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.fedit-inline{flex:1 1 90px;min-width:90px}.fedit-note{padding-left:0}.fedit-fld-label{color:var(--text-2);font-size:13px;min-width:0;overflow-wrap:anywhere}.fedit-fld.bool .fedit-fld-label{color:var(--text)}.fedit-fld.picking{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.fedit-fld input[type=text],.fedit-fld input[type=number],.fedit-fld select{font:inherit;padding:5px 8px;border:1px solid var(--line);border-radius:6px;min-width:0;width:100%;background:var(--panel);color:inherit;box-sizing:border-box;text-overflow:ellipsis}.fedit-fld input:focus,.fedit-fld select:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.fedit-fld.missing{background:var(--err-soft, rgba(220, 38, 38, .08));border-radius:6px;padding:6px;margin:-6px;box-shadow:inset 0 0 0 1.5px var(--err)}.fedit-num{display:flex;align-items:center;gap:6px}.fedit-unit{color:var(--text-2);font-size:12px;flex:none}.fedit-ref{display:flex;gap:6px;align-items:center}.fedit-pick{border:1px solid var(--line);background:var(--chip);border-radius:6px;padding:4px 8px;cursor:pointer;font:inherit;font-size:12px;flex:none;color:inherit}.fedit-pick.on{background:var(--accent);color:#fff;border-color:var(--accent)}.fedit-hint{color:var(--err);font-size:12px;padding:10px 12px}.status-wrap{grid-area:status;background:var(--panel-2);border-top:1px solid var(--line);padding:5px 12px}.status{display:flex;gap:16px;align-items:center;overflow-x:auto;white-space:nowrap}.status .ready{display:inline-flex;gap:6px;align-items:center;font-weight:600}.status .dot{width:8px;height:8px;border-radius:50%;background:var(--ok)}.status .sp{margin-left:auto}.status .st-item b{font:500 12.5px ui-monospace,monospace}.status .st-item b.ok{color:var(--ok)}.status .st-item b.err{color:var(--err)}.status .st-item b.warn{color:var(--warn)}.status .st-drawer{font:inherit;font-size:12px;color:var(--text-2);background:none;border:1px solid var(--line);border-radius:6px;padding:1px 8px;cursor:pointer}.status .st-drawer[aria-pressed=true]{border-color:var(--accent);color:var(--text)}.st-busy{color:var(--warn);font-weight:600}.st-hover{color:var(--text-2)}.st-notice.error{color:var(--err)}.st-notice.warn{color:var(--warn)}.drawer{grid-area:drawer;background:var(--panel);border-top:1px solid var(--line);height:var(--dh, clamp(80px, var(--dh-user, 210px), 70vh));display:flex;flex-direction:column;min-height:0}.dtabs{display:flex;align-items:center;gap:2px;padding:0 10px;border-bottom:1px solid var(--line);overflow-x:auto;flex:none}.dtab{font:inherit;color:var(--text-2);background:none;border:0;border-bottom:2px solid transparent;padding:8px 12px;cursor:pointer;white-space:nowrap}.dtab[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.dtab .n{font-size:11px;background:var(--chip);border-radius:9px;padding:0 6px;margin-left:5px}.dtab .n.bad{background:var(--err);color:#fff}.dtools{margin-left:auto;padding-left:10px}.dbody{flex:1;min-height:0;overflow:auto;padding:8px 12px}.btn{font:inherit;font-size:12px;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:7px;padding:3px 9px;cursor:pointer}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:disabled{opacity:.4;cursor:default}.fchips{display:flex;gap:6px;align-items:center;margin-bottom:8px;flex-wrap:wrap}.fchips .btn[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.hlog{display:flex;flex-direction:column;gap:2px;max-width:760px}.he{display:grid;grid-template-columns:22px 1fr;gap:10px;padding:7px 8px;border-radius:9px;cursor:pointer;border:1px solid transparent}.he:hover{background:#7f96a022}.he.after{opacity:.42}.he.fail{background:#c0392b14;border-color:#c0392b55}.he .av{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:600;color:#fff}.he .av.you{background:#51636d}.he .av.agent{background:#3b6fb0}.he .hd{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.he .hd span{font-size:11px;color:var(--text-2)}.he .why,.why{color:var(--text-2);font-style:italic;margin:1px 0}.chipx{display:inline-block;font:11px ui-monospace,monospace;background:var(--chip);border-radius:6px;padding:1px 6px;margin:3px 4px 0 0}.chipx.bad{background:#c0392b33;color:var(--err)}.he details{margin-top:2px;font-size:12px;color:var(--text-2)}.he summary{cursor:pointer}.here-line{display:flex;align-items:center;gap:8px;margin:4px 0;color:var(--accent);font-size:12px;font-weight:600}.here-line:before,.here-line:after{content:"";height:1px;background:var(--accent);flex:1;opacity:.7}.issue{padding:6px 0;border-bottom:1px solid var(--line)}.log{font:12px/1.7 ui-monospace,monospace;margin:0}.pal-back,.dlg-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a101788;display:flex;justify-content:center;z-index:50}.pal-back{align-items:flex-start;padding-top:12vh}.dlg-back{align-items:center}.pal{width:min(480px,92%);background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px #0006;overflow:hidden;max-height:70vh;display:flex;flex-direction:column}.pal input{width:100%;font:inherit;font-size:15px;color:var(--text);background:transparent;border:0;border-bottom:1px solid var(--line);padding:12px 14px}.pal input:focus{outline:0}.pgrid{display:flex;flex-wrap:wrap;gap:4px;padding:8px 10px 4px;border-bottom:1px solid var(--line)}.pgrid button{min-width:34px;height:30px;border:0;border-radius:7px;background:var(--panel-2);color:var(--text-2);cursor:pointer;font:inherit;font-size:12px;padding:0 8px}.pgrid button:hover{background:var(--accent-soft);color:var(--text)}.plbl{padding:6px 14px 2px;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}.plist{overflow:auto}.pal .it{display:flex;align-items:center;gap:10px;padding:8px 14px;cursor:pointer}.pal .it span:first-child{flex:1}.pal .it.on,.pal .it:hover{background:var(--accent-soft)}.pal .it.dis{opacity:.45}.pal .grp-tag{color:var(--text-2);font-size:11px}.dlg{background:var(--panel);width:min(640px,94vw);height:min(560px,86vh);border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.dlg.set-dlg{height:auto;max-height:86vh}.dlg-head{display:flex;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);align-items:center}.dlg-head input{flex:1;font:inherit;padding:6px 8px;border:1px solid var(--line);border-radius:4px}.dlg-head b{flex:1}.dlg-list{overflow:auto;padding:8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;align-content:start}.dlg-item{text-align:left;border:1px solid var(--line-soft);background:var(--panel-2);border-radius:6px;padding:6px;cursor:pointer;font:inherit;color:inherit;display:flex;flex-direction:column;gap:4px}.dlg-item img{width:100%;height:96px;object-fit:contain;background:#e9edf3;border-radius:4px}.set-tabs{display:flex;gap:2px;padding:6px 10px 0;border-bottom:1px solid var(--line)}.set-tab{font:inherit;padding:6px 12px;border:0;border-bottom:2px solid transparent;background:none;color:var(--text-2);cursor:pointer;border-radius:6px 6px 0 0}.set-tab:hover{color:var(--text);background:var(--panel-2)}.set-tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.dlg.set-dlg .set-body{min-height:300px}.set-body{padding:10px 14px;overflow:auto;display:flex;flex-direction:column;gap:10px}.set-row{display:flex;gap:10px;align-items:center;justify-content:space-between}.set-row select{font:inherit;padding:4px 6px;border:1px solid var(--line);border-radius:6px}#vp-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5}.busy-overlay{position:absolute;top:14px;left:50%;transform:translate(-50%);display:flex;gap:10px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:8px 10px 8px 14px;box-shadow:0 4px 18px #0003;pointer-events:auto}.busy-spin{width:16px;height:16px;border-radius:50%;border:2px solid var(--accent-soft);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.busy-cancel{border:1px solid var(--line);background:var(--panel-2);border-radius:14px;padding:4px 12px;cursor:pointer;font:inherit;color:inherit}.toast{position:absolute;bottom:18px;left:50%;transform:translate(-50%);display:flex;gap:8px;align-items:center;background:#1c2129;color:#fff;border-radius:8px;padding:10px 16px;box-shadow:0 4px 18px #0004;max-width:80%}.toast-icon{color:var(--ok);font-weight:700}.toast.warn .toast-icon{color:#f0b429}.toast.error .toast-icon{color:#ff6b6b}@media(max-width:760px){#app,#app[data-left=docked],#app[data-right=docked]{--lw: 0px;--rw: 0px;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto auto auto;grid-template-areas:"top" "rib" "vp" "left" "drawer" "status"}.tree-wrap.docked{grid-area:left;max-height:26vh;border:0;border-top:1px solid var(--line)}.insp-wrap.docked{display:none}.topbar{flex-wrap:wrap;gap:6px}.topbar .doc-name{min-width:0;max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-btn{min-width:0;flex:1 1 120px}.search-btn kbd{display:none}.drawer{height:22vh}.status{overflow:hidden;white-space:nowrap}}.display-menu{position:absolute;top:12px;right:12px;z-index:6}.display-btn{display:flex;gap:6px;align-items:center;border:0;border-radius:10px;padding:7px 11px;cursor:pointer;font:inherit;color:var(--text);background:rgba(var(--glass-rgb),var(--alpha));backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur));outline:1px solid var(--line);outline-offset:-1px}.display-btn:hover,.display-btn[aria-expanded=true]{outline-color:var(--accent)}.display-pop{position:absolute;top:calc(100% + 6px);right:0;min-width:170px;padding:6px;border-radius:10px;display:flex;flex-direction:column;background:rgba(var(--glass-rgb),max(var(--alpha),.85));backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur));outline:1px solid var(--line);outline-offset:-1px;box-shadow:0 10px 30px #0003}.display-row{display:flex;gap:8px;align-items:center;padding:6px 8px;border-radius:6px;cursor:pointer}.display-row:hover{background:var(--accent-soft)}.sketch-tools{position:absolute;left:76px;right:12px;top:54px;z-index:5;display:flex;gap:10px;overflow-x:auto;padding:4px 6px;border-radius:10px;background:rgba(var(--glass-rgb),max(var(--alpha),.85));-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));outline:1px solid var(--line);outline-offset:-1px}.sgroup{display:flex;gap:2px;align-items:center;padding-left:10px;border-left:1px solid var(--line)}.sgroup-name{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);margin-right:4px}.stool{font:inherit;font-size:12px;white-space:nowrap;padding:4px 8px;border:0;border-radius:6px;background:none;color:var(--text);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.stool.icon-only{width:34px;height:34px;padding:0;justify-content:center;flex:none}.sketch-tools.icons-only{gap:6px;scrollbar-width:thin}.sketch-tools.icons-only .sgroup{gap:2px;padding-left:6px}.sketch-tools .sgroup,.stool{flex:none}.stool:hover{background:var(--accent-soft)}.stool[aria-pressed=true]{background:var(--accent);color:#fff}.stool[aria-pressed=true] .icon{--accent: currentColor}.stool:focus-visible,.tool-rail button:focus-visible,.selmodes button:focus-visible,.rb-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sketch-tools.icons-only .stool[aria-pressed=true]{box-shadow:inset 0 0 0 2px #fff6}.icon{flex:none;display:block}.rb-btn{display:inline-flex;align-items:center;gap:6px}.rb-btn.icon-only{width:34px;height:34px;padding:0;justify-content:center}.rb-btn[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.selmodes button svg{flex:none}.tip{position:fixed;z-index:1000;left:0;top:0;display:flex;gap:8px;align-items:center;flex-wrap:wrap;max-width:260px;padding:4px 8px;border-radius:6px;pointer-events:none;font:500 12px/1.3 system-ui,sans-serif;color:var(--title-text, #e9ecf1);background:var(--title, #0a1017);box-shadow:0 4px 14px #0005;outline:1px solid #ffffff22;outline-offset:-1px}.tip-hint{flex-basis:100%;font-size:11px;font-weight:400;opacity:.78}.tip-key{font:600 10px ui-monospace,monospace;padding:0 4px;border:1px solid #ffffff55;border-radius:3px;color:inherit;opacity:.85}.sketch-fields{position:absolute;z-index:6;display:flex;gap:6px;padding:4px 6px;border-radius:8px;background:var(--panel);outline:1px solid var(--line);box-shadow:0 4px 14px #0004;pointer-events:auto}.sketch-fields label{display:flex;gap:4px;align-items:center;font:11px ui-monospace,monospace;color:var(--text-2);text-transform:uppercase}.sketch-fields input{width:64px;font:13px ui-monospace,monospace;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:2px 5px}.sketch-fields label.locked input{border-color:var(--accent);background:var(--accent-soft)}.sketch-pending{position:absolute;z-index:6;font:600 11px system-ui;color:#e0a030;pointer-events:none}.sketch-pending.model{color:#30c0d8}.sketch-annots{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4;overflow:hidden}.annot{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;font:600 11px ui-monospace,monospace;border-radius:4px;padding:1px 5px;white-space:nowrap}.annot.dimension{background:var(--panel);color:var(--accent);outline:1px solid var(--accent);cursor:text}.annot.mark{background:var(--panel-2);color:var(--text-2);outline:1px solid var(--line);min-width:15px;text-align:center;pointer-events:none}.annot.hot{background:var(--accent);color:#fff;outline-color:var(--accent);z-index:1}.sketch-cons{width:236px;max-height:min(60vh,420px);overflow:auto;border-radius:10px;padding:8px;background:rgba(var(--glass-rgb),max(var(--alpha),.88));-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));outline:1px solid var(--line);outline-offset:-1px;font-size:12px}.sketch-cons header{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:6px}.sketch-cons ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.sketch-cons li{display:flex;gap:6px;align-items:center;padding:2px 4px;border-radius:5px}.sketch-cons li.hot,.sketch-cons li:hover{background:var(--accent-soft)}.sketch-cons .ctype{font-weight:600}.sketch-cons .crefs{color:var(--text-2);font:11px ui-monospace,monospace;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sketch-cons .cval{font:600 11px ui-monospace,monospace;color:var(--accent)}.sketch-cons .cdel{border:0;background:none;color:var(--text-2);cursor:pointer;font-size:14px;line-height:1;padding:0 3px;border-radius:4px}.sketch-cons .cdel:hover{color:var(--err);background:var(--panel-2)}.sketch-cons .none{color:var(--text-2);margin:4px 2px}.chip{font-size:11px;font-weight:600;padding:1px 7px;border-radius:10px;background:var(--panel-2);color:var(--text-2)}.chip.ok{color:var(--ok)}.chip.warn{color:var(--warn)}.chip.bad{color:var(--err)}.sketch-tip{position:absolute;z-index:6;pointer-events:none;font:12px system-ui;padding:3px 8px;border-radius:6px;background:var(--panel);color:var(--text);outline:1px solid var(--line);box-shadow:0 2px 8px #0003;white-space:nowrap}.face-sketch-chip{position:absolute;top:52px;left:50%;transform:translate(-50%);z-index:6;font:inherit;padding:5px 12px;border-radius:16px;border:0;cursor:pointer;background:var(--accent);color:#fff;box-shadow:0 3px 12px #0004}.set-section{border-top:1px solid var(--line);margin-top:6px;padding-top:8px;display:flex;flex-direction:column;gap:6px}.set-head{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}.sketch-palette{position:absolute;right:12px;top:176px;z-index:5;width:92px;max-height:calc(100% - 192px);overflow-y:auto;scrollbar-width:thin;padding:6px;border-radius:12px;display:flex;flex-direction:column;gap:6px;background:rgba(var(--glass-rgb),max(var(--alpha),.88));-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));outline:1px solid var(--line);outline-offset:-1px}.spal-group{display:flex;flex-direction:column;gap:3px;padding-top:5px;border-top:1px solid var(--line)}.spal-group:first-child{border-top:0;padding-top:0}.spal-name{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);padding-left:2px}.spal-grid{display:grid;grid-template-columns:repeat(2,38px);gap:2px}.cube-tools{display:flex;gap:6px;position:absolute;top:54px;right:130px;z-index:4}.cube-tools button{width:32px;height:32px;border:0;border-radius:8px;cursor:pointer;background:rgba(var(--glass-rgb),max(var(--alpha),.88));color:var(--text-2);outline:1px solid var(--line);outline-offset:-1px}.cube-tools button:hover{background:var(--accent-soft);color:var(--text)}.topbar .tb-icon{width:32px;height:30px;padding:0;display:grid;place-items:center}.sketch-status{font-size:11px;font-weight:600;color:var(--text-2);padding:1px 8px;border-radius:10px;background:var(--panel-2)}#app[data-lcol=true] .tree-wrap{display:none}#app[data-lcol=true][data-left=docked]{--lw: 0px}#app[data-left=floating][data-lcol=false] .tool-rail{left:calc(var(--fw, 264px) + 20px)}#app,#app *{-webkit-user-select:none;user-select:none}#app input,#app textarea,#app select,#app [contenteditable],#app .selectable,#app .he,#app .toast{-webkit-user-select:text;user-select:text}canvas{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.cube-tools button.on{background:var(--accent-soft);color:var(--accent)}.tree .row.ref .row-name{flex:1}.tree .row.info{cursor:default;color:var(--text-2)}.tree .row.info:hover{background:none}.start-card{position:absolute;left:50%;bottom:52px;transform:translate(-50%);z-index:4;display:flex;flex-direction:column;gap:8px;align-items:center;padding:14px 18px;border-radius:14px;max-width:min(520px,92%);background:rgba(var(--glass-rgb),max(var(--alpha),.9));-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));outline:1px solid var(--line);outline-offset:-1px;text-align:center}.start-card b{font-size:15px}.start-card>span{color:var(--text-2);font-size:13px}.start-planes{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.start-planes .rb-btn{display:inline-flex;align-items:center;gap:6px}.start-planes .rb-btn.on{border-color:var(--accent);background:var(--accent-soft)}.start-or{font-size:12px!important}.tree .row{padding-left:6px}.row-chev,.row-chev-space{width:16px;height:16px;flex:none;display:grid;place-items:center;border:0;padding:0;background:none;color:var(--text-2);cursor:pointer;border-radius:4px}.row-chev svg{transform:rotate(90deg);transition:transform .12s}.row-chev[aria-expanded=false] svg{transform:none}.row-chev:hover{background:var(--chip)}.tree .row.child{padding-left:28px;min-height:30px;font-size:13px}.tree .row.child:after{content:"";position:absolute;left:14px;top:0;bottom:50%;width:10px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);border-bottom-left-radius:5px;pointer-events:none}.fedit-shapes{gap:4px}.fedit-shapes-note{color:var(--text-2);font-size:12px;padding-bottom:4px}.fedit-shape:hover{background:var(--accent-soft);border-radius:6px}.discard-dlg{width:min(420px,92vw);height:auto}.discard-body{padding:14px 16px}.discard-actions{display:flex;gap:8px;justify-content:flex-end;padding:0 16px 14px}.doc-dirty{color:var(--accent)}.hole-dia{font-variant-numeric:tabular-nums;padding:5px 0}.hole-thread-slot,.hole-thread,.hole-thread-opts{display:flex;flex-direction:column;gap:8px;min-width:0}.export-menu{position:relative;display:inline-flex}.export-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:30;min-width:220px;padding:6px;border-radius:10px;display:flex;flex-direction:column;background:var(--panel);color:var(--text);outline:1px solid var(--line);outline-offset:-1px;box-shadow:0 10px 30px #0004}.export-row{display:flex;gap:10px;align-items:center;padding:7px 8px;border:0;border-radius:6px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.export-row:hover:not(:disabled){background:var(--accent-soft)}.export-row:disabled{opacity:.4;cursor:default}.status .st-chip{font:inherit;color:inherit;background:none;border:0;padding:0 4px;border-radius:5px;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.status .st-chip:hover{background:var(--accent-soft)}.status .st-chip.dim{opacity:.55}.dcheck{display:flex;flex-direction:column;gap:8px}.dcheck.stale .dcheck-group{opacity:.5}.dcheck-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.dcheck-pick{display:flex;align-items:center;gap:6px;color:var(--text-2)}.dcheck select,.dcheck input[type=number]{font:inherit;padding:3px 6px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:inherit;min-width:0}.dcheck input[type=number]{width:72px}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.dcheck-flag{display:flex;align-items:center;gap:5px;cursor:pointer}.dcheck-rules summary{cursor:pointer;color:var(--text-2);-webkit-user-select:none;user-select:none;padding:2px 0}.dcheck-rule{padding:6px 0;border-bottom:1px solid var(--line-soft)}.dcheck-rule.off b{color:var(--text-2);font-weight:500}.dcheck-rule-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.dcheck-param{display:grid;grid-template-columns:minmax(70px,30%) 1fr;gap:8px;align-items:center;padding:3px 0 0 10px;color:var(--text-2)}.dcheck-vals{display:flex;align-items:center;gap:4px}.dcheck-unit{font-size:12px}.dcheck-note{color:var(--warn);font-size:12px}.dcheck-clean{color:var(--ok)}.dcheck-group h4{margin:4px 0;font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px}.dcheck-group h4 .sw{width:10px;height:10px;border-radius:3px;display:inline-block}.dcheck-group h4 .n{font-size:11px;background:var(--chip);border-radius:9px;padding:0 6px;font-weight:500}.dcheck-issue{display:grid;grid-template-columns:minmax(120px,22%) 1fr auto;gap:10px;align-items:baseline;width:100%;text-align:left;font:inherit;color:inherit;background:none;border:0;border-bottom:1px solid var(--line-soft);padding:5px 4px;cursor:pointer}.dcheck-issue:hover:not(:disabled),.dcheck-issue:focus-visible{background:var(--accent-soft);outline:none}.dcheck-issue:disabled{cursor:default}.dcheck-issue .rule{font-weight:600}.dcheck-issue .val{font:500 12px ui-monospace,monospace;color:var(--text-2);white-space:nowrap}.display-pop{max-height:calc(100vh - 120px);overflow-y:auto}.display-head{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);padding:8px 8px 2px}.display-field{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:3px 8px}.display-field select,.display-field input[type=range]{max-width:140px;font:inherit;color:var(--text);background:var(--panel, transparent);border:1px solid var(--line);border-radius:6px}.swatches{display:flex;flex-wrap:wrap;gap:6px;padding:4px 8px}.swatch{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);cursor:pointer;padding:0}.swatch.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.display-showall{margin:6px 8px 0}.ref-chip{display:inline-block;width:10px;height:10px;border-radius:50%;border:1px solid var(--line);margin-left:6px;vertical-align:middle}.ctx-menu{position:fixed;z-index:30;min-width:190px;padding:5px;border-radius:10px;display:flex;flex-direction:column;outline:none;background:rgba(var(--glass-rgb),max(var(--alpha),.92));backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur));outline:1px solid var(--line);outline-offset:-1px;box-shadow:0 12px 34px #0004}.ctx-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:6px 9px;border-radius:6px;cursor:pointer;color:var(--text)}.ctx-row kbd{color:var(--text-2);font:inherit;font-size:11px}.ctx-row.on{background:var(--accent-soft)}.ctx-row.off{color:var(--text-2);opacity:.6;cursor:default}.ctx-sep{height:1px;margin:4px 6px;background:var(--line-soft)}.ctx-hint,.ctx-empty{padding:6px 9px 3px;color:var(--text-2);font-size:11.5px;border-top:1px solid var(--line-soft);margin-top:4px}.ctx-empty{border-top:0;margin-top:0}.vp-handle-readout{background:rgba(var(--glass-rgb),.95)!important;color:var(--text)!important;border-color:var(--accent)!important}.handle-hint{position:absolute;left:50%;bottom:14px;transform:translate(-50%);z-index:6;padding:6px 12px;border-radius:8px;pointer-events:none;max-width:70%;background:rgba(var(--glass-rgb),max(var(--alpha),.9));color:var(--text);outline:1px solid var(--accent);outline-offset:-1px}.row-warn{flex:0 0 auto;width:15px;height:15px;border-radius:50%;background:var(--warn);color:#fff;font-size:10px;font-weight:700;line-height:15px;text-align:center;cursor:help}.fedit-warn{color:var(--warn);font-size:12px;line-height:1.35;padding:4px 0}.fedit-warn button{margin-left:6px;font:inherit;font-size:12px;cursor:pointer}.thread-card{border:1px solid var(--line);border-radius:8px;background:var(--panel-2);padding:6px 10px 8px;display:grid;gap:4px;min-width:0}.thread-card-title{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.thread-readout{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:4px 10px;padding:0;margin:0}.thread-cell{min-width:0}.thread-readout dt{color:var(--text-2);font-size:11px;line-height:1.25}.thread-readout dd{margin:0;font-size:12.5px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.inspect{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.insp-card{flex:1 1 250px;min-width:230px;max-width:460px;display:flex;flex-direction:column;gap:6px;padding:8px 10px;border:1px solid var(--line-soft);border-radius:8px}.insp-card h4{margin:0;font-size:12px;font-weight:600}.insp-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.insp-bar .btn[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent)}.insp-field{display:flex;align-items:center;gap:6px;color:var(--text-2)}.insp-field.wide{width:100%}.insp-field input[type=range]{flex:1;min-width:80px}.insp-field input[type=number]{width:78px;font:inherit;padding:3px 6px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:inherit}.insp-unit{font-size:12px;color:var(--text-2)}.insp-flag{display:flex;align-items:center;gap:5px;cursor:pointer}.insp-note{color:var(--text-2);font-size:12px}.insp-note.warn{color:var(--warn)}.insp-ok{color:var(--ok)}.insp-rows{display:grid;grid-template-columns:max-content 1fr;gap:3px 12px;margin:0}.insp-rows dt{color:var(--text-2)}.insp-rows dd{margin:0;font:500 12px ui-monospace,monospace;-webkit-user-select:text;user-select:text;overflow-wrap:anywhere}.insp-picks{margin:0;padding-left:16px;font-size:12px}.insp-table{border-collapse:collapse;font-size:12px}.insp-table th,.insp-table td{text-align:left;padding:2px 10px 2px 0}.insp-pairs{display:flex;flex-direction:column}.insp-pair{display:flex;justify-content:space-between;gap:10px;width:100%;text-align:left;font:inherit;color:inherit;background:none;border:0;border-bottom:1px solid var(--line-soft);padding:5px 4px;cursor:pointer}.insp-pair:hover:not(:disabled),.insp-pair:focus-visible{background:var(--accent-soft);outline:none}.insp-pair .val{font:500 12px ui-monospace,monospace;color:var(--text-2)}.inline-name{flex:1 1 auto;min-width:0;font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--accent);border-radius:4px;padding:1px 5px;height:24px;outline:none}.tree .row.rolled .row-name,.tree .row.rolled .row-icon,.tree .row.rolled .row-id{opacity:.35}.tree .row.dep:after{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;border-radius:0 2px 2px 0;background:var(--text-2);opacity:.55;pointer-events:none}.tree .row.dep.child:after{content:none}.tree .row.dep.child{box-shadow:inset 2px 0 color-mix(in srgb,var(--text-2) 55%,transparent)}.rb-bar{display:flex;align-items:center;gap:8px;height:14px;padding:0 12px;cursor:grab;position:relative;font-size:11px;color:var(--accent);outline:none}.rb-bar:before{content:"";position:absolute;left:6px;right:6px;top:50%;height:2px;margin-top:-1px;border-radius:1px;background:var(--accent);opacity:.8}.rb-bar:focus-visible:before{height:3px;margin-top:-1.5px}.rb-bar>*{position:relative;background:var(--panel);padding:0 6px;border-radius:7px}.rb-grip{width:22px;height:8px;padding:0;background:var(--accent)!important;border-radius:4px}.rb-label{margin-left:auto}.rb-fwd{border:0;font:inherit;color:var(--accent);cursor:pointer}.rb-fwd:hover{text-decoration:underline}.rb-end{min-height:10px;flex:1 0 10px}.toast-act{margin-left:6px;border:0;background:none;color:#8ab4ff;font:inherit;font-weight:600;cursor:pointer;padding:0 2px}.toast-act:hover{text-decoration:underline}.tree .row{position:relative}.tree .row .row-actions{position:absolute;right:6px;top:50%;transform:translateY(-50%);margin:0;padding-left:8px;background:var(--panel);border-radius:6px}.tree .row:hover .row-actions{background:var(--panel-2)}.tree .row.sel .row-actions{background:var(--accent-soft)}.tree .row .row-act{opacity:0}.tree .row:hover .row-act,.tree .row.sel .row-act,.tree .row.suppressed .row-sup,.tree .row .row-act:focus-visible{opacity:1}.tree .row:not(:hover):not(.sel) .row-actions{background:transparent}.tree .row{flex-wrap:nowrap}.tree .row:has(>.row-hint){flex-wrap:wrap}.tree .row .row-type{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree .row .row-name{flex:1 1 0}.thread-editor .thread-editor button:focus-visible,.thread-editor input:focus-visible,.thread-editor select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.thread-chip{display:inline-flex;align-items:baseline;gap:2px 6px;flex-wrap:wrap;font-size:13px;background:var(--chip);border-radius:10px;padding:2px 10px;justify-self:start;max-width:100%}.thread-chip-name{color:var(--text-2);font-size:11px;opacity:.8}.thread-chips{display:flex;flex-wrap:nowrap;gap:4px;overflow-x:auto;padding:1px 1px 2px;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 18px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 18px),transparent)}.thread-chips::-webkit-scrollbar{display:none}.fedit-sec-fields{container-type:inline-size}@container (max-width: 300px){.fedit-fld.stack{grid-template-columns:minmax(0,1fr);gap:3px}}.thread-chipbtn{flex:none;font:inherit;font-size:12px;padding:2px 8px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:inherit;cursor:pointer}.thread-chipbtn:hover{background:var(--accent-soft)}.thread-chipbtn.on{background:var(--accent);color:#fff;border-color:var(--accent)}.thread-combo{position:relative;min-width:0}.thread-list{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 2px);max-height:240px;overflow:auto;margin:0;padding:2px 0;list-style:none;background:var(--panel);border:1px solid var(--line);border-radius:6px;box-shadow:0 6px 18px #0000002e;font-size:12px}.thread-list li[role=option]{padding:3px 8px;cursor:pointer;white-space:nowrap}.thread-list li.active{background:var(--accent-soft)}.thread-list li.sel{font-weight:600}.thread-list-head,.thread-list-empty{padding:4px 8px 2px;color:var(--text-2);font-size:11px;text-transform:uppercase;letter-spacing:.03em}.thread-fit{font-size:12px;line-height:1.35;padding:3px 8px;border-radius:6px}.thread-fit.ok{color:var(--ok, #1f9d55);background:#1f9d551a}.thread-fit.warn{color:var(--warn);background:#d977061a}.thread-fit button{margin-left:6px;font:inherit;font-size:12px;cursor:pointer}.thread-hint{color:var(--text-2);font-size:11px;line-height:1.35}.thread-seg{display:inline-flex;min-width:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;justify-self:start;max-width:100%}.thread-seg button{display:inline-flex;align-items:center;gap:4px;font:inherit;font-size:12px;padding:4px 6px;border:0;border-right:1px solid var(--line);background:var(--panel);color:inherit;cursor:pointer;white-space:nowrap;min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis}.thread-seg button:last-child{border-right:0}.thread-seg button.on{background:var(--accent);color:#fff}.thread-seg button:focus-visible{outline-offset:-2px}.fedit-fld input:disabled{opacity:.6}.sizebox-about{position:absolute;left:14px;bottom:14px;z-index:6;display:flex;align-items:center;gap:4px;padding:4px 6px;border-radius:8px;font-size:12px;background:rgba(var(--glass-rgb),max(var(--alpha),.9));color:var(--text);outline:1px solid var(--line, rgba(128,128,128,.4));outline-offset:-1px}.sizebox-about-title{opacity:.7;margin-right:2px}.sizebox-about button{font:inherit;font-size:12px;padding:2px 8px;border-radius:5px;border:1px solid transparent;background:transparent;color:inherit;cursor:pointer}.sizebox-about button:hover{border-color:var(--accent)}.sizebox-about button.on{background:var(--accent);color:#fff}.vp-size-label:hover{border-color:#fff!important}.catalog{padding:0 8px 12px;display:flex;flex-direction:column;gap:10px}.catalog .cat-sub{color:var(--text-2);font:12px/1.4 system-ui;padding:2px 4px}.cat-h{font:600 11px system-ui;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);padding:4px 4px 6px}.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px}.cat-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px 5px;border:1px solid var(--line);border-radius:10px;background:var(--chip);color:var(--text);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;font:12px system-ui}.cat-item:hover{border-color:var(--accent, #5b8cff)}.cat-item:focus-visible{outline:2px solid var(--accent, #5b8cff);outline-offset:1px}.cat-item.armed{border-color:var(--accent, #5b8cff);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent, #5b8cff) 35%,transparent)}.cat-item.off{opacity:.45;cursor:not-allowed}.cat-item:active{cursor:grabbing}.cat-name{text-align:center;line-height:1.15}.bosl-search{width:100%;box-sizing:border-box;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:var(--chip);color:var(--text);font:12px system-ui}.bosl-cats{display:flex;flex-wrap:wrap;gap:4px}.bosl-cat{padding:2px 8px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--text-2);font:11px system-ui;cursor:pointer}.bosl-cat.on{background:var(--chip);color:var(--text);border-color:var(--accent, #5b8cff)}.lib-item.sel{border-color:var(--accent, #5b8cff)}.lib-item img{border-radius:6px;image-rendering:auto}.bosl-form{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--line);border-radius:10px;font:12px system-ui}.bosl-form-h{display:flex;justify-content:space-between;align-items:center}.bosl-reset{border:0;background:transparent;color:var(--accent, #5b8cff);cursor:pointer;font:11px system-ui}.bosl-fields{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}.bosl-field{display:flex;flex-direction:column;gap:2px;color:var(--text-2)}.bosl-field input[type=number],.bosl-field select{width:100%;box-sizing:border-box;padding:3px 6px;border:1px solid var(--line);border-radius:6px;background:var(--chip);color:var(--text);font:12px system-ui}.bosl-label i{font-style:normal;opacity:.7}.bosl-var{color:var(--accent, #5b8cff);margin-left:2px}.bosl-bad{color:#d9534f}.bosl-note{color:var(--text-2);font-size:11px;line-height:1.35}.bosl-script pre{margin:4px 0 0;padding:6px;overflow:auto;max-height:220px;border-radius:6px;background:var(--chip);font:11px/1.4 ui-monospace,monospace;white-space:pre}.cat-ghost{position:fixed;z-index:60;pointer-events:none;display:flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:10px;background:color-mix(in srgb,var(--panel) 88%,transparent);border:1px solid var(--accent, #5b8cff);color:var(--text);font:12px system-ui;box-shadow:0 6px 18px #00000047;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.cat-ghost.blocked{border-color:#d9534f}.cat-ghost svg{width:28px;height:28px}.cat-ghost-t{display:flex;flex-direction:column;line-height:1.2}.place-row{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;padding:6px 4px;font:12px system-ui;color:var(--text-2)}.place-row label{display:flex;flex-direction:column;gap:2px}.place-row select{width:100%;box-sizing:border-box;padding:3px 6px;border:1px solid var(--line);border-radius:6px;background:var(--chip);color:var(--text);font:12px system-ui}.place-row .place-mirror{flex-direction:row;align-items:center;gap:6px;align-self:end}.cat-ghost-t .cat-keys{white-space:pre;opacity:.75;font-size:10px}.cat-ghost-t span{color:var(--text-2);font-size:11px}.tb-status{bottom:44px}.tb-status.warn{color:var(--warn, #c25b00)}.tb-dlg{width:min(380px,94vw);height:auto}.tb-field{display:inline-flex;align-items:center;gap:6px}.tb-field input{width:110px;font:inherit;padding:4px 6px;border:1px solid var(--line);border-radius:6px;text-align:right}.tb-field input[aria-invalid=true]{border-color:var(--bad, #d33)}.tb-unit{color:var(--text-2);min-width:20px}.tb-note{font-size:12px;color:var(--text-2)}.dlg-foot{display:flex;justify-content:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--line)}.tree .row.ref.editable{cursor:pointer}.tree .row.ref.editable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ref-edit{margin-left:auto;background:none;border:0;padding:2px 4px;color:var(--muted, inherit);cursor:pointer;opacity:0;border-radius:4px}.tree .row.ref.editable:hover .ref-edit,.tree .row.ref.editable:focus-within .ref-edit{opacity:1}.ref-edit:hover{background:var(--panel-2)}.mat-editor .mat-search{width:100%;box-sizing:border-box}.mat-list{max-height:clamp(120px,24vh,260px);overflow:auto;border:1px solid var(--line);border-radius:6px;margin-top:6px}.mat-cat{padding:4px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted, inherit);background:var(--panel-2);position:sticky;top:0}.mat-item{display:flex;align-items:center;gap:8px;padding:5px 8px;cursor:pointer}.mat-item:hover{background:var(--panel-2)}.mat-item[aria-selected=true]{background:var(--accent-soft)}.mat-item .mat-dens{margin-left:auto;font-size:11px;opacity:.7;font-variant-numeric:tabular-nums}.mat-chip{width:12px;height:12px;border-radius:50%;border:1px solid var(--line);flex:none}.mat-preview{display:flex;align-items:center;gap:10px;margin:8px 0}.mat-swatch{width:44px;height:44px;border-radius:8px;border:1px solid var(--line);flex:none}.mat-props{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;font-size:12px;margin:6px 0}.mat-props dt{opacity:.7}.mat-props dd{margin:0;font-variant-numeric:tabular-nums}.mat-mass{font-weight:600}.mat-actions{display:flex;gap:8px;padding:10px 12px;justify-content:flex-end}.mat-hint{font-size:12px;color:var(--text-2);margin-top:4px}.log,.issue,.st-notice,.toast,.fedit-warn,.row-hint,.insp-note{user-select:text;-webkit-user-select:text;cursor:text}.expr-field{position:relative;display:flex;flex-direction:column;gap:2px;min-width:0;width:100%}.expr-row{display:flex;align-items:center;gap:6px;min-width:0}.expr-row input,.expr-field>input{font:inherit;padding:5px 8px;border:1px solid var(--line);border-radius:6px;min-width:0;width:100%;background:var(--panel);color:inherit;box-sizing:border-box}.expr-field.driven input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--panel))}.expr-field.bad input,.expr-field input.bad,.vars-name.bad{border-color:var(--err);box-shadow:0 0 0 1px var(--err)}.expr-fx{flex:none;font:italic 600 11px/1 ui-serif,Georgia,serif;padding:4px 5px;border-radius:5px;border:1px solid var(--accent);background:var(--accent);color:var(--on-accent, #fff);cursor:pointer}.expr-fx:hover{filter:brightness(1.1)}.expr-hint{font-size:11.5px;color:var(--text-2);padding-left:2px}.expr-hint.err{color:var(--err)}.expr-ac{position:absolute;z-index:30;top:100%;left:0;right:0;margin:2px 0 0;padding:3px;list-style:none;background:var(--panel);border:1px solid var(--line);border-radius:6px;box-shadow:0 6px 18px #0000002e;max-height:180px;overflow:auto}.expr-ac li{display:flex;justify-content:space-between;gap:12px;padding:3px 6px;border-radius:4px;font-size:12.5px;cursor:pointer}.expr-ac li.on,.expr-ac li:hover{background:var(--accent);color:var(--on-accent, #fff)}.expr-ac-val{opacity:.75;font-variant-numeric:tabular-nums}.vars{padding:10px 12px 16px;display:flex;flex-direction:column;gap:8px;overflow:auto;min-height:0;flex:1}.vars.empty{color:var(--text-2)}.vars-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.vars-head.cfg-head{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.vars-title{font-weight:600;font-size:13px}.vars-hint{color:var(--text-2);font-size:12px;line-height:1.4}.vars-table{display:flex;flex-direction:column;gap:6px}.vars-row{display:grid;grid-template-columns:minmax(54px,.9fr) minmax(70px,1.5fr) 54px 22px;gap:5px;align-items:center}.vars-row>select{grid-column:1;grid-row:2}.vars-row>.vars-comment{grid-column:2 / 5;grid-row:2}.vars-row .r{text-align:right}.vars-row:not(.vars-cols){padding-bottom:6px;border-bottom:1px solid var(--line)}.vars-row.vars-cols{color:var(--text-2);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.vars-row>input,.vars-row>select,.vars-row .expr-field>input{font:inherit;font-size:12.5px;padding:4px 6px;border:1px solid var(--line);border-radius:5px;min-width:0;width:100%;background:var(--panel);color:inherit;box-sizing:border-box}.vars-row .expr-field{gap:0}.vars-name{font-weight:600}.vars-value{font-variant-numeric:tabular-nums;font-size:12.5px;text-align:right;padding-right:2px;white-space:nowrap}.vars-uses{margin-left:2px;color:var(--text-2);font-size:9px}.vars-del{background:none;border:0;color:var(--text-2);cursor:pointer;padding:2px;border-radius:4px;display:inline-flex}.vars-del:hover{color:var(--err);background:var(--err-soft, rgba(220, 38, 38, .08))}.vars-err{grid-column:1 / -1;color:var(--err);font-size:11.5px}.vars-msg{color:var(--err);background:var(--err-soft, rgba(220, 38, 38, .08));border-radius:6px;padding:6px 8px;font-size:12px}.cfg-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.cfg{display:flex;gap:6px;align-items:center}.cfg-use{flex:1;display:flex;align-items:center;gap:6px;text-align:left;padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:inherit;cursor:pointer;font:inherit}.cfg.on .cfg-use{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--panel));font-weight:600}.cfg-use em{font-style:normal;font-weight:400;font-size:11px;color:var(--text-2);margin-left:auto}.cfg-add{display:flex;flex-wrap:wrap;gap:6px}.cfg-add input{flex:1 1 100%;font:inherit;padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:inherit;min-width:0}.vars .btn.sm{padding:3px 8px;font-size:12px}.annot-fx{font:italic 600 10px/1 ui-serif,Georgia,serif;background:var(--accent);color:var(--on-accent, #fff);border-radius:3px;padding:1px 3px;margin-right:3px}.annot.driven{border-color:var(--accent)}.selmodes .sel-sep{width:1px;background:var(--line);margin:3px 4px}.sel-filter{position:relative;display:flex}.selmodes .sel-filter-btn{padding:5px 8px}.sel-filter-n{font-size:10px;background:var(--accent);color:#fff;border-radius:8px;padding:0 5px;line-height:15px}.selmodes .sel-filter-btn[aria-pressed=true]{background:var(--accent-soft);color:var(--text)}.sel-filter-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:8;min-width:150px;padding:8px 10px;border-radius:10px;display:flex;flex-direction:column;gap:5px;background:var(--panel);outline:1px solid var(--line);box-shadow:0 6px 20px #0005}.sel-filter-pop label{display:flex;gap:8px;align-items:center;cursor:pointer;font-size:13px;color:var(--text)}.sel-list{position:absolute;right:12px;bottom:12px;z-index:4;width:240px;max-height:40%;display:flex;flex-direction:column;border-radius:12px;overflow:hidden;background:rgba(var(--glass-rgb),max(var(--alpha),.8));backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur));outline:1px solid var(--line);outline-offset:-1px;font-size:12px}.sel-list-head{display:flex;align-items:center;justify-content:space-between;padding:4px 6px 4px 8px;border-bottom:1px solid var(--line)}.sel-list-head button{border:0;background:none;color:var(--text);font:inherit;cursor:pointer;border-radius:6px;padding:2px 6px}.sel-list-head button:hover{background:var(--accent-soft)}.sel-list-clear{color:var(--text-2)!important}.sel-chips{list-style:none;margin:0;padding:6px;display:flex;flex-wrap:wrap;gap:4px;overflow-y:auto;scrollbar-width:thin}.sel-chip{display:inline-flex;align-items:center;gap:2px;padding:1px 2px 1px 8px;border-radius:12px;background:var(--accent-soft);outline:1px solid var(--accent);outline-offset:-1px;color:var(--text)}.sel-chip:hover{background:var(--accent);color:#fff}.sel-chip.edge{outline-style:dashed}.sel-chip button{border:0;background:none;color:inherit;cursor:pointer;font-size:14px;line-height:1;border-radius:50%;width:18px;height:18px;padding:0}.sel-chip button:hover{background:#0003}.box-select{z-index:5}.sketch-box{position:absolute;z-index:6;pointer-events:none;border:1px solid #0b74dc;background:#0b74dc18}.sketch-box.crossing{border-style:dashed;border-color:#1c9a4a;background:#1c9a4a18}.sketch-annots .annot.dimension.driven{font-style:italic;opacity:.75}.sketch-cons li.bad{background:#e0313118;color:#e03131}.sketch-cons li.warn{background:#b8860b18}.sketch-cons .cdrv{border:0;background:none;cursor:pointer;opacity:.7;font-size:12px}.sketch-cons .cdrv:hover{opacity:1}.asm{display:flex;flex-direction:column;min-height:0}.asm-tabs{display:flex;gap:2px;padding:6px 8px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.asm-tab{font:inherit;font-size:12px;color:var(--text-2);background:none;border:0;border-bottom:2px solid transparent;padding:4px 8px;cursor:pointer}.asm-tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.asm-sec{padding:6px 8px 12px;display:flex;flex-direction:column;gap:4px;overflow:auto}.asm-card{border:1px solid var(--line);border-radius:8px;padding:8px;background:var(--panel-2);display:flex;flex-direction:column;gap:6px;margin:4px 0}.asm-card.inner{margin:0 0 4px 22px}.asm-card h4{margin:0;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);font-weight:600}.asm-f{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--text-2);min-width:0}.asm-f input,.asm-f select{font:inherit;font-size:12px;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:3px 6px;min-width:0}.asm-f input[type=range]{padding:0}.asm-place{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.asm-chk{font-size:12px;display:flex;gap:6px;align-items:center}.asm-bar{display:flex;gap:6px;flex-wrap:wrap}.asm-chosen{font-size:12px;color:var(--text)}.asm-row{display:flex;align-items:center;gap:6px;padding:4px 4px 4px 6px;border-radius:6px;cursor:pointer;min-height:30px}.asm-row:hover{background:var(--panel-2)}.asm-row.sel{background:var(--accent-soft)}.asm-row.suppressed .row-name{opacity:.45;font-style:italic}.asm-row.hid .row-name{opacity:.55}.asm-row.err{color:var(--err)}.asm-row .row-name{display:flex;flex-direction:column;line-height:1.25}.asm-part{color:var(--text-2);font-size:11px;white-space:normal}.asm-acts{display:flex;gap:0;flex:none}.asm-acts .row-act{opacity:.75;width:22px;height:22px;font-size:12px}.asm-acts .row-act[aria-pressed=true]{color:var(--accent);opacity:1}.asm-acts .row-act:hover{opacity:1}.asm-dof{font-size:11px;padding:1px 6px;border-radius:9px;background:var(--chip);color:var(--text-2);flex:none;white-space:nowrap}.asm-dof.free{background:var(--accent-soft);color:var(--text)}.asm-dof.ok{color:var(--ok, var(--text-2))}.asm-tip{font-size:12px;padding:5px 8px;border-radius:6px;background:var(--accent-soft);color:var(--text)}.asm-ref{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.asm-ref-l{font-size:11px;color:var(--text-2);flex:1 0 100%}.asm-ref-v{font-size:11px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;min-width:0}.asm-note{font-size:11px;color:var(--text-2);line-height:1.35}.asm-note.warn{color:var(--warn, var(--text))}.asm-ok{font-size:12px;color:var(--ok, var(--text))}.btn.on{border-color:var(--accent);background:var(--accent-soft)}.asm-pair{display:flex;justify-content:space-between;gap:8px;font:inherit;font-size:12px;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:5px 8px;cursor:pointer;text-align:left}.asm-pair:hover{border-color:var(--accent)}.asm-pair .val{color:var(--text-2)}.asm-pair.sel{border-color:var(--accent);background:var(--accent-soft)}.asm-pair.conflict{border-color:var(--err)}.asm-banner{display:flex;flex-direction:column;gap:4px;font-size:12px;padding:6px 8px;border-radius:6px;border:1px solid var(--warn, var(--line))}.asm-rep-total{font-size:12px}.asm-rep-comps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;font-size:12px}.asm-rep-comps li{display:flex;justify-content:space-between;gap:8px}.asm-rep-comps .val{color:var(--text-2)}.asm-kind-icon{display:inline-block;width:1.4em;text-align:center;color:var(--text-2)}.asm-bom{width:100%;border-collapse:collapse;font-size:12px}.asm-bom th{text-align:left;font-weight:600;color:var(--text-2);font-size:11px;padding:2px 4px}.asm-bom td{padding:4px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}.asm-bom-row{cursor:pointer}.asm-bom-row:hover td,.asm-bom-row:focus td{background:var(--accent-soft)}.asm-bom tfoot td{font-weight:600}.asm-row .row-name .asm-dof{align-self:flex-start;margin-top:2px}.asm-row .row-name{flex:1 1 0;min-width:0}.fedit-order{display:flex;flex-direction:column;gap:4px}.fedit-order-row{display:flex;gap:4px;align-items:center}.fedit-order-row select{flex:1;min-width:0}.fedit-order-n{width:16px;text-align:right;font:11px ui-monospace,monospace;color:var(--text-2)}.fedit-mini{width:22px;height:22px;padding:0;line-height:1;border:1px solid var(--line);border-radius:4px;background:var(--panel-2);color:var(--text);cursor:pointer}.fedit-mini:disabled{opacity:.35;cursor:default}.fedit-hint-line{font-size:11px;color:var(--text-2)}.analysis-legend{position:absolute;left:12px;bottom:44px;z-index:5;display:flex;flex-direction:column;gap:3px;padding:6px 8px;border-radius:8px;background:var(--panel);outline:1px solid var(--line);box-shadow:0 4px 14px #0004;font:11px system-ui,sans-serif;color:var(--text);pointer-events:none}.analysis-bar{width:14px;height:96px;border-radius:3px;outline:1px solid var(--line)}.analysis-ticks{position:absolute;left:30px;top:26px;height:96px;display:flex;flex-direction:column;justify-content:space-between;font:10px ui-monospace,monospace;color:var(--text-2)}.analysis-legend:has(.analysis-bar){padding-right:56px}.analysis-band{display:flex;gap:6px;align-items:center}.analysis-band i{width:12px;height:12px;border-radius:3px;outline:1px solid var(--line)}.mode-tabs{display:flex;gap:2px;margin-right:6px}.mode-tabs .rb-btn[aria-selected=true]{background:var(--accent);color:#fff;border-color:var(--accent)}#dwg{grid-area:2 / 1 / 4 / 4;z-index:30;background:var(--bg);display:grid;grid-template-columns:minmax(0,1fr) 260px;grid-template-rows:auto minmax(0,1fr);min-height:0}.dwg-bar{grid-column:1 / 3;display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px 10px;background:var(--panel);border-bottom:1px solid var(--line)}.dwg-btn,.dwg-sel{font:inherit;padding:4px 10px;border:1px solid var(--line);border-radius:7px;background:var(--panel-2);color:var(--text);cursor:pointer}.dwg-btn:hover:not(:disabled){border-color:var(--accent)}.dwg-btn.on{background:var(--accent);color:#fff;border-color:var(--accent)}.dwg-btn:disabled{opacity:.45;cursor:default}.dwg-sep{width:1px;height:22px;background:var(--line);margin:0 4px}.dwg-stage{position:relative;overflow:hidden;min-height:0;background:#8d96a3;touch-action:none;cursor:default}.dwg-stage[data-tool=dim],.dwg-stage[data-tool=aux]{cursor:crosshair}.dwg-stage[data-tool=section],.dwg-stage[data-tool=detail],.dwg-stage[data-tool=proj],.dwg-stage[data-tool=note],.dwg-stage[data-tool=balloon]{cursor:copy}.dwg-sheet,.dwg-over{position:absolute;left:0;top:0;transform-origin:0 0;box-shadow:0 4px 24px #0006}.dwg-sheet svg{display:block;width:100%;height:100%;-webkit-user-select:none;user-select:none}.dwg-sheet .sel{stroke:#0b74dc}.dwg-sheet text.sel{fill:#0b74dc;stroke:none}.dwg-over{pointer-events:none;box-shadow:none;overflow:visible}.dwg-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--panel);padding:10px 16px;border-radius:10px;color:var(--text-2);pointer-events:none}.dwg-status{position:absolute;left:10px;bottom:8px;padding:3px 10px;border-radius:8px;background:var(--panel);color:var(--text-2);font-size:12px;pointer-events:none}.dwg-status:empty{display:none}.dwg-props{overflow:auto;padding:8px 12px 20px;background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;gap:6px;min-height:0}.dwg-props h4{margin:12px 0 2px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2)}.dwg-props label{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--text-2)}.dwg-props label.chk{flex-direction:row;align-items:center;gap:6px;color:var(--text)}.dwg-props input[type=text],.dwg-props input[type=number],.dwg-props select,.dwg-props textarea{font:inherit;padding:3px 6px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);color:var(--text)}@media(max-width:1100px){.selmodes kbd{display:none}.selmodes button{padding:5px 8px}}.tree .row.hidden .row-name,.tree .row.hidden .row-icon,.tree .row.hidden .row-id{opacity:.4}.tree .row.hidden .row-hide,.tree .row .row-hide.on{opacity:1;color:var(--text-2)}.tree .row.hov{background:var(--panel-2);box-shadow:inset 2px 0 #f2a93b}.tree .row.hov.sel{background:var(--accent-soft)}.tree .row.hidden:not(:hover):not(.sel) .row-actions{position:static;transform:none;margin:0 0 0 4px;padding-left:0}.diag{display:flex;flex-direction:column;gap:8px;padding:10px 12px;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word;user-select:text;-webkit-user-select:text;cursor:text}.diag p{margin:0;line-height:1.4}.diag-summary{color:var(--err);font-weight:600;font-size:13px}.diag-note{color:var(--text-2);font-size:12px}.diag-root{border:1px solid color-mix(in srgb,var(--err) 40%,var(--line));border-radius:8px;padding:8px 10px;background:color-mix(in srgb,var(--err) 6%,transparent);display:flex;flex-direction:column;gap:6px}.diag-root-head{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.diag-code{font:11px ui-monospace,monospace;background:var(--chip);border-radius:6px;padding:1px 6px}.diag-advice{font-size:12px;color:var(--text)}.diag-label{color:var(--text-2);font-weight:600}.diag-actions{display:flex;flex-wrap:wrap;gap:6px}.diag-actions .btn{max-width:100%;white-space:normal}.diag-list ul,.diag-others{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.diag-item{all:unset;box-sizing:border-box;display:block;width:100%;padding:3px 6px;border-radius:5px;font-size:12px;color:var(--text-2);cursor:pointer;overflow-wrap:anywhere}.diag-item:hover,.diag-item:focus-visible{background:var(--chip);color:var(--text)}.fedit .diag{border-top:1px solid var(--line)}.fedit-confirm.blocked{opacity:.4;cursor:not-allowed}.tree .row.blocked{color:var(--text-2)}.tree .row.blocked .row-name,.tree .row.blocked .row-icon{opacity:.6}.row-blocked{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:3px;flex:none;font-size:11px;color:var(--text-2);border:1px dashed var(--line);border-radius:9px;padding:0 6px;cursor:pointer}.row-blocked:hover,.row-blocked:focus-visible{color:var(--text);border-color:var(--text-2)}.fedit-hint,.row-hint{overflow-wrap:anywhere;word-break:break-word;user-select:text;-webkit-user-select:text}.issue{overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.row-blocked-line{order:99;flex:1 0 100%;padding:0 0 5px 26px;line-height:1}.tree .row:has(>.row-blocked-line){flex-wrap:wrap}.splitter{position:relative;z-index:20;touch-action:none;outline:none;background:transparent}.splitter:after{content:"";position:absolute;background:transparent;transition:background .12s}.splitter.sp-v{cursor:col-resize;width:8px}.splitter.sp-v:after{top:0;bottom:0;left:3px;width:2px}.splitter.sp-h{cursor:row-resize;height:8px}.splitter.sp-h:after{left:0;right:0;top:3px;height:2px}.splitter:hover:after,.splitter:focus-visible:after,html[data-resizing] .splitter:active:after{background:var(--accent)}.splitter.sp-left{grid-area:left;justify-self:end;margin:0 -4px 0 0}.splitter.sp-right{grid-area:right;justify-self:start;margin:0 0 0 -4px}.splitter.sp-drawer{grid-area:drawer;align-self:start;margin:-4px 0}.splitter.sp-float-edge{position:absolute;z-index:4;left:calc(12px + var(--fw, 264px) - 4px);top:12px;height:var(--fh, calc(100% - 24px) );max-height:calc(100% - 24px)}.splitter.sp-corner{position:absolute;z-index:5;width:16px;height:16px;cursor:nwse-resize;left:calc(12px + var(--fw, 264px) - 10px);top:calc(12px + var(--fh, 100% - 24px) - 10px)}.splitter.sp-corner:after{right:4px;bottom:4px;width:8px;height:8px;border-right:2px solid var(--text-2);border-bottom:2px solid var(--text-2);background:none!important;border-radius:0 0 3px}#app[data-lcol=true] .splitter.sp-float-edge{display:none}html[data-resizing]{-webkit-user-select:none;user-select:none}html[data-resizing] #vp{pointer-events:none}html[data-resizing=vertical],html[data-resizing=vertical] *{cursor:col-resize!important}html[data-resizing=horizontal],html[data-resizing=horizontal] *{cursor:row-resize!important}html[data-resizing=corner],html[data-resizing=corner] *{cursor:nwse-resize!important}@media(max-width:760px){.splitter{display:none}}.fedit-fld.seg{grid-template-columns:1fr;gap:4px}.fedit-seg{display:flex;flex-wrap:wrap;gap:4px}.fedit-seg-btn{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);background:var(--chip);border-radius:6px;padding:3px 8px;cursor:pointer;font:inherit;font-size:12px;color:inherit}.fedit-seg-btn.on{background:var(--accent);color:#fff;border-color:var(--accent)}.fedit-seg-btn svg{flex:none}.fedit-card{margin:8px 12px;padding:10px 12px;border:1px solid var(--line);border-left:3px solid #f2a93b;border-radius:8px;background:var(--panel-2);display:grid;gap:6px}.fedit-card-title{font-weight:600;font-size:13px}.fedit-card-body{font-size:12px;color:var(--text-2)}.fedit-card-actions{display:flex;flex-wrap:wrap;gap:6px}.fedit-card-btn{border:1px solid var(--line);background:var(--chip);border-radius:6px;padding:5px 10px;cursor:pointer;font:inherit;font-size:12px;color:inherit}.fedit-card-btn:hover:not(:disabled){background:var(--accent);color:#fff;border-color:var(--accent)}.fedit-card-btn:disabled{opacity:.5;cursor:default}.fedit-fld .expr-row{position:relative}.fedit-fld .expr-row input{padding-right:32px}.fedit-fld .expr-row .fedit-unit{position:absolute;right:9px;pointer-events:none}.fedit-fld .fedit-inline{position:relative}.fedit-fld .fedit-inline input{padding-right:32px}.fedit-fld .fedit-inline .fedit-unit{position:absolute;right:9px;pointer-events:none}.preset-row{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px 8px}.preset-thumb{display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 2px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text);cursor:pointer;font:inherit;font-size:10.5px}.preset-thumb.on{border-color:var(--accent);background:var(--accent-soft)}.preset-ball{width:30px;height:30px;border-radius:50%;border:1px solid #4a5565}.preset-studio .preset-ball{background:radial-gradient(circle at 30% 28%,#fff 0,#fff 8%,#dfe6ef 18%,#9aa7b8 62%,#5c6878)}.preset-flat .preset-ball{background:#b9c3d0}.preset-contrast .preset-ball{background:radial-gradient(circle at 28% 25%,#fff 0,#fff 10%,#c9d2de 28%,#3a4350 72%,#14181e)}.preset-technical .preset-ball{background:radial-gradient(circle at 40% 35%,#fff,#eef0f3 70%,#d5d9df);border:2px solid #000}.sizebox-moveto,.sizebox-ask{position:absolute;left:14px;bottom:54px;z-index:7;display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-radius:8px;font-size:12px;width:230px;background:rgba(var(--glass-rgb),max(var(--alpha),.95));color:var(--text);outline:1px solid var(--line, rgba(128,128,128,.4));outline-offset:-1px;box-shadow:0 4px 16px #00000040}.sizebox-moveto-title{font-weight:600}.sizebox-moveto label{display:flex;flex-direction:column;gap:2px;color:var(--text-2)}.sizebox-moveto input,.sizebox-moveto select{font:inherit;padding:3px 6px;border-radius:5px;border:1px solid var(--line);background:var(--panel);color:var(--text);min-width:0}.sizebox-moveto-edge{display:flex;gap:4px}.sizebox-moveto-edge select{flex:1}.sizebox-moveto-edge input{width:70px}.sizebox-moveto-hint{color:var(--text-2);font-size:11px;line-height:1.35}.sizebox-moveto-bad{color:var(--danger, #d1242f)}.sizebox-moveto-btns,.sizebox-ask-btns{display:flex;gap:6px;justify-content:flex-end}.sizebox-moveto-btns button,.sizebox-ask-btns button{font:inherit;padding:3px 10px;border-radius:5px;border:1px solid var(--line);background:var(--panel);color:inherit;cursor:pointer}.sizebox-moveto-btns button:first-child,.sizebox-ask-btns button:first-child{background:var(--accent);color:#fff;border-color:var(--accent)}.pill{border-radius:12px;font-size:12px;background:rgba(var(--glass-rgb),max(var(--alpha),.88));backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur));outline:1px solid var(--line);outline-offset:-1px;box-shadow:0 6px 22px #0003}.sketch-bar-wrap{position:absolute;top:12px;left:50%;transform:translate(-50%);width:max-content;z-index:6;max-width:calc(100% - 400px);display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.sketch-bar-wrap>*{pointer-events:auto}.sketch-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;align-items:center;padding:5px 10px}.sketch-bar .sb-name{font-weight:600;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sketch-bar .sb-sep{width:1px;align-self:stretch;background:var(--line);margin:2px}.sketch-bar .rb-btn{display:inline-flex;gap:5px;align-items:center;font-size:12px}.sketch-bar .rb-btn[disabled]{opacity:.5}.sketch-bar .rb-btn[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.sketch-bar .rb-btn.ok{color:var(--ok);font-weight:700;font-size:15px}.sketch-bar .rb-btn.no{color:var(--err);font-weight:700;font-size:15px}.sketch-bar-wrap .sketch-hint{color:var(--warn, #b8860b);font-size:12px;background:var(--panel);border-radius:8px;padding:1px 8px;outline:1px solid var(--line)}.sb-list{align-self:center;box-shadow:0 6px 22px #0004;border-radius:10px}.dof-chip{font:inherit;font-weight:600;padding:2px 9px;border-radius:999px;border:1px solid currentColor;cursor:pointer;background:none}.dof-chip.under{color:var(--warn, #b8860b);background:#b8860b14}.dof-chip.full{color:var(--ok, #1c9a4a);background:#1c9a4a14}.dof-chip.over{color:var(--err, #e03131);background:#e0313114}.dof-chip.none{color:var(--text-2)}.aux-pop{position:relative}.aux-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:8;min-width:200px;padding:8px 10px;border-radius:10px;background:var(--panel, #fff);border:1px solid var(--line, #0003);box-shadow:0 6px 22px #0004;display:flex;flex-direction:column;gap:4px}.aux-menu hr{border:0;border-top:1px solid var(--line, #0002);margin:4px 0;width:100%}.aux-head{font-size:11px;text-transform:uppercase;letter-spacing:.04em;opacity:.7}.aux-row{display:flex;gap:8px;align-items:center;cursor:pointer;white-space:nowrap}.aux-sel{display:inline-flex;gap:6px;align-items:center}@media(max-width:900px){.sketch-bar-wrap{left:112px;right:210px;transform:none;width:auto;max-width:none;align-items:flex-start}}@media(max-width:640px){.sketch-bar-wrap{left:8px;right:8px;top:8px}.sketch-bar .sb-sep{display:none}}.status .st-sketch{display:inline-flex;gap:14px;align-items:center}.status .st-coords,.status .st-delta{font:500 12.5px ui-monospace,monospace;min-width:0}.status .st-coords{min-width:17ch}.status .st-snap{color:var(--accent);font-weight:600}.status .st-toggle{display:inline-flex;gap:4px;align-items:center;cursor:pointer}.status .st-spacing{font:inherit;background:none;border:1px solid transparent;border-radius:6px;padding:0 6px;cursor:pointer;color:inherit}.status .st-spacing:hover{border-color:var(--line)}.status .st-spacing-input{width:9ch;font:500 12.5px ui-monospace,monospace;cursor:text}.tree:focus{outline:none}.tree .row.owns{background:color-mix(in srgb,var(--accent-soft) 70%,transparent)}.tree .row.owns:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.tree .row.pulse{animation:tree-pulse 1.5s ease-out}@keyframes tree-pulse{0%{background:color-mix(in srgb,var(--accent) 38%,transparent)}to{background:color-mix(in srgb,var(--accent-soft) 70%,transparent)}}@media(prefers-reduced-motion:reduce){.tree .row.pulse{animation:none}}.tree-head{flex-wrap:wrap}.tree-search-btn{width:24px;height:24px;display:grid;place-items:center;border:0;border-radius:5px;background:none;color:var(--text-2);cursor:pointer;padding:0;flex:none}.tree-search-btn:hover,.tree-search-btn.on{background:var(--chip);color:var(--text)}.tree-search{flex:1 0 100%;display:flex;align-items:center;gap:6px}.tree-search-input{flex:1 1 auto;min-width:0;height:26px;box-sizing:border-box;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);color:var(--text);padding:0 8px;font:inherit;font-size:13px}.tree-search-input:focus{outline:2px solid var(--accent);outline-offset:-1px}.tree-search-count{flex:none;color:var(--text-2);font-size:11px;font-variant-numeric:tabular-nums}.tree-search-clear{width:22px;height:22px;display:grid;place-items:center;border:0;border-radius:5px;background:none;color:var(--text-2);cursor:pointer;padding:0;flex:none}.tree-search-clear:hover{background:var(--chip);color:var(--text)}.tree .row mark{background:color-mix(in srgb,var(--warn) 35%,transparent);color:inherit;border-radius:2px;padding:0 1px}.tree .row.folder{font-weight:600}.folder-toggle{flex:1 1 auto;min-width:0;align-self:stretch;display:flex;align-items:center;gap:8px;border:0;background:none;color:inherit;font:inherit;padding:0;cursor:pointer;text-align:left}.folder-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:4px}.folder-toggle[aria-expanded=false] .row-chev svg{transform:none}.tree .row.folder .row-chev{pointer-events:none}.tree .row.folder .row-type{font-weight:400}.tree .row.ingroup{padding-left:22px}.tree .row.ingroup.child{padding-left:44px}.tree .row.ingroup.child:after{left:30px}.sel-chip .sel-chip-name{width:auto;height:auto;border-radius:8px;font-size:inherit;line-height:inherit;padding:0 2px;text-decoration:underline dotted;text-underline-offset:2px}.sel-chip .sel-chip-name:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.bodies{display:flex;flex-direction:column;gap:6px;padding:8px;font:12px system-ui;color:var(--text)}.bodies-head{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap}.bodies-count{color:var(--text-2)}.bodies-actions,.body-presets{display:flex;gap:4px;flex-wrap:wrap}.bodies-btn{border:1px solid var(--line);border-radius:6px;background:none;color:var(--text);padding:3px 8px;font:inherit;cursor:pointer}.bodies-btn:disabled{opacity:.4;cursor:default}.bodies-btn:focus-visible,.body-row:focus-visible,.body-eye:focus-visible,.body-solo:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.body-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.body-row{display:grid;grid-template-columns:24px 14px minmax(0,1fr) auto 24px;align-items:center;gap:6px;padding:3px 4px;border-radius:6px;cursor:default}.body-row:hover{background:color-mix(in srgb,var(--text) 7%,transparent)}.body-row.sel{background:color-mix(in srgb,var(--accent) 22%,transparent)}.body-row.off .body-name,.body-row.off .body-vol{opacity:.45;text-decoration:line-through}.body-eye,.body-solo{border:0;background:none;color:var(--text-2);padding:3px;border-radius:4px;cursor:pointer;display:grid;place-items:center}.body-eye:hover,.body-solo:hover{color:var(--text);background:color-mix(in srgb,var(--text) 10%,transparent)}.body-swatch{width:12px;height:12px;border-radius:3px;border:1px solid var(--line)}.body-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.body-name-edit{min-width:0;font:inherit}.body-vol{color:var(--text-2);font-variant-numeric:tabular-nums}.body-look{border-top:1px solid var(--line);padding-top:6px;display:flex;flex-direction:column;gap:6px}.body-look-title{font-weight:600}.body-field{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:6px}.bodies-hint{color:var(--text-2);font-size:11px}.text-panel{position:absolute;z-index:7;left:12px;top:56px;width:268px;display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-radius:10px;background:var(--panel);outline:1px solid var(--line);box-shadow:0 6px 18px #0005;pointer-events:auto;font:12px system-ui,sans-serif;color:var(--text)}.text-panel .tp-head{display:flex;align-items:center;justify-content:space-between}.text-panel .tp-row{display:flex;gap:8px;align-items:flex-end}.text-panel .tp-col{display:flex;flex-direction:column;gap:4px;flex:1}.text-panel .tp-field{display:flex;flex-direction:column;gap:2px;flex:1;font-size:11px;color:var(--text-2)}.text-panel .tp-wide{flex:none}.text-panel .tp-field em{font-style:normal;font-size:10px;opacity:.7}.text-panel input[type=text],.text-panel select{font:13px ui-monospace,monospace;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:3px 6px;min-width:0;width:100%;box-sizing:border-box}.text-panel .tp-check{display:flex;gap:6px;align-items:center}.text-panel .tp-grid{display:grid;grid-template-columns:repeat(3,18px);grid-template-rows:repeat(3,18px);gap:3px}.text-panel .tp-cell{padding:0;border:1px solid var(--line);border-radius:4px;background:var(--panel-2);cursor:pointer}.text-panel .tp-cell.on{background:var(--accent);border-color:var(--accent)}.text-panel .tp-btn,.text-panel .tp-x{font:12px system-ui,sans-serif;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:3px 9px;cursor:pointer}.text-panel .tp-btn.on{border-color:var(--accent);background:var(--accent-soft)}.text-panel .tp-note{font-size:11px;padding:3px 6px;border-radius:5px}.text-panel .tp-note.warn{background:color-mix(in srgb,#e0a02a 22%,transparent)}.text-panel .tp-note.err{background:color-mix(in srgb,#d83a2e 25%,transparent)}.text-panel .tp-foot{justify-content:flex-end}.lib{margin-top:12px;padding-top:8px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.lib-bar{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.lib-bar select{flex:1;min-width:0;padding:4px 6px;border:1px solid var(--line);border-radius:8px;background:var(--chip);color:var(--text);font:12px system-ui}.lib button,.lib-add button{padding:4px 8px;border:1px solid var(--line);border-radius:8px;background:var(--chip);color:var(--text);font:12px system-ui;cursor:pointer}.lib button:disabled{opacity:.5;cursor:default}.lib-offline{padding:1px 6px;border-radius:8px;background:var(--chip);border:1px solid var(--line);font:11px system-ui}.lib-add,.lib-found,.lib-detail{display:flex;flex-direction:column;gap:6px}.lib-add-row{display:flex;gap:4px}.lib-add-row input{flex:1;min-width:0;box-sizing:border-box;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:var(--chip);color:var(--text);font:12px system-ui}.lib-warn,.lib-err{padding:6px 8px;border-radius:8px;border:1px solid var(--line);font:12px system-ui}.lib-err{color:#c0392b}.lib-meta,.lib-links,.lib-actions{display:flex;flex-wrap:wrap;gap:4px 12px;font:12px system-ui}.lib-actions{gap:4px}.lib-link{align-self:flex-start;background:none!important;border:none!important;text-decoration:underline}.lib-sources ul{margin:2px 0 0;padding-left:16px;font:12px system-ui}.text-panel .tp-fonts{display:flex;flex-direction:column;gap:6px}.text-panel .tp-fontbtns{align-items:center;flex-wrap:wrap}.text-panel .tp-btn:disabled{opacity:.55;cursor:default}.text-panel .tp-sys{display:flex;flex-direction:column;gap:4px}.text-panel .tp-syslist{list-style:none;margin:0;padding:0;max-height:180px;overflow:auto;border:1px solid var(--line);border-radius:5px}.text-panel .tp-sysitem{display:block;width:100%;text-align:left;font:12px system-ui,sans-serif;color:var(--text);background:transparent;border:0;padding:3px 8px;cursor:pointer}.text-panel .tp-sysitem:hover,.text-panel .tp-sysitem:focus-visible{background:var(--accent-soft)}.cat-tabs{display:flex;gap:2px;padding:2px;border:1px solid var(--line);border-radius:10px;background:var(--chip)}.cat-tab{flex:1;padding:5px 8px;border:0;border-radius:8px;background:transparent;color:var(--text-2);font:600 12px system-ui;cursor:pointer}.cat-tab.on{background:var(--panel, #fff);color:var(--text);box-shadow:0 1px 2px #0000002e}.lib{display:flex;flex-direction:column;gap:6px}.lib-head{display:flex;align-items:center;justify-content:space-between}.lib-head .cat-h{padding-bottom:4px}.lib-addbtn{padding:3px 10px;border:1px solid var(--accent, #5b8cff);border-radius:999px;background:transparent;color:var(--accent, #5b8cff);font:600 12px system-ui;cursor:pointer}.lib-filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:space-between}.lib-filters select{padding:3px 6px;border:1px solid var(--line);border-radius:8px;background:var(--chip);color:var(--text);font:12px system-ui;max-width:45%}.lib-card{position:relative;display:flex}.lib-card>.lib-item{flex:1;min-width:0}.lib-ph{display:inline-flex;align-items:center;justify-content:center;width:64px;height:48px;border-radius:6px;background:var(--chip);color:var(--text-2)}.lib-ph svg{width:32px;height:32px}.lib-origin{font: 9px/1.2 system-ui;padding:0 5px;border-radius:999px;border:1px solid var(--line);color:var(--text-2)}.lib-origin[data-origin=addon]{color:var(--accent, #5b8cff);border-color:var(--accent, #5b8cff)}.lib-state{position:absolute;top:3px;right:3px;display:inline-flex;align-items:center;gap:2px;padding:1px 4px;border-radius:999px;background:color-mix(in srgb,var(--panel, #fff) 85%,transparent);color:var(--text-2);font:9px/1.2 system-ui}.lib-state[data-state=installed]{color:#2e8b57}.lib-install{position:absolute;top:3px;right:3px;display:none;padding:1px 7px;border:1px solid var(--accent, #5b8cff);border-radius:999px;background:var(--accent, #5b8cff);color:#fff;font:600 10px/1.4 system-ui;cursor:pointer}.lib-card:hover>.lib-item .lib-state[data-state=cloud],.lib-card:focus-within>.lib-item .lib-state[data-state=cloud]{visibility:hidden}.lib-card:hover>.lib-install,.lib-card:focus-within>.lib-install{display:block}.lib-manage{border-top:1px solid var(--line);padding-top:6px;font:12px system-ui}.lib-manage ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.lib-row-h{display:flex;gap:6px;align-items:center}.lib-row-a{display:flex;gap:6px;align-items:center;margin-top:2px}.lib-row-a button{padding:2px 8px;border:1px solid var(--line);border-radius:8px;background:var(--chip);color:var(--text);font:11px system-ui;cursor:pointer}.cat-fetching{position:fixed;z-index:61;left:50%;bottom:28px;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:10px;background:color-mix(in srgb,var(--panel) 92%,transparent);border:1px solid var(--accent, #5b8cff);color:var(--text);font:12px system-ui;box-shadow:0 6px 18px #00000047}.cat-spin{width:12px;height:12px;border:2px solid var(--line);border-top-color:var(--accent, #5b8cff);border-radius:50%;animation:cat-spin .8s linear infinite}@keyframes cat-spin{to{transform:rotate(360deg)}}.cat-placement{border:1px solid var(--line);border-radius:10px;padding:4px 8px;font:12px system-ui}.cat-placement>summary{cursor:pointer;color:var(--text-2)}[data-testid=lib-grid].cat-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.lib-card>.lib-item{height:100%}.lib-item .cat-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere;min-height:2.3em;width:100%}.ribbon-wrap{position:relative;z-index:8;min-width:0;contain:inline-size}.ribbon{min-width:0}.rb-tabs{overflow-x:auto;scrollbar-width:none}.rb-tab{flex:none}.rb-groups{position:relative;display:flex;flex-wrap:nowrap;align-items:stretch;gap:0;padding:4px 8px 2px;overflow:hidden}.rb-group{flex:none;display:flex;flex-direction:column;justify-content:space-between;gap:2px;padding:0 8px;border-right:1px solid var(--line-soft)}.rb-group:first-child{padding-left:0}.rb-group:last-child{border-right:0}.rb-items{display:flex;gap:2px;align-items:stretch}.rb-gtitle{text-align:center;font-size:10px;line-height:12px;letter-spacing:.04em;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ribbon.icons-only .rb-groups{padding-top:5px;padding-bottom:5px}.ribbon.icons-only .rb-group{padding:0 6px}.ribbon.icons-only .rb-group:first-child{padding-left:0}.slot{position:relative;flex:none;display:flex}.slot-btn{position:relative;display:flex;align-items:center;justify-content:center;font:inherit;color:var(--text);cursor:pointer;touch-action:manipulation;-webkit-touch-callout:none}.slot-btn:disabled{opacity:.38;cursor:default}.slot-btn[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.slot-btn[aria-pressed=true] .icon{--accent: currentColor}.slot-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.slot-btn svg{flex:none}.slot.ribbon .slot-btn{border:1px solid transparent;background:none;border-radius:6px;padding:0}.slot.ribbon .slot-btn:hover:not(:disabled){background:var(--accent-soft);border-color:var(--line)}.slot.ribbon .slot-btn.icon-only{width:34px;height:34px}.slot.ribbon .slot-btn.has-label{flex-direction:column;justify-content:flex-start;gap:3px;width:56px;height:58px;padding:5px 2px 2px}.slot-lab{display:block;width:100%;font-size:10px;line-height:12px;text-align:center;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:normal;overflow-wrap:normal}.slot.ribbon.multi.has-label .slot-btn,.slot.ribbon.multi .slot-btn.has-label{padding-right:3px}.slot.rail .slot-btn,.slot.icon .slot-btn{width:38px;height:34px;border:0;border-radius:7px;background:none;padding:0;flex:none}.slot.rail .slot-btn:hover:not(:disabled),.slot.icon .slot-btn:hover:not(:disabled){background:var(--accent-soft)}.slot.rail .slot-btn.has-label,.slot.icon .slot-btn.has-label{width:58px;height:50px;flex-direction:column;justify-content:flex-start;gap:2px;padding:5px 2px 2px}.slot-more{position:absolute;right:0;bottom:0;width:16px;height:16px;border:0;padding:0;cursor:pointer;background:none;touch-action:manipulation}.slot-more:after{content:"";position:absolute;right:2px;bottom:2px;width:6px;height:6px;background:var(--text-2);clip-path:polygon(100% 0,100% 100%,0 100%)}.slot[data-side=left] .slot-more{right:auto;left:0}.slot[data-side=left] .slot-more:after{right:auto;left:2px;clip-path:polygon(0 0,0 100%,100% 100%)}.slot-more:hover:after{background:var(--accent)}.slot-more:disabled{display:none}.slot-more-mark{position:absolute;right:3px;bottom:3px;width:6px;height:6px;background:var(--text-2);clip-path:polygon(100% 0,100% 100%,0 100%);pointer-events:none}.slot-btn[aria-pressed=true]~.slot-more:after{background:#fff}.slot-flyout{position:fixed;z-index:60;display:flex;flex-direction:column;min-width:190px;max-width:min(300px,calc(100vw - 16px));max-height:calc(100vh - 16px);overflow-y:auto;padding:4px;border-radius:10px;background:var(--panel);color:var(--text);box-shadow:0 8px 26px #00000047;outline:1px solid var(--line);outline-offset:-1px}.slot-row{display:grid;grid-template-columns:18px 1fr auto 14px;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:6px;background:none;color:inherit;font:13px/1.2 system-ui,sans-serif;text-align:left;cursor:pointer}.slot-row:hover:not(:disabled){background:var(--accent-soft)}.slot-row:disabled{opacity:.4;cursor:default}.slot-row.shown .slot-name{font-weight:600}.slot-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-row kbd{font:600 10px ui-monospace,monospace;padding:0 4px;border:1px solid var(--line);border-radius:3px;color:var(--text-2)}.slot-check{color:var(--accent);font-weight:700;font-size:12px}.slot-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media(pointer:coarse){.slot.rail .slot-btn,.slot.icon .slot-btn{width:46px;height:42px}.slot-more{width:24px;height:24px}.slot-more:after{width:8px;height:8px;right:3px;bottom:3px}.slot-row{padding:10px}}.tool-rail{position:absolute;left:12px;top:12px;bottom:12px;z-index:4;width:92px;display:flex;flex-direction:column;gap:4px;padding:6px;border-radius:12px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;pointer-events:auto;max-height:calc(100% - 24px);height:max-content;background:rgba(var(--glass-rgb),max(var(--alpha),.88));backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur));outline:1px solid var(--line);outline-offset:-1px}.tool-rail .rail-sec{display:flex;flex-direction:column;gap:2px;padding-top:4px;border-top:1px solid var(--line)}.tool-rail .rail-sec:first-child{border-top:0;padding-top:0}.tool-rail .rail-title{font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);padding-left:2px;white-space:nowrap}.tool-rail .rail-grid{display:grid;grid-template-columns:repeat(2,38px);gap:2px}.tool-rail.labels{width:142px}.tool-rail.labels .rail-grid{grid-template-columns:repeat(2,58px)}.tool-rail .slot.sel{outline:1px solid var(--accent);outline-offset:-1px;border-radius:7px;background:var(--accent-soft)}.tool-rail-toggle{display:none}.tool-rail .rail-sel-title{color:var(--accent)}@media(max-width:900px){.tool-rail,.tool-rail.labels{width:50px}.tool-rail .rail-grid,.tool-rail.labels .rail-grid{grid-template-columns:38px}.tool-rail .slot-lab{display:none}.tool-rail .slot.rail .slot-btn.has-label{width:38px;height:34px;justify-content:center;padding:0}.tool-rail .rail-title{display:none}}@media(max-width:640px){.tool-rail,.tool-rail.labels{left:8px;right:8px;top:auto;bottom:8px;width:auto;height:auto;max-height:none;flex-direction:row;gap:4px;overflow-x:auto;overflow-y:hidden}.tool-rail .rail-sec{flex-direction:row;flex:none;border-top:0;border-left:1px solid var(--line);padding:0 0 0 4px}.tool-rail .rail-sec:first-child{border-left:0;padding-left:0}.tool-rail .rail-grid,.tool-rail.labels .rail-grid{display:flex}}#app[data-left=floating][data-lcol=false] .tool-rail{left:284px}.sketch-palette .spal-grid{grid-template-columns:repeat(2,38px)}.sketch-palette.labels{width:142px}.sketch-palette.labels .spal-grid{grid-template-columns:repeat(2,58px)}@media(max-height:820px)and (min-width:641px){.tool-rail.labels,.sketch-palette.labels{width:92px}.tool-rail.labels .rail-grid,.sketch-palette.labels .spal-grid{grid-template-columns:repeat(2,38px)}.tool-rail .slot-lab,.sketch-palette .slot-lab{display:none}.slot.rail .slot-btn.has-label,.slot.icon .slot-btn.has-label{width:38px;height:34px;justify-content:center;padding:0}}.slot .slot-btn[aria-pressed=true],.slot .slot-btn[aria-pressed=true]:hover:not(:disabled){background:var(--accent);color:#fff;border-color:var(--accent)}@media(max-width:640px){.sketch-palette,.sketch-palette.labels{left:8px;right:8px;top:auto;bottom:66px;width:auto;max-height:none;flex-direction:row;gap:4px;overflow-x:auto;overflow-y:hidden}.sketch-palette .spal-group{flex:none;flex-direction:row;align-items:center;border-top:0;border-left:1px solid var(--line);padding:0 0 0 4px}.sketch-palette .spal-group:first-child{border-left:0;padding-left:0}.sketch-palette .spal-name{display:none}.sketch-palette .spal-grid,.sketch-palette.labels .spal-grid{display:flex}}.rb-groups:has(.rb-node){overflow-x:auto;scrollbar-width:none}.rb-node{display:inline-flex}.sk-finish{display:flex;gap:6px;align-items:center}.sk-finish .rb-btn{display:flex;flex-direction:column;align-items:center;min-width:40px;font-size:18px;font-weight:700}.sk-finish .rb-btn span{font-size:10px;font-weight:500}.sk-finish .rb-btn.ok,.sk-finish .rb-btn.no,.rb-tab.on:only-child{font-weight:600}.slot[data-slot=file-more] .slot-btn{width:34px;height:34px;border:1px solid var(--line, var(--line-soft));border-radius:7px;color:var(--text);background:var(--panel, transparent)}.slot[data-slot=file-more] .slot-btn .icon{opacity:1}.slot[data-slot=file-more] .slot-btn:hover:not(:disabled){background:var(--accent-soft)}
