@font-face{font-family:Tomorrow;src:url(/fonts/Tomorrow-Light.ttf) format("truetype");font-weight:300}@font-face{font-family:Tomorrow;src:url(/fonts/Tomorrow-Regular.ttf) format("truetype");font-weight:400}@font-face{font-family:Tomorrow;src:url(/fonts/Tomorrow-Medium.ttf) format("truetype");font-weight:500}@font-face{font-family:Tomorrow;src:url(/fonts/Tomorrow-SemiBold.ttf) format("truetype");font-weight:600}@font-face{font-family:Tomorrow;src:url(/fonts/Tomorrow-Bold.ttf) format("truetype");font-weight:700}:root{--bg-0: #15171a;--bg-1: #1c1f23;--bg-2: #24282d;--bg-3: #2d3238;--border: #363b42;--text: #e6e8eb;--text-dim: #9aa1ab;--accent: #3b82f6;--accent-dim: #2a4a7a;--danger: #ef4444;--ui-corner-cut: 7px}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:var(--bg-0);color:var(--text);font-family:Tomorrow,sans-serif;font-size:13px;overflow:hidden;-webkit-user-select:none;user-select:none}button,input,select{font-family:Tomorrow,sans-serif;font-size:12px}#app-root{display:grid;grid-template-columns:60px var(--dock-left-width, 0px) var(--dock-left-resizer-width, 0px) 1fr 6px var(--sidebar-width, 260px);grid-template-rows:38px 1fr 26px;grid-template-areas:"menu    menu     menu            menu   menu           menu" "toolbar dockLeft dockLeftResizer canvas sidebarResizeV sidebar" "status  status   status          status status         status";height:100vh;width:100vw}.top-menu{grid-area:menu;display:flex;align-items:center;background:var(--bg-1);border-bottom:1px solid var(--border);padding:0 8px;gap:2px}.top-menu .brand{font-weight:700;letter-spacing:.08em;margin-right:16px;color:var(--accent)}.menu-item{position:relative}.menu-button{background:transparent;border:none;color:var(--text);padding:6px 10px;border-radius:4px;cursor:pointer}.menu-button:hover{background:var(--bg-2)}.menu-dropdown{display:none;position:absolute;top:100%;left:0;background:var(--bg-2);border:1px solid var(--border);border-radius:4px;min-width:200px;box-shadow:0 8px 24px #0006;z-index:50;padding:4px}.menu-item.open .menu-dropdown{display:block}.menu-dropdown button{display:flex;justify-content:space-between;width:100%;text-align:left;background:transparent;border:none;color:var(--text);padding:7px 10px;border-radius:4px;cursor:pointer}.menu-dropdown button:hover:not(:disabled){background:var(--bg-3)}.menu-dropdown button:disabled{color:var(--text-dim);cursor:default}.menu-dropdown .shortcut{color:var(--text-dim);margin-left:16px}.menu-check{display:inline-block;width:14px;color:var(--accent)}.menu-dropdown hr{border:none;border-top:1px solid var(--border);margin:4px 0}.menu-heading{font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);padding:6px 10px 4px}.menu-submenu{position:relative}.menu-submenu-panel{display:block;position:fixed;z-index:55}.command-palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:260;background:#00000080;display:flex;justify-content:center;padding-top:12vh}.command-palette-panel{background:var(--bg-1);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 28px #00000073;width:min(560px,92vw);max-height:70vh;display:flex;flex-direction:column;overflow:hidden}.command-palette-search input{width:100%;background:var(--bg-2);border:none;border-bottom:1px solid var(--border);color:var(--text);padding:12px 14px;font-size:14px;box-sizing:border-box}.command-palette-search input:focus{outline:none}.command-palette-results{flex:1 1 auto;min-height:0;overflow-y:auto;padding:4px}.command-palette-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;background:transparent;border:none;color:var(--text);padding:8px 10px;border-radius:4px;cursor:pointer;font-size:13px}.command-palette-row:hover:not(:disabled),.command-palette-row.highlighted{background:var(--bg-3)}.command-palette-row:disabled{color:var(--text-dim);cursor:default}.command-palette-row-label{display:flex;align-items:baseline;gap:8px;min-width:0;overflow:hidden}.command-palette-row-category{font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);flex:0 0 auto}.command-palette-row-shortcut{color:var(--text-dim);font-size:11px;flex:0 0 auto;margin-left:16px}.command-palette-empty{padding:16px;color:var(--text-dim);font-size:12px;text-align:center}.toolbar{grid-area:toolbar;display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--bg-1);border-right:1px solid var(--border);padding:6px 4px;overflow-y:auto}.tool-button{position:relative;width:52px;height:36px;border:1px solid transparent;background:transparent;color:var(--text);border-radius:6px;cursor:pointer;font-size:9px;line-height:1.1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tool-button .tool-label{white-space:nowrap}.tool-button:hover{background:var(--bg-2)}.tool-button.active{background:var(--accent-dim);border-color:var(--accent);color:#cfe0ff}.tool-button:disabled{opacity:.35;cursor:not-allowed}.tool-button:disabled:hover{background:transparent}.tool-button.has-modes:after{content:"";position:absolute;bottom:3px;right:3px;width:0;height:0;border-left:3px solid transparent;border-bottom:3px solid var(--text-dim)}.tool-icon{font-size:15px}.tool-flyout{position:fixed;z-index:200;background:var(--bg-2);border:1px solid var(--border);border-radius:6px;padding:6px;min-width:190px;box-shadow:0 8px 24px #00000073;display:flex;flex-direction:column;gap:2px}.tool-flyout-title{font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);padding:2px 8px 6px;border-bottom:1px solid var(--border);margin-bottom:4px}.tool-flyout-option{background:transparent;border:none;color:var(--text);text-align:left;padding:7px 8px;border-radius:4px;cursor:pointer;font-size:12px}.tool-flyout-option:hover{background:var(--bg-3)}.tool-flyout-option.active{background:var(--accent-dim);color:#cfe0ff}.tool-flyout-option-icon{display:inline-block;width:16px;margin-right:6px;text-align:center}.tool-flyout-toggle-row{display:flex;align-items:center;gap:8px;padding:7px 8px;cursor:pointer;font-size:12px}.inspect-card{position:fixed;z-index:210;background:var(--bg-2);border:1px solid var(--border);border-radius:6px;padding:8px 10px;min-width:160px;max-width:260px;box-shadow:0 8px 24px #00000073;pointer-events:auto;cursor:pointer;font-size:11px}.inspect-card.pinned{border-color:var(--accent);box-shadow:0 8px 24px #00000073,0 0 0 1px var(--accent)}.inspect-card-title{font-weight:600;color:var(--text);font-size:12px;margin-bottom:4px}.inspect-card-empty{color:var(--text-dim);font-style:italic}.inspect-card-group-title{font-weight:500;color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;font-size:9px;margin:6px 0 2px}.inspect-card-row{display:flex;justify-content:space-between;gap:8px;padding:1px 0}.inspect-card-row.unverified .inspect-card-value{color:#f59e0b;border-bottom:1px dashed #f59e0b}.inspect-card-label{color:var(--text-dim);flex:0 0 auto}.inspect-card-value{color:var(--text);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspect-card-input{color:var(--text);text-align:right;background:var(--bg-1);border:1px solid var(--border);border-radius:3px;font-size:11px;padding:1px 4px;width:110px;min-width:0}.inspect-card-row.unverified .inspect-card-input{color:#f59e0b;border-color:#f59e0b}.inspect-card-overlap{margin-top:6px;padding-top:4px;border-top:1px solid var(--border);color:var(--text-dim);font-style:italic}.inspect-fields-flyout{min-width:220px;max-height:70vh;overflow-y:auto}.inspect-fields-preset-row{display:flex;gap:4px;padding:2px 8px 8px}.inspect-fields-preset-btn{flex:1 1 auto;background:var(--bg-3);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:4px 6px;font-size:11px;cursor:pointer}.inspect-fields-preset-btn.active{background:var(--accent-dim);border-color:var(--accent);color:#cfe0ff}.inspect-fields-group-title{font-weight:500;color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;font-size:10px;padding:6px 8px 2px}.inspect-fields-check-row{display:flex;align-items:center;gap:6px;padding:3px 8px;cursor:pointer;font-size:12px}.toolbar-separator{width:70%;height:1px;background:var(--border);margin:4px 0}.canvas-wrap{grid-area:canvas;position:relative;overflow:hidden;background:#1a1d21}.canvas-wrap canvas{display:block;cursor:crosshair}.ruler-bar,.ruler-corner{position:absolute;pointer-events:none;z-index:5}.ruler-bar-h{top:0;left:22px;right:0;height:22px}.ruler-bar-v{top:22px;left:0;bottom:0;width:22px}.ruler-bar canvas{display:block}.ruler-corner{top:0;left:0;border-bottom:1px solid rgba(128,128,128,.3);border-right:1px solid rgba(128,128,128,.3)}.callout-inplace-editor{position:absolute;box-sizing:border-box;margin:0;padding:2px 4px;border:1px dashed var(--accent);border-radius:2px;background:#24282deb;font-family:Tomorrow,sans-serif;line-height:1.3;resize:none;overflow:hidden;outline:none;white-space:pre-wrap;z-index:60}.callout-inplace-editor.light{background:#fffffff2}.list-placement-cell-editor{position:absolute;box-sizing:border-box;margin:0;padding:1px 3px;border:1px dashed var(--accent);border-radius:2px;background:#24282deb;font-family:Tomorrow,sans-serif;outline:none;z-index:60}.list-placement-edit-banner{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:150;display:flex;align-items:center;gap:10px;padding:6px 10px 6px 14px;background:#f59e0b;color:#1a1a1a;border-radius:6px;font-size:12px;font-weight:500;box-shadow:0 4px 16px #00000059}.list-placement-edit-banner button{background:#0000002e;border:none;border-radius:4px;color:inherit;font-weight:600;padding:3px 10px;cursor:pointer}.list-placement-edit-banner button:hover{background:#0000004d}.fill-colour-bar{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:150;display:flex;flex-direction:column;gap:6px;max-width:min(760px,calc(100vw - 32px));padding:8px 10px;background:var(--bg-1);border:1px solid var(--accent);border-radius:6px;box-shadow:0 6px 18px #0006;font-size:12px}.fill-colour-bar-title{font-weight:600;color:var(--accent)}.fill-colour-bar-swatches,.fill-colour-bar-actions{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.fill-colour-swatch{width:26px;height:26px;padding:0;border:2px solid rgba(255,255,255,.25);border-radius:4px;cursor:pointer}.fill-colour-swatch.active{border-color:#fff;box-shadow:0 0 0 2px var(--accent)}.fill-colour-custom{width:30px;height:28px;padding:0}.fill-colour-bar-actions button{padding:4px 8px;font-size:11px}.fill-colour-bar-done{margin-left:auto;font-weight:600}.permission-banner{position:fixed;top:12px;right:12px;z-index:150;display:flex;flex-direction:column;gap:6px}.permission-banner-row{display:flex;align-items:center;gap:10px;padding:6px 10px 6px 14px;background:#f59e0b;color:#1a1a1a;border-radius:6px;font-size:12px;font-weight:500;box-shadow:0 4px 16px #00000059;max-width:420px}.permission-banner-row button{flex-shrink:0;background:#0000002e;border:none;border-radius:4px;color:inherit;font-weight:600;padding:3px 10px;cursor:pointer}.permission-banner-row button:hover{background:#0000004d}.duplicate-array-panel{position:absolute;top:10px;right:10px;z-index:55;width:260px;max-height:calc(100% - 20px);overflow-y:auto}.duplicate-array-panel-header{padding:8px 10px;font-weight:600;border-bottom:1px solid var(--border)}.duplicate-array-panel-body{padding:4px 0}.duplicate-array-panel-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-top:1px solid var(--border)}.duplicate-array-item-count{color:var(--text-dim);font-size:12px}.duplicate-array-item-count-warn{color:#f59e0b;font-weight:600}.duplicate-array-section-heading{font-weight:500;color:var(--text-dim);margin:10px 4px 2px;font-size:10px;letter-spacing:.03em;text-transform:uppercase}.duplicate-array-hint{color:var(--text-dim);font-size:10px;margin:-2px 4px 6px}.duplicate-array-path-label{color:var(--text-dim);font-size:11px;margin:2px 4px 6px}.duplicate-array-picking{opacity:.7}.mode-switcher{position:absolute;top:10px;left:10px;z-index:10;display:flex;background:var(--bg-1);border:1px solid var(--border);border-radius:6px;padding:3px;gap:2px;box-shadow:0 2px 10px #00000059}.mode-tab{background:transparent;border:1px solid transparent;color:var(--text-dim);border-radius:4px;cursor:pointer;padding:5px 12px;font-size:12px}.mode-tab:hover{background:var(--bg-2);color:var(--text)}.mode-tab.active{background:var(--accent-dim);border-color:var(--accent);color:#cfe0ff}.mode-tab.back-to-plate{border-color:var(--border);margin-left:4px}.data-block-float-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;pointer-events:none}.data-block-float-layer .data-block{pointer-events:auto}.data-block{display:flex;flex-direction:column;min-height:0;background:var(--bg-1);border-bottom:1px solid var(--border)}.data-block-clip{display:flex;flex-direction:column;flex:1;min-height:0}.data-block.floating{border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 28px #00000073}.data-block.floating .data-block-clip{overflow:hidden;border-radius:7px}.data-block.drop-target-stack{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-dim)}.data-block.dragging{opacity:.5}.data-block-drop-line{position:fixed;height:3px;margin-top:-1.5px;background:var(--accent);border-radius:2px;box-shadow:0 0 6px var(--accent);z-index:130;pointer-events:none}.data-block-dock{display:flex;flex-direction:column;background:var(--bg-1);overflow-y:auto;overflow-x:hidden;min-height:0}.data-block-dock-left{grid-area:dockLeft;border-right:1px solid var(--border)}.data-block-dock-right-wrapper{grid-area:sidebar;display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--border);background:var(--bg-1)}.data-block-dock-right{flex:1 1 auto;min-height:0}.layouts-strip{flex:0 0 auto;display:flex;align-items:center;gap:4px;padding:4px 6px;background:var(--bg-2);border-bottom:1px solid var(--border)}.layouts-strip select{flex:1 1 auto;min-width:0;background:var(--bg-2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:2px 4px}.layouts-strip button{flex:0 0 auto;background:var(--bg-2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:2px 6px;cursor:pointer}.layouts-strip button:disabled{color:#555;cursor:default}.layouts-strip-auto{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--text-dim);white-space:nowrap;flex:0 0 auto}.data-block-dock.drop-target{outline:2px dashed var(--accent);outline-offset:-4px}.data-block-height-resizer{flex:0 0 5px;cursor:row-resize;background:var(--border)}.data-block-height-resizer:hover{background:var(--accent)}.data-block-dock-width-resizer{cursor:col-resize;background:var(--border)}.data-block-dock-width-resizer:hover,.data-block-dock-width-resizer:active{background:var(--accent)}.data-block-dock-width-resizer.left{grid-area:dockLeftResizer}.data-block-dock-width-resizer.right{grid-area:sidebarResizeV}.data-block-chrome{flex:0 0 auto;display:flex;align-items:stretch;min-height:32px;background:var(--bg-2);border-bottom:1px solid var(--border);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.data-block-chrome:active{cursor:grabbing}.data-block-sole-header{display:flex;align-items:center;gap:2px;flex:1;padding:0 4px 0 10px;min-width:0}.data-block-sole-label{flex:1;font-weight:600;letter-spacing:.03em;text-transform:uppercase;font-size:11px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-block-header-actions{display:flex;align-items:center;gap:4px;flex:0 0 auto}.data-block-header-actions button{background:var(--bg-3);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:4px 8px;cursor:pointer;font-size:11px;white-space:nowrap}.data-block-header-actions button:hover{background:var(--bg-1)}.data-block-check{display:flex;align-items:center;gap:4px;flex:0 0 auto;height:100%;min-height:32px;padding:0 6px;font-size:11px;color:var(--text-dim);white-space:nowrap;cursor:pointer}.data-block-check input[type=checkbox]{width:15px;height:15px;margin:0;accent-color:var(--accent);cursor:pointer}.data-block-collapse-btn{width:24px;height:100%;min-height:32px;font-size:11px;color:var(--text-dim)}.data-block-collapse-btn:hover{color:var(--text)}.data-block-tabbar{display:flex;align-items:stretch;flex:1;overflow-x:auto}.data-block-tab{display:flex;align-items:center;gap:6px;padding:0 8px 0 12px;font-size:11px;color:var(--text-dim);border-right:1px solid var(--border);cursor:pointer;white-space:nowrap}.data-block-tab.active{color:var(--text);background:var(--bg-1)}.data-block-tab-close,.data-block-close{background:transparent;border:none;color:var(--text-dim);cursor:pointer;width:28px;height:100%;min-height:32px;font-size:11px}.data-block-tab-close:hover,.data-block-close:hover{color:var(--danger)}.data-block-unstack{flex:0 0 auto;margin-left:auto;background:transparent;border:none;border-left:1px solid var(--border);color:var(--text-dim);cursor:pointer;padding:0 10px;font-size:10px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.data-block-unstack:hover{color:var(--text);background:var(--bg-1)}.data-block-content-slot{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.data-block.collapsed,.data-block.auto-hidden{flex:0 0 auto}.data-block-autohide-placeholder{flex:0 0 32px;display:flex;align-items:center;padding:0 10px;background:var(--bg-2);border-bottom:1px solid var(--border);color:var(--text-dim);font-weight:600;letter-spacing:.03em;text-transform:uppercase;font-size:11px;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.data-block-autohide-placeholder:hover{color:var(--text)}.data-block-resize-handle{position:absolute;z-index:1}.data-block-resize-n,.data-block-resize-s{left:8px;right:8px;height:10px;cursor:ns-resize}.data-block-resize-n{top:-9px}.data-block-resize-s{bottom:-9px}.data-block-resize-e,.data-block-resize-w{top:8px;bottom:8px;width:10px;cursor:ew-resize}.data-block-resize-e{right:-9px}.data-block-resize-w{left:-9px}.data-block-resize-ne,.data-block-resize-sw{width:14px;height:14px;cursor:nesw-resize}.data-block-resize-nw,.data-block-resize-se{width:14px;height:14px;cursor:nwse-resize}.data-block-resize-ne{top:-13px;right:-13px}.data-block-resize-nw{top:-13px;left:-13px}.data-block-resize-se{bottom:-13px;right:-13px}.data-block-resize-sw{bottom:-13px;left:-13px}.panel{display:flex;flex-direction:column;min-height:0}.panel.properties-panel{overflow-y:auto}.panel-header-actions{display:flex;align-items:center;gap:4px;min-width:0}.panel-body{overflow-y:auto;flex:1;padding:6px}.layer-row{display:flex;align-items:center;gap:6px;padding:5px 6px;border-radius:4px;cursor:pointer}.layer-row.active{background:var(--bg-3)}.layer-row input[type=color]{width:20px;height:20px;padding:0;border:none;background:none;cursor:pointer}.layer-row .layer-weight{background:var(--bg-2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:2px 4px;font-size:10px;width:78px;flex:0 0 auto}.layer-row .layer-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-btn{background:transparent;border:none;color:var(--text-dim);cursor:pointer;width:20px}.icon-btn:hover{color:var(--text)}.layer-row button.icon-btn.off{color:#555}.layer-row button.icon-btn:disabled{color:#3a3a3a;cursor:default}.plate-row{display:flex;align-items:center;gap:4px;padding:5px 6px;border-radius:4px;cursor:pointer}.plate-row.active{background:var(--bg-3)}.plate-row .plate-index{color:var(--text-dim);font-size:10px;width:32px;flex-shrink:0}.plate-row .plate-name{flex:1;min-width:0;background:transparent;border:1px solid transparent;color:var(--text);border-radius:4px;padding:2px 4px}.plate-row .plate-name:hover,.plate-row .plate-name:focus{border-color:var(--border);background:var(--bg-2)}.plate-row button.icon-btn.off{color:#555}.frame-row{display:flex;align-items:center;gap:4px;padding:5px 6px;border-radius:4px;cursor:pointer;flex-wrap:wrap}.frame-row.active{background:var(--bg-3)}.frame-row .frame-name{flex:1 1 auto;min-width:60px;background:transparent;border:1px solid transparent;color:var(--text);border-radius:4px;padding:2px 4px}.frame-row .frame-name:hover,.frame-row .frame-name:focus{border-color:var(--border);background:var(--bg-2)}.frame-row .frame-meta{color:var(--text-dim);font-size:10px;white-space:nowrap}.frame-row .frame-place-select{background:var(--bg-2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:2px 4px;font-size:10px;max-width:110px}.field-row{display:flex;align-items:center;gap:6px;padding:4px}.field-row label{width:90px;color:var(--text-dim);flex-shrink:0}.field-row input,.field-row select{flex:1;background:var(--bg-2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:4px 6px;min-width:0}.field-row input[type=checkbox]{flex:0 0 auto;width:16px;height:16px;min-width:16px;accent-color:var(--accent)}.field-row input:disabled,.field-row select:disabled{opacity:.4;cursor:not-allowed}.field-row:has(input:disabled,select:disabled) label{opacity:.5}.field-row input[type=color]{flex:0 0 auto;width:32px;height:24px;padding:2px}.empty-hint{color:var(--text-dim);padding:10px;font-style:italic}.library-folder-row{display:flex;align-items:center;gap:4px;padding:5px 6px;border-radius:4px;cursor:pointer}.library-folder-row:hover{background:var(--bg-2)}.library-folder-disclosure{color:var(--text-dim);width:12px;flex:0 0 auto}.library-folder-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-symbol-row{padding:5px 6px;border-radius:4px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-symbol-row:hover{background:var(--bg-3)}.library-truss-preset-row{display:flex;align-items:center;gap:6px;white-space:normal}.library-truss-preset-row span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-truss-preset-editor{display:flex;flex-direction:column;gap:2px;padding:6px 4px 8px;margin-bottom:4px;background:var(--bg-2);border-radius:4px}.library-truss-preset-editor button{margin-top:4px;background:var(--bg-3);border:1px solid var(--border);color:#f87171;border-radius:4px;padding:4px 8px;cursor:pointer}.library-recent-truss-strip{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:6px;margin-bottom:4px;border-bottom:1px solid var(--border)}.library-recent-truss-label{color:var(--text-dim);font-size:11px;flex:0 0 auto}.library-recent-truss-chip{background:var(--bg-2);border:1px solid var(--border);color:var(--text);border-radius:999px;padding:3px 10px;font-size:11px;cursor:pointer}.library-recent-truss-chip:hover{background:var(--bg-3);border-color:var(--accent)}.fixture-field-unverified{border-color:#b45309!important;box-shadow:0 0 0 1px #b45309 inset}.ref-mode-toggle{display:flex;gap:4px;flex:1}.ref-mode-btn{flex:1;background:var(--bg-2);border:1px solid var(--border);color:var(--text-dim);border-radius:4px;padding:4px 6px;cursor:pointer;font-size:11px}.ref-mode-btn.active{background:var(--accent-dim);border-color:var(--accent);color:#cfe0ff}.panel-subheading{margin-top:10px;padding:6px 4px 4px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;font-size:11px;color:var(--text-dim);display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border)}.panel-subheading button{background:var(--bg-2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:2px 8px;cursor:pointer;font-size:11px;text-transform:none;letter-spacing:normal}.q-row{display:flex;align-items:center;gap:4px;padding:5px 6px;border-radius:4px;cursor:pointer}.q-row:hover{background:var(--bg-2)}.q-row.active{background:var(--bg-3)}.q-row .q-number{flex:0 0 auto;width:44px;background:transparent;border:1px solid transparent;color:var(--text);border-radius:4px;padding:2px 4px;font-variant-numeric:tabular-nums}.q-row .q-name{flex:1;min-width:0;background:transparent;border:1px solid transparent;color:var(--text);border-radius:4px;padding:2px 4px}.q-row .q-number:hover,.q-row .q-number:focus,.q-row .q-name:hover,.q-row .q-name:focus{border-color:var(--border);background:var(--bg-2)}.q-row button.icon-btn.off{color:#555}.q-row button.icon-btn:disabled{color:#3a3a3a;cursor:default}.status-bar{grid-area:status;display:flex;align-items:center;gap:14px;background:var(--bg-1);border-top:1px solid var(--border);padding:0 10px;color:var(--text-dim);font-size:11px}.group-banner{background:#f59e0b;color:#1a1d21;font-weight:600;padding:2px 8px;border-radius:3px;font-size:11px;white-space:nowrap}.status-bar .coords{color:var(--text);min-width:170px}.snap-toggles{display:flex;gap:4px}.snap-toggle{background:transparent;border:1px solid var(--border);color:var(--text-dim);border-radius:3px;padding:2px 6px;cursor:pointer;font-size:10px}.snap-toggle.on{background:var(--accent-dim);border-color:var(--accent);color:#cfe0ff}.status-text{flex:1;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-toast{position:fixed;left:50%;bottom:34px;transform:translate(-50%);z-index:250;display:flex;align-items:center;gap:6px;max-width:calc(100vw - 32px);background:var(--accent-dim);border:1px solid var(--accent);border-radius:3px;padding:4px 8px;box-shadow:0 4px 16px #0006}.action-toast-message{color:#cfe0ff;font-size:11px;min-width:0}.action-toast-btn{background:var(--accent);color:#0b1220;border:none;border-radius:3px;padding:2px 8px;font-size:11px;font-weight:600;cursor:pointer}.action-toast-dismiss{background:transparent;border:none;color:var(--text-dim);cursor:pointer;font-size:11px;padding:0 2px}.shortcuts-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#0000008c;display:flex;align-items:center;justify-content:center}.shortcuts-panel{background:var(--bg-1);border:1px solid var(--border);border-radius:8px;padding:20px 24px;max-width:min(1080px,92vw);max-height:80vh;overflow-y:auto;box-shadow:0 12px 40px #00000080}.shortcuts-title{font-weight:700;font-size:15px;letter-spacing:.03em;color:var(--accent);margin-bottom:14px}.shortcuts-columns{display:flex;flex-wrap:wrap;gap:24px 32px}.shortcuts-columns>div{min-width:150px}.shortcuts-heading{font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;font-size:10px;margin-bottom:6px}.shortcuts-row{display:flex;align-items:baseline;gap:10px;padding:3px 0;font-size:12px;color:var(--text)}.shortcuts-key{flex:0 0 auto;min-width:90px;color:var(--accent);font-weight:600;font-size:11px}.shortcuts-hint{margin-top:16px;color:var(--text-dim);font-size:11px;font-style:italic}.patch-list-toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:4px;border-bottom:1px solid var(--border)}.patch-list-toolbar select,.patch-list-toolbar input[type=text]{background:var(--bg-2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:3px 6px;font-size:11px}.patch-list-toolbar input[type=text]{flex:1 1 80px;min-width:60px}.patch-list-checks{display:flex;flex-direction:column;gap:2px;padding:4px 6px;font-size:11px;border-bottom:1px solid var(--border)}.patch-list-check-row{color:#f59e0b;cursor:pointer}.patch-list-check-row.clean{color:var(--text-dim);cursor:default}.patch-list-header-row,.patch-list-row{display:flex;align-items:center;white-space:nowrap}.patch-list-header-row{position:sticky;top:0;background:var(--bg-1);border-bottom:1px solid var(--border);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);z-index:1}.patch-list-cell{flex:0 0 auto;padding:3px 6px;overflow:hidden;text-overflow:ellipsis;border-right:1px solid var(--border)}.patch-list-row{font-size:11px;border-bottom:1px solid var(--border)}.patch-list-row:hover{background:var(--bg-2)}.patch-list-row.locked{opacity:.6}.patch-list-row.selected{background:color-mix(in srgb,var(--accent) 18%,transparent)}.patch-list-row.selected:hover{background:color-mix(in srgb,var(--accent) 26%,transparent)}.patch-list-cell-input{flex:0 0 auto;width:120px;padding:3px 6px;border:none;border-right:1px solid var(--border);border-radius:0;background:transparent;color:var(--text);font:inherit;font-size:11px}.patch-list-cell-input:focus{outline:none;background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--accent)}.patch-list-cell-input::placeholder{color:var(--text-dim);font-style:italic}.patch-list-group-header{position:sticky;background:var(--bg-2);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.03em;padding:3px 6px;color:var(--text-dim);border-bottom:1px solid var(--border)}.patch-list-scroll{flex:1;overflow-y:auto;overflow-x:auto;position:relative}.patch-list-viewport{position:relative}.patch-list-column-picker{display:flex;flex-direction:column;gap:2px;padding:4px;max-height:260px;overflow-y:auto}.patch-list-column-picker-row{display:flex;align-items:center;gap:4px;font-size:11px}.patch-list-column-picker-row label{flex:1 1 auto}.fixture-count-body{display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:4px;gap:4px}.fixture-count-empty{padding:8px;font-size:11px;font-style:italic;color:var(--text-dim)}.fixture-count-dedup{display:flex;flex-direction:column;gap:2px;padding:4px 6px;font-size:11px;border-bottom:1px solid var(--border)}.fixture-count-dedup-row{color:#f59e0b;cursor:pointer}.fixture-count-list{display:flex;flex-direction:column;gap:6px}.fixture-count-group{border:1px solid var(--border);border-radius:4px;overflow:hidden}.fixture-count-group-header{display:flex;align-items:center;gap:6px;padding:4px 6px;background:var(--bg-2);cursor:pointer}.fixture-count-group-header:hover{background:var(--accent-dim)}.fixture-count-preview{flex:0 0 auto;width:28px;height:28px;background:var(--bg-1);border:1px solid var(--border);border-radius:3px}.fixture-count-group-title{font-size:11px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fixture-count-rows{display:flex;flex-direction:column}.fixture-count-row{display:flex;align-items:center;font-size:11px;padding:2px 6px;cursor:pointer;border-top:1px solid var(--border)}.fixture-count-row:hover{background:var(--bg-2)}.fixture-count-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fixture-count-cell-layer{flex:1 1 auto;min-width:0}.fixture-count-cell-count{flex:0 0 32px;text-align:right}.fixture-count-cell-watt{flex:0 0 56px;text-align:right;color:var(--text-dim)}.fixture-count-subtotal{font-style:italic;color:var(--text-dim);cursor:default}.fixture-count-subtotal:hover{background:transparent}.fixture-count-total{display:flex;align-items:center;font-size:11px;font-weight:600;padding:4px 6px;border-top:2px solid var(--border);margin-top:2px}.fixture-count-toolbar,.rigging-list-toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;padding:4px;border-bottom:1px solid var(--border)}.rigging-list-toolbar>select{background:var(--bg-2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:3px 6px}.rigging-list-body{display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:4px;gap:4px}.rigging-list-empty{padding:8px;font-size:11px;font-style:italic;color:var(--text-dim)}.rigging-list-list{display:flex;flex-direction:column;gap:2px}.rigging-list-row{display:flex;align-items:center;gap:6px;font-size:11px;padding:3px 6px;cursor:pointer;border:1px solid var(--border);border-radius:4px}.rigging-list-row:hover{background:var(--accent-dim)}.rigging-list-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rigging-list-cell-number,.rigging-list-cell-type{flex:1 1 auto;min-width:0;font-weight:600}.rigging-list-cell-length,.rigging-list-cell-elev,.rigging-list-cell-qty{flex:0 0 auto;color:var(--text-dim)}.rigging-list-cell-weight{flex:0 0 auto;text-align:right;color:var(--text-dim)}.rigging-list-notes{display:flex;flex-direction:column;gap:2px;padding:6px;margin-top:4px;border-top:1px solid var(--border);font-size:10px;font-style:italic;color:var(--text-dim)}.hoist-schedule-toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;padding:4px;border-bottom:1px solid var(--border)}.hoist-schedule-body{display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:4px;gap:4px}.hoist-schedule-empty{padding:8px;font-size:11px;font-style:italic;color:var(--text-dim)}.hoist-schedule-list{display:flex;flex-direction:column;gap:2px}.hoist-schedule-row{display:flex;align-items:center;gap:6px;font-size:11px;padding:3px 6px;cursor:pointer;border:1px solid var(--border);border-radius:4px}.hoist-schedule-row:hover{background:var(--accent-dim)}.hoist-schedule-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hoist-schedule-cell-unit{flex:0 0 auto;font-weight:600;min-width:2em}.hoist-schedule-cell-type{flex:1 1 auto;min-width:0}.hoist-schedule-cell-capacity{flex:0 0 auto;color:var(--text-dim)}.hoist-schedule-cell-support{flex:0 0 auto;color:var(--text-dim);font-size:10px}.hoist-schedule-cell-attached{flex:0 0 auto;text-align:right;color:var(--text-dim)}.hoist-schedule-notes{display:flex;flex-direction:column;gap:2px;padding:6px;margin-top:4px;border-top:1px solid var(--border);font-size:10px;font-style:italic;color:var(--text-dim)}.stage-schedule-toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;padding:4px;border-bottom:1px solid var(--border)}.stage-schedule-body{display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:4px;gap:4px}.stage-schedule-empty{padding:8px;font-size:11px;font-style:italic;color:var(--text-dim)}.stage-schedule-list{display:flex;flex-direction:column;gap:4px}.stage-schedule-row{display:flex;flex-direction:column;gap:2px;font-size:11px;padding:4px 6px;cursor:pointer;border:1px solid var(--border);border-radius:4px}.stage-schedule-row:hover{background:var(--accent-dim)}.stage-schedule-cell{overflow-wrap:break-word;white-space:normal}.stage-schedule-cell-unit{font-weight:600}.stage-schedule-cell-type{color:var(--text)}.stage-schedule-cell-size,.stage-schedule-cell-support,.stage-schedule-cell-rails{color:var(--text-dim);font-size:10px}.stage-schedule-notes{display:flex;flex-direction:column;gap:2px;padding:6px;margin-top:4px;border-top:1px solid var(--border);font-size:10px;font-style:italic;color:var(--text-dim)}.cable-schedule-toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;padding:4px;border-bottom:1px solid var(--border)}.cable-schedule-checks{display:flex;flex-direction:column;gap:2px;padding:4px 6px;font-size:11px;border-bottom:1px solid var(--border)}.cable-schedule-check-row{color:#f59e0b}.cable-schedule-check-row.clean{color:var(--text-dim)}.cable-schedule-body{display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:4px;gap:4px}.cable-schedule-empty{padding:8px;font-size:11px;font-style:italic;color:var(--text-dim)}.cable-schedule-list{display:flex;flex-direction:column;gap:2px}.cable-schedule-row{display:flex;align-items:center;gap:6px;font-size:11px;padding:3px 6px;cursor:pointer;border:1px solid var(--border);border-radius:4px}.cable-schedule-row:hover{background:var(--accent-dim)}.cable-schedule-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cable-schedule-cell-run{flex:0 0 auto;font-weight:600;min-width:2em}.cable-schedule-cell-type{flex:0 0 auto;color:var(--text-dim);max-width:7em}.cable-schedule-cell-fromto{flex:1 1 auto;min-width:0}.cable-schedule-cell-length,.cable-schedule-cell-stock{flex:0 0 auto;color:var(--text-dim);font-size:10px}.cable-schedule-pulllist{display:flex;flex-direction:column;gap:2px;padding:6px;margin-top:4px;border-top:1px solid var(--border);font-size:10px;color:var(--text-dim)}.cable-schedule-pulllist-title{font-weight:600;color:var(--text)}.cable-schedule-notes{display:flex;flex-direction:column;gap:2px;padding:6px;margin-top:4px;border-top:1px solid var(--border);font-size:10px;font-style:italic;color:var(--text-dim)}.video-wall-schedule-toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;padding:4px;border-bottom:1px solid var(--border)}.video-wall-schedule-body{display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:4px;gap:4px}.video-wall-schedule-empty{padding:8px;font-size:11px;font-style:italic;color:var(--text-dim)}.video-wall-schedule-list{display:flex;flex-direction:column;gap:2px}.video-wall-schedule-row{display:flex;align-items:center;gap:6px;font-size:11px;padding:3px 6px;cursor:pointer;border:1px solid var(--border);border-radius:4px}.video-wall-schedule-row:hover{background:var(--accent-dim)}.video-wall-schedule-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-wall-schedule-cell-unit{flex:0 0 auto;font-weight:600;min-width:2em}.video-wall-schedule-cell-type{flex:0 0 auto;color:var(--text-dim);max-width:7em}.video-wall-schedule-cell-size{flex:0 0 auto;color:var(--text-dim);font-size:10px}.video-wall-schedule-cell-mounted{flex:1 1 auto;min-width:0}.video-wall-schedule-notes{display:flex;flex-direction:column;gap:2px;padding:6px;margin-top:4px;border-top:1px solid var(--border);font-size:10px;font-style:italic;color:var(--text-dim)}.report-scope-control{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.report-scope-control select{background:var(--bg-2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:3px 6px;font-size:11px}.report-scope-layer-picker{display:flex;flex-wrap:wrap;gap:2px 8px;padding:2px 4px;border:1px solid var(--border);border-radius:4px;max-height:80px;overflow-y:auto}.report-scope-layer-row{display:flex;align-items:center;gap:3px;font-size:11px;white-space:nowrap}.report-export-buttons{display:flex;gap:4px}.report-export-buttons button{background:var(--bg-2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:3px 8px;font-size:11px;cursor:pointer}.report-export-buttons button:hover{background:var(--accent-dim);border-color:var(--accent)}.patch-list-toolbar>button{background:var(--bg-2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:3px 8px;font-size:11px;cursor:pointer}.patch-list-toolbar>button:hover{background:var(--accent-dim);border-color:var(--accent)}.patch-list-import-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;background:#00000080;display:flex;align-items:center;justify-content:center}.patch-list-import-panel{background:var(--bg-1);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 28px #00000073;width:min(560px,92vw);max-height:86vh;display:flex;flex-direction:column;padding:12px;gap:8px}.patch-list-import-title{font-size:13px;font-weight:600}.patch-list-import-note{font-size:11px;color:#f59e0b}.patch-list-import-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.patch-list-import-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);margin-bottom:3px}.patch-list-import-list{display:flex;flex-direction:column;gap:1px;max-height:160px;overflow-y:auto;border:1px solid var(--border);border-radius:4px;padding:4px 6px}.patch-list-import-list-row{font-size:11px;padding:1px 0}.patch-list-import-actions{display:flex;justify-content:flex-end;gap:6px;padding-top:4px;border-top:1px solid var(--border)}.patch-list-import-actions button{background:var(--bg-2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:5px 12px;font-size:12px;cursor:pointer}.patch-list-import-actions button.primary{background:var(--accent-dim);border-color:var(--accent)}.patch-list-import-actions button.primary:hover{background:var(--accent)}.patch-list-import-actions button:disabled{opacity:.5;cursor:default}.replace-symbol-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;background:#00000080;display:flex;align-items:center;justify-content:center}.replace-symbol-panel{background:var(--bg-1);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 28px #00000073;width:min(420px,92vw);max-height:86vh;display:flex;flex-direction:column;padding:12px;gap:8px}.replace-symbol-title{font-size:13px;font-weight:600}.replace-symbol-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.replace-symbol-section{display:flex;flex-direction:column;gap:4px}.replace-symbol-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim)}.replace-symbol-section select{background:var(--bg-2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:4px 6px;font-size:12px}.replace-symbol-checkbox-row{display:flex;align-items:flex-start;gap:6px;font-size:11px;color:var(--text-dim);cursor:pointer}.replace-symbol-checkbox-row input{margin-top:2px}.replace-symbol-preview{font-size:12px;color:var(--text-dim);border-top:1px solid var(--border);padding-top:6px}.replace-symbol-actions{display:flex;justify-content:flex-end;gap:6px;padding-top:4px;border-top:1px solid var(--border)}.replace-symbol-actions button{background:var(--bg-2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:5px 12px;font-size:12px;cursor:pointer}.replace-symbol-actions button.primary{background:var(--accent-dim);border-color:var(--accent)}.replace-symbol-actions button.primary:hover{background:var(--accent)}.replace-symbol-actions button:disabled{opacity:.5;cursor:default}.replace-symbol-panel.underlay-page-picker{width:min(720px,94vw)}.underlay-page-picker-quick{display:flex;gap:6px}.underlay-page-picker-quick button{background:var(--bg-2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:4px 10px;font-size:12px;cursor:pointer}.underlay-page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.underlay-page-tile{display:flex;flex-direction:column;gap:4px;padding:6px;border:1px solid var(--border);border-radius:4px;cursor:pointer}.underlay-page-tile.picked{border-color:var(--accent);background:var(--accent-dim)}.underlay-page-thumb{height:130px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:2px}.underlay-page-thumb img{max-width:100%;max-height:100%}.underlay-page-caption{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-dim)}.shortcuts-edit-panel{width:min(640px,94vw)}.shortcuts-edit-search-row input{width:100%;background:var(--bg-2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:6px 8px;font-size:12px;box-sizing:border-box}.shortcuts-edit-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;padding:2px 0}.shortcuts-edit-row-label{color:var(--text)}.shortcuts-edit-row-controls{display:flex;align-items:center;gap:6px;flex:0 0 auto}.shortcuts-edit-key-btn{background:var(--bg-2);border:1px solid var(--border);color:var(--accent);font-weight:600;border-radius:4px;padding:3px 10px;font-size:11px;cursor:pointer;min-width:90px}.shortcuts-edit-key-btn:hover{border-color:var(--accent)}.shortcuts-edit-reset-btn{background:transparent;border:none;color:var(--text-dim);cursor:pointer;font-size:13px;padding:2px 4px}.shortcuts-edit-reset-btn:hover{color:var(--text)}.shortcuts-edit-waiting{color:var(--accent);font-size:11px;font-style:italic}.shortcuts-edit-waiting.shortcuts-edit-error{color:#f87171;font-style:normal}.shortcuts-edit-conflict{color:#fbbf24;font-size:11px}.shortcuts-edit-actions{flex-wrap:wrap}.shortcuts-print-menu{position:fixed;z-index:320}.library-import-panel{width:min(520px,92vw)}.library-import-progress-track{height:6px;border-radius:3px;background:var(--bg-2);overflow:hidden}.library-import-progress-fill{height:100%;background:var(--accent);transition:width .15s ease-out}.library-import-progress-text{font-size:12px;color:var(--text-dim);margin-top:6px}.library-import-file-list{display:flex;flex-direction:column;gap:1px;max-height:260px;overflow-y:auto;border:1px solid var(--border);border-radius:4px;padding:4px 6px}.library-import-file-heading{font-size:11px;font-weight:600;color:var(--text-dim);margin-top:6px}.library-import-file-heading:first-child{margin-top:0}.library-import-symbol-row{font-size:11px;padding:1px 0 1px 10px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.library-import-file-row{font-size:11px;padding:1px 0}.library-import-file-failed{color:#f87171}.library-import-duplicate-badge{font-size:9px;text-transform:uppercase;letter-spacing:.03em;color:#f59e0b;border:1px solid #f59e0b;border-radius:3px;padding:0 4px}.library-import-symbol-note{flex-basis:100%;font-size:10px;color:var(--text-dim);padding-left:10px}.library-import-summary{font-size:12px;font-weight:600}.library-panel-drop-target{outline:2px dashed var(--accent);outline-offset:-2px}.library-row-drop-target{background:var(--accent-dim);outline:1px dashed var(--accent);outline-offset:-1px}.backup-settings-note{color:var(--text-dim);font-size:12px;padding:2px 4px}.backup-settings-buttons{display:flex;gap:6px;padding:4px}.backup-settings-buttons button{background:var(--bg-2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:5px 12px;font-size:12px;cursor:pointer}.backup-restore-list{display:flex;flex-direction:column;gap:4px;max-height:320px;overflow-y:auto}.backup-restore-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px;background:var(--bg-2);border:1px solid var(--border);border-radius:4px}.backup-restore-info{min-width:0;overflow:hidden}.backup-restore-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.backup-restore-meta{color:var(--text-dim);font-size:11px}.backup-restore-row button{flex-shrink:0;background:var(--accent-dim);border:1px solid var(--accent);color:var(--text);border-radius:4px;padding:5px 12px;font-size:12px;cursor:pointer}.backup-restore-row button:hover{background:var(--accent)}:root{--ui-cut-poly: polygon( var(--ui-corner-cut) 0%, calc(100% - var(--ui-corner-cut)) 0%, 100% var(--ui-corner-cut), 100% calc(100% - var(--ui-corner-cut)), calc(100% - var(--ui-corner-cut)) 100%, var(--ui-corner-cut) 100%, 0% calc(100% - var(--ui-corner-cut)), 0% var(--ui-corner-cut) )}button,.tool-button,.menu-button,.menu-dropdown button,.tool-flyout-option,.mode-tab,.icon-btn,.data-block-collapse-btn,.data-block-close,.data-block-tab-close,.data-block-unstack,.data-block-tab,.plate-row,.frame-row,.q-row,.layer-row,.snap-toggle,.ruler-corner,.command-palette-row{border-radius:0;clip-path:var(--ui-cut-poly)}.layouts-strip button,.panel-subheading button{border-radius:0;border:1px solid transparent;background:linear-gradient(var(--bg-2),var(--bg-2)) padding-box,linear-gradient(var(--border),var(--border)) border-box;clip-path:var(--ui-cut-poly)}.data-block-header-actions button{border-radius:0;border:1px solid transparent;background:linear-gradient(var(--bg-3),var(--bg-3)) padding-box,linear-gradient(var(--border),var(--border)) border-box;clip-path:var(--ui-cut-poly)}.data-block-header-actions button:hover{background:linear-gradient(var(--bg-1),var(--bg-1)) padding-box,linear-gradient(var(--border),var(--border)) border-box}.data-block.floating .data-block-clip{border-radius:0;border:1px solid transparent;background:linear-gradient(var(--bg-1),var(--bg-1)) padding-box,linear-gradient(var(--border),var(--border)) border-box;clip-path:var(--ui-cut-poly);box-shadow:none;filter:drop-shadow(0 8px 28px rgba(0,0,0,.45))}.tool-flyout{border-radius:0;border:1px solid transparent;background:linear-gradient(var(--bg-2),var(--bg-2)) padding-box,linear-gradient(var(--border),var(--border)) border-box;clip-path:var(--ui-cut-poly);box-shadow:none;filter:drop-shadow(0 8px 24px rgba(0,0,0,.45))}.command-palette-panel{border-radius:0;border:1px solid transparent;background:linear-gradient(var(--bg-1),var(--bg-1)) padding-box,linear-gradient(var(--border),var(--border)) border-box;clip-path:var(--ui-cut-poly);box-shadow:none;filter:drop-shadow(0 8px 28px rgba(0,0,0,.45))}.inspect-card{border-radius:0;border:1px solid transparent;background:linear-gradient(var(--bg-2),var(--bg-2)) padding-box,linear-gradient(var(--border),var(--border)) border-box;clip-path:var(--ui-cut-poly);box-shadow:none;filter:drop-shadow(0 8px 24px rgba(0,0,0,.45))}.inspect-card.pinned{background:linear-gradient(var(--bg-2),var(--bg-2)) padding-box,linear-gradient(var(--accent),var(--accent)) border-box}.menu-dropdown{border-radius:0;border:1px solid transparent;background:linear-gradient(var(--bg-2),var(--bg-2)) padding-box,linear-gradient(var(--border),var(--border)) border-box;clip-path:var(--ui-cut-poly);box-shadow:none;filter:drop-shadow(0 8px 24px rgba(0,0,0,.4))}.mode-switcher{border-radius:0;border:1px solid transparent;background:linear-gradient(var(--bg-1),var(--bg-1)) padding-box,linear-gradient(var(--border),var(--border)) border-box;clip-path:var(--ui-cut-poly);box-shadow:none;filter:drop-shadow(0 2px 10px rgba(0,0,0,.35))}.shortcuts-panel{border-radius:0;border:1px solid transparent;background:linear-gradient(var(--bg-1),var(--bg-1)) padding-box,linear-gradient(var(--border),var(--border)) border-box;clip-path:var(--ui-cut-poly);box-shadow:none;filter:drop-shadow(0 12px 40px rgba(0,0,0,.5))}button:focus-visible,input:focus-visible,select:focus-visible,.tool-button:focus-visible,.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.view3d-panel{display:flex;flex-direction:column;flex:1;min-height:0}.view3d-picker{display:flex;flex-wrap:wrap;gap:4px;padding:4px;border-bottom:1px solid var(--border)}.view3d-picker-btn{min-height:32px;min-width:44px;padding:2px 8px}.view3d-picker-btn.active{background:var(--accent);color:#fff}.view3d-canvas-wrap{flex:1;min-height:160px;position:relative;overflow:hidden}.view3d-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;touch-action:none;cursor:grab;outline:none}.view3d-canvas:active{cursor:grabbing}.view3d-status{padding:4px 6px;border-top:1px solid var(--border);font-size:11px;color:var(--text-dim)}.q-corners{padding:6px 8px 4px;border-bottom:1px solid var(--border, #333)}.q-corners-title{font-size:11px;opacity:.75;margin-bottom:4px}.q-corners-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 6px}.q-corner{display:flex;align-items:center;gap:4px;min-width:0}.q-corner-key{flex:0 0 auto;font-size:11px;opacity:.85;min-width:36px}.q-corner-select{flex:1 1 auto;min-width:0;min-height:26px}.q-row .q-kind{flex:0 0 auto;font-size:10px;opacity:.6;min-width:18px;text-align:center}.q-row .q-kind.q-kind-3d{opacity:1;color:#60a5fa}.q-row .q-corner-badge{flex:0 0 auto;font-size:10px;padding:0 4px;border:1px solid currentColor;opacity:.8;white-space:nowrap}.view3d-hidden-toggle{display:inline-flex;align-items:center;gap:4px;margin-left:6px;font-size:11px;min-height:32px;white-space:nowrap}.mode-switcher .mode-label{align-self:center;padding:0 10px;font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;border-left:1px solid var(--border);margin-left:4px}.mode-switcher .mode-label.mode-label-3d{color:#93c5fd}.mode-switcher .view-picker{display:flex;gap:2px;border-left:1px solid var(--border);padding-left:4px}.mode-switcher .view-pick{padding:5px 8px;min-height:30px}.view3d-main{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;flex-direction:column;background:inherit}.view3d-main[hidden]{display:none}.view3d-main .view3d-toolbar{position:absolute;top:10px;right:10px;z-index:2;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:50%;padding:3px;background:var(--bg-1);border:1px solid var(--border)}.view3d-main .view3d-canvas-wrap{flex:1;position:relative;overflow:hidden;min-height:0}.view3d-main .view3d-status{padding:4px 8px;font-size:11px;color:var(--text-dim);background:var(--bg-1);border-top:1px solid var(--border)}.data-block-chrome{flex-wrap:wrap}.data-block-sole-header{flex-wrap:wrap;row-gap:2px;padding-top:2px;padding-bottom:2px}.data-block-sole-label{flex:1 0 auto;overflow:visible;text-overflow:clip}.panel-body{overflow-x:hidden;min-width:0}.panel.properties-panel,.panel.tool-selected-panel,.panel.details-panel{overflow-x:hidden}.panel-body .field-row{min-width:0;flex-wrap:wrap}.panel-body .field-row>*{min-width:0;max-width:100%}.view3d-zoomy-readout{position:absolute;top:8px;left:8px;max-width:calc(100% - 16px);padding:4px 8px;font-size:11px;color:var(--text);background:var(--bg-1);border:1px solid var(--accent, #3b82f6);pointer-events:none;z-index:2}.view3d-zoomy-readout[hidden]{display:none}.view3d-zoomy-touch{position:absolute;right:8px;bottom:8px;width:min(260px,calc(100% - 96px));display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:var(--bg-1);border:1px solid var(--accent, #3b82f6);font-size:11px;z-index:2;touch-action:none}.view3d-zoomy-touch[hidden]{display:none}.view3d-zoomy-touch-row{display:flex;align-items:center;gap:8px}.view3d-zoomy-touch-row span{width:56px;flex:none;color:var(--text-dim)}.view3d-zoomy-touch-row input[type=range]{flex:1;min-width:0;height:28px}.view3d-zoomy-link{align-self:flex-start;min-height:28px}.properties-search{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:4px;padding:4px 6px;border-bottom:1px solid var(--border);background:var(--bg-1);flex:0 0 auto}.properties-search input{flex:1 1 auto;min-width:0;padding:4px 6px;font-size:12px}.properties-search-count{font-size:10px;color:var(--text-dim);white-space:nowrap}.pp-subheading{color:var(--text-dim)}.pp-section{font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.03em;margin:10px 0 4px;padding:4px 8px;color:#fff;background:var(--accent-dim);border-left:3px solid var(--accent)}.properties-panel .pp-subheading{color:#7fb2ff}.properties-panel .pp-group{color:#9cc3ff}.frames-subheading{margin:10px 2px 4px;padding:3px 6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:#7fb2ff;border-top:1px solid var(--border)}.redline-list-actions{display:flex;gap:2px}.redline-list-filters{display:flex;flex-direction:column;gap:4px;padding:4px;border-bottom:1px solid var(--border)}.redline-chip-row{display:flex;flex-wrap:wrap;gap:3px}.redline-chip{font-size:10px;padding:2px 6px;opacity:.65}.redline-chip.on{opacity:1;background:var(--accent-dim);border-color:var(--accent)}.redline-list-counts{padding:3px 6px;font-size:11px;color:var(--text-dim)}.redline-list-bulk{display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding:2px 4px 4px;border-bottom:1px solid var(--border);font-size:11px}.redline-list-body{display:flex;flex-direction:column;gap:2px;min-height:0;overflow-y:auto;padding:4px}.redline-list-empty{padding:8px;font-size:11px;font-style:italic;color:var(--text-dim)}.redline-list-row{display:flex;align-items:center;gap:5px;font-size:11px;padding:3px 5px;cursor:pointer;border:1px solid var(--border)}.redline-list-row:hover{background:var(--accent-dim)}.redline-list-row.selected{border-color:var(--accent);background:var(--accent-dim)}.redline-list-row.closed .redline-list-text{color:var(--text-dim)}.redline-list-icon{flex:0 0 auto;font-size:13px}.redline-list-text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.redline-list-meta{flex:0 0 auto;font-size:10px;color:var(--text-dim);white-space:nowrap}.redline-list-status{flex:0 0 auto;font-size:10px;padding:0 4px;border:1px solid var(--border)}.redline-list-status.status-open{color:#f59e0b}.redline-list-status.status-resolved,.redline-list-status.status-accepted{color:#2a9d4b}.redline-list-status.status-rejected{color:#e5383b}.redline-list-editor{padding:4px;border-top:1px solid var(--border)}.redline-list-editor-title{font-size:11px;font-weight:600;padding:2px 0 4px}.redline-list-editor textarea{width:100%;font:inherit;font-size:11px}.view3d-zoomy-readout.plate-zoomy-readout{top:auto;bottom:8px;left:30px;z-index:6}.status-bar .status-version{margin-left:auto;white-space:nowrap}.setup-warning{color:#f59e0b}.test-banner{margin-left:auto;display:flex;align-items:center;background:#f59e0b;color:#1a1d21;border-radius:3px;font-size:11px;font-weight:600;white-space:nowrap}.test-banner button{background:transparent;border:none;color:inherit;font:inherit;cursor:pointer;padding:3px 8px}.test-banner .test-banner-hide{padding:3px 7px;border-left:1px solid rgba(0,0,0,.25)}.test-banner button:hover{background:#0000001f}
