:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#1f2328;background:#efeee9}*{box-sizing:border-box}body{margin:0;overflow:hidden;font-family:var(--roughcad-font, Inter),Segoe UI,Arial,sans-serif}button,input,select{font:inherit}input[type=checkbox],input[type=radio]{accent-color:var(--roughcad-accent, #0f6d7a)}button{border:1px solid #c9c5ba;background:#faf9f4;color:#1f2328;min-height:30px;display:inline-flex;align-items:center;gap:6px;border-radius:6px;cursor:default}button:hover{border-color:#858071}button:disabled{opacity:.45;cursor:default}.app{width:100vw;max-width:100vw;height:100vh;display:grid;grid-template-rows:36px 42px 1fr;overflow:hidden;background:var(--roughcad-panel, #f4f2ea);color:#1f2328;--roughcad-icon-stroke: #111317;--roughcad-icon-gray: #a8adb8;--roughcad-icon-gray-dark: #707887;--roughcad-icon-white: #f7f7f4;--roughcad-icon-yellow: #ffe44a;--roughcad-icon-blue: #668ae6;--roughcad-icon-aqua: #2bc6e2;--roughcad-icon-red: #b90d0d;--roughcad-icon-green: #40df62;--roughcad-icon-orange: #ff9a1a;--roughcad-icon-purple: #bc63ff;--roughcad-icon-brown: #9a6430;font-family:var(--roughcad-font, Inter),Segoe UI,Arial,sans-serif;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath d='M6 3.5c0-1 1.2-1.5 1.9-.8l15.2 14.1c.8.7.3 2-.8 2.1l-7.1.4-3.6 5.9c-.6 1-2 .6-2.1-.6L6 3.5Z' fill='%2317191d' stroke='%23ffffff' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") 6 4,auto}.app.darkMode{color:#eceff3;background:#17191d;--roughcad-icon-stroke: #f0f4fb;--roughcad-icon-gray: #9ea7b4;--roughcad-icon-gray-dark: #7f8998;--roughcad-icon-white: #d8e0eb;--roughcad-icon-yellow: #ffdd5b;--roughcad-icon-blue: #7fafff;--roughcad-icon-aqua: #69dff2;--roughcad-icon-red: #ff7268;--roughcad-icon-green: #79f098;--roughcad-icon-orange: #ffb352;--roughcad-icon-purple: #d094ff;--roughcad-icon-brown: #d2a46b;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath d='M6 3.5c0-1 1.2-1.5 1.9-.8l15.2 14.1c.8.7.3 2-.8 2.1l-7.1.4-3.6 5.9c-.6 1-2 .6-2.1-.6L6 3.5Z' fill='%23f7f5ef' stroke='%230d1117' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") 6 4,auto}.app.darkMode input[type=checkbox],.app.darkMode input[type=radio]{accent-color:var(--roughcad-dark-accent, #48a9b8)}.app *,.app.darkMode *{cursor:inherit}.app.darkMode .menubar,.app.darkMode .toolbar,.app.darkMode .statusbar{background:var(--roughcad-dark-panel, #24272d);border-color:#3d424c;color:#d8dde6}.app.darkMode .libraryPanel,.app.darkMode .inspector{background:var(--roughcad-dark-panel, #1e2127);border-color:#3d424c}.app.darkMode button,.app.darkMode input,.app.darkMode select,.app.darkMode .searchRow,.app.darkMode .assetItem,.app.darkMode .appMenu,.app.darkMode .settingsModal{background:var(--roughcad-dark-card-bg, #2c3038);border-color:#4b515d;color:#f0f3f7}.app.darkMode .panelHeader,.app.darkMode .props label,.app.darkMode .assetItem small,.app.darkMode .menubarFilename,.app.darkMode .appMenuEmpty,.app.darkMode .empty{color:#c3cad5}.app.darkMode .empty{background:#262b33;border-color:#505864;color:#eef2f7}.app.darkMode .appMenuDivider{background:#4b515d}.app.darkMode .appMenuHeading{color:#d4bc72}.app.darkMode .layer.selected{background:var(--roughcad-dark-accent-soft, #203940);border-color:var(--roughcad-dark-accent, #48a9b8)}.app.darkMode .statusTool{color:var(--roughcad-dark-accent, #8ed3df)}.app.darkMode .arrayPreviewPanel{background:color-mix(in srgb,var(--roughcad-dark-card-bg, #2c3038) 74%,var(--roughcad-dark-accent-soft, #203940) 26%);border-color:color-mix(in srgb,var(--roughcad-dark-accent, #48a9b8) 22%,#4b515d);color:#f0f3f7}.app.darkMode .arrayPreviewSvg{border-color:color-mix(in srgb,var(--roughcad-dark-accent, #48a9b8) 20%,#4b515d);background:linear-gradient(90deg,color-mix(in srgb,var(--roughcad-dark-accent, #48a9b8) 15%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--roughcad-dark-accent, #48a9b8) 15%,transparent) 1px,transparent 1px),color-mix(in srgb,var(--roughcad-dark-panel, #20242b) 88%,black 12%)}.app.darkMode .arrayPreviewMeta{color:color-mix(in srgb,var(--roughcad-dark-accent, #8ed3df) 18%,#c3cad5)}.app.darkMode .arrayLimitWarning{background:#3d2f1b;border-color:#c18a35;color:#ffe1aa}.app.darkMode .aboutBanner{background:linear-gradient(135deg,#2a3039,#9b7413 48%,#111827 49%,#202936)}.app.darkMode .aboutDetails a{color:#8ed3df}.app.darkMode .aboutLegal{color:#c3cad5}.app.darkMode .toolbarGroup,.app.darkMode .toolbarTabs{border-color:#3d424c}.app.darkMode .toolbarTabs button{color:#d8dde6;background:#24272d;border-color:#3d424c}.app.darkMode .toolbarTabs button.active{color:#f0f3f7;background:var(--roughcad-dark-accent-soft, #203940);border-color:var(--roughcad-dark-accent, #48a9b8)}.app.darkMode .statusbar>span:not(:last-child),.app.darkMode .statusbar>button{border-right-color:#c3cad538}.menubar,.toolbar{width:100%;min-width:0;display:flex;align-items:flex-start;gap:6px;padding:4px 8px;border-bottom:1px solid #c9c5ba;background:var(--roughcad-panel, #f7f5ef)}.menubar{position:relative;align-items:center}.toolbar{position:relative;z-index:10;padding:4px 8px;overflow:visible}.toolbarCommands{min-width:0;display:flex;align-items:flex-start;gap:6px;overflow:hidden}.compactLayout .toolbarCommands{align-items:center;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 58%,#b8b2a4) transparent}.compactLayout .toolbarCommands::-webkit-scrollbar{height:8px}.compactLayout .toolbarCommands::-webkit-scrollbar-track{background:transparent}.compactLayout .toolbarCommands::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 52%,#c9c5ba)}.app.darkMode.compactLayout .toolbarCommands::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--roughcad-dark-accent, #48a9b8) 56%,#4b515d)}.app.darkMode.compactLayout .toolbarCommands{scrollbar-color:color-mix(in srgb,var(--roughcad-dark-accent, #48a9b8) 66%,#48505c) transparent}.compactLayout .toolbar{align-items:center;padding-top:2px;padding-bottom:2px}.compactLayout .toolbarGroup{align-items:center}.compactLayout .toolbar button{width:32px;min-width:32px;height:32px;min-height:32px;padding:0;flex-direction:row;gap:0}.compactLayout .toolbar .toolLabel{display:none}.brandMenu{position:relative;min-width:190px;z-index:30}.brandButton{display:flex;align-items:center;gap:8px;width:auto;min-width:0;padding:0 8px 0 4px;font-weight:700;border-color:transparent;background:transparent}.brandButton img{width:22px;height:22px}.appMenu{position:absolute;left:8px;top:calc(100% + 10px);width:fit-content;min-width:252px;max-width:min(420px,calc(100vw - 32px));padding:8px;border:1px solid #c9c5ba;border-radius:8px;background:var(--roughcad-panel, #f7f5ef);box-shadow:0 16px 36px #1f23282e;display:grid;gap:4px}.appMenu button,.app.darkMode .appMenu button{width:auto;min-width:100%;justify-content:flex-start;min-height:30px;padding:0 10px;background:transparent;border-color:transparent;text-align:left;white-space:nowrap}.appMenu button:hover{background:var(--roughcad-accent-soft, #e0f0ef);border-color:var(--roughcad-accent, #0f6d7a)}.appMenuDivider{height:1px;margin:4px 2px;background:#c9c5ba}.appMenuHeading{padding:2px 8px 0;font-size:10px;font-weight:800;text-transform:uppercase;color:#756b53}.appMenuEmpty{padding:5px 8px;color:#696d74;font-size:12px}.menubarFilename{position:absolute;left:50%;max-width:min(460px,38vw);transform:translate(-50%);overflow:hidden;color:#4d5058;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.menubarRight{margin-left:auto;display:flex;align-items:center;gap:6px}.iconOnlyButton{width:30px;min-width:30px;padding:0;justify-content:center}.appErrorBanner{position:fixed;left:50%;top:48px;z-index:200;max-width:min(720px,calc(100vw - 32px));display:flex;align-items:center;gap:10px;padding:8px 10px 8px 12px;border:1px solid #b94b4b;border-radius:8px;background:#fff3f0;color:#8f1d1d;box-shadow:0 12px 28px #1f232838;transform:translate(-50%)}.appErrorBanner span{min-width:0;overflow:hidden;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.appErrorBanner button{min-width:26px;width:26px;min-height:24px;padding:0;justify-content:center}.app.darkMode .appErrorBanner{background:#3b2225;border-color:#d36b6b;color:#ffd2d2}.toolbar button{width:32px;justify-content:center;padding:0}.toolLabel{display:none}.app.showToolLabels{grid-template-rows:36px 72px 1fr}.app.showToolLabels .toolbar{padding-top:5px}.app.showToolLabels .toolbarCommands{align-items:stretch}.app.showToolLabels .toolbar button{width:62px;min-height:60px;padding:4px;flex-direction:column;gap:2px;line-height:1.05}.app.showToolLabels .toolbar .toolLabel{display:block;max-width:58px;max-height:34px;overflow:hidden;color:#343a40;font-size:9.5px;font-weight:650;line-height:1.2;text-align:center;text-overflow:clip;white-space:pre-line}.app.showToolLabels .toolbar .tallLabelTool{width:62px}.app.showToolLabels .toolbar .tallLabelTool .toolLabel{max-width:58px;max-height:34px;font-size:7.4px;line-height:1}.app.showToolLabels .toolbar .compactLabelTool .toolLabel{font-size:8.7px;line-height:1.08}.toolbarTabs{position:absolute;left:0;top:calc(100% + 5px);z-index:6;width:290px;display:flex;height:28px;align-items:flex-start;align-self:end;gap:0;padding-right:0;margin-right:0;border-right:0}.toolbarTabs button{width:0;flex:1 1 0;min-width:0;min-height:28px;height:28px;padding:0 10px;flex-direction:row;gap:0;border-radius:0 0 6px 6px;border:1px solid #c9c5ba;background:var(--roughcad-panel, #f7f5ef);font-size:12px;font-weight:750}.app.showToolLabels .toolbar .toolbarTabs button{width:0;flex:1 1 0;min-width:0;min-height:28px;height:28px;padding:0 10px;flex-direction:row;gap:0}.toolbarTabs button:first-child{border-top-left-radius:0;border-bottom-left-radius:6px}.toolbarTabs button:last-child{border-top-right-radius:0;border-bottom-right-radius:6px}.toolbarTabs button.active{background:var(--roughcad-accent-soft, #e0f0ef);border-color:var(--roughcad-accent, #0f6d7a);color:#1f2328}.layerStackButtons{display:grid;grid-template-rows:1fr 1fr;gap:3px;min-width:50px;align-self:stretch}.toolbar .layerStackButtons button,.app.showToolLabels .toolbar .layerStackButtons button{width:52px;min-height:0;height:25px;padding:0 4px;display:flex;flex-direction:row;gap:3px;justify-content:flex-start;font-size:10px;line-height:1}.compactLayout .layerStackButtons{min-width:0;display:flex;align-self:center;gap:5px}.compactLayout .toolbar .layerStackButtons button{width:32px;min-width:32px;height:32px;min-height:32px;padding:0;justify-content:center}.compactLayout .layerStackButtons button span{display:none}.app.darkMode.showToolLabels .toolbar .toolLabel{color:#d8dde6}.toolbar button.active,.menubar button:hover,.toolbar button:hover{border-color:var(--roughcad-accent, #0f6d7a)}.toolbar button.active{background:var(--roughcad-accent-soft, #e0f0ef)}.app.darkMode .toolbar button.active,.app.darkMode .menubar button:hover,.app.darkMode .toolbar button:hover{border-color:var(--roughcad-dark-accent, #48a9b8)}.app.darkMode .toolbar button.active{background:var(--roughcad-dark-accent-soft, #203940)}.toolbarGroup{display:flex;align-items:center;gap:5px;padding-right:8px;margin-right:2px;border-right:1px solid #c9c5ba}.toolbarGroup:last-child{border-right:0;padding-right:0;margin-right:0}.toolbarHintButton{opacity:.78}.toolbar .wideToolButton{width:auto;min-width:36px;padding:0 8px}.toolbar .wideToolButton span{font-size:12px}.toolIcon{width:19px;height:19px;object-fit:contain;filter:saturate(.85) contrast(1.04)}.app.darkMode .toolIcon-dimension{filter:invert(1) saturate(.85) contrast(1.08)}.app.darkMode .toolIcon-autolock,.app.darkMode .toolIcon-arrow,.app.darkMode .toolIcon-conveyorSnap{filter:invert(1) brightness(1.08) contrast(1.08)}.app.darkMode .toolIcon-zone{filter:brightness(1.65) saturate(.72) contrast(.95)}.app.darkMode .toolIcon-guard,.app.darkMode .toolIcon-lightCurtain{filter:invert(1) hue-rotate(180deg) saturate(.8) contrast(1.08)}.importAssetToolIcon{width:22px;height:22px;image-rendering:auto;filter:saturate(.9) contrast(1.12);transform:translateY(-.5px)}.toolIcon-robotReach{width:21px;height:21px;image-rendering:auto;filter:saturate(1.08) contrast(1.08)}.toolIcon-robotScout{width:25px;height:25px;image-rendering:auto;filter:saturate(1.05) contrast(1.08)}.toolIcon-conveyorSnap{width:23px;height:23px;image-rendering:auto;filter:saturate(1.1) contrast(1.12)}.exportIcon{stroke-width:2.1}.exportIconPng{color:#236fa4}.exportIconDxf{color:#8a5f12}.exportIconPdf{color:#9a2f2f}.app.darkMode .exportIconPng{color:#7cc7ff}.app.darkMode .exportIconDxf{color:#f0c45c}.app.darkMode .exportIconPdf{color:#ff9b9b}.app.darkMode .toolIcon-polyline,.app.darkMode .toolIcon-freeDraw,.app.darkMode .toolIcon-linearArray,.app.darkMode .toolIcon-polarArray{filter:none}.toolbar .active,button.active{background:#dcefed;border-color:#0f6d7a;color:#0f5964}.separator{width:1px;height:24px;background:#c9c5ba;margin:0 4px}.workspace{width:100%;min-width:0;min-height:0;display:grid;grid-template-columns:290px minmax(0,1fr) 300px;position:relative;overflow:hidden}.workspace.tutorialDockedWorkspace{grid-template-columns:290px minmax(0,1fr) 300px 360px}.libraryPanel,.inspector{min-height:0;padding:10px;background:var(--roughcad-panel, #f5f3ed);border-right:1px solid #c9c5ba;display:flex;flex-direction:column;gap:8px}.libraryPanel{position:relative;z-index:6;padding-right:4px;padding-top:46px;background:linear-gradient(180deg,color-mix(in srgb,var(--roughcad-accent-soft, #e0f0ef) 62%,transparent) 0,transparent 220px),var(--roughcad-panel, #f5f3ed)}.compactLayout .libraryPanel{padding-top:10px}.app.darkMode .libraryPanel{background:linear-gradient(180deg,color-mix(in srgb,var(--roughcad-dark-accent-soft, #203940) 74%,transparent) 0,transparent 220px),var(--roughcad-dark-panel, #1e2127)}.inspector{border-right:0;border-left:1px solid #c9c5ba}.pinButton{margin-left:auto;min-height:30px;min-width:30px;width:30px;padding:0;font-size:11px;display:flex;align-items:center;justify-content:center}.pinButton svg{width:17px;height:17px}.sideReveal{position:absolute;top:0;bottom:0;width:12px;z-index:4}.sideRevealLeft{left:0}.sideRevealRight{right:0}.libraryAutoHide .workspace{grid-template-columns:minmax(0,1fr) 300px}.libraryAutoHide .workspace.tutorialDockedWorkspace{grid-template-columns:minmax(0,1fr) 300px 360px}.inspectorAutoHide .workspace{grid-template-columns:290px minmax(0,1fr)}.inspectorAutoHide .workspace.tutorialDockedWorkspace{grid-template-columns:290px minmax(0,1fr) 360px}.libraryAutoHide.inspectorAutoHide .workspace{grid-template-columns:minmax(0,1fr)}.libraryAutoHide.inspectorAutoHide .workspace.tutorialDockedWorkspace{grid-template-columns:minmax(0,1fr) 360px}.libraryAutoHide .libraryPanel,.inspectorAutoHide .inspector{position:absolute;top:0;bottom:0;z-index:5;width:290px;box-shadow:0 12px 30px #0000002e;transition:transform .16s ease}.libraryAutoHide .libraryPanel{left:0;grid-column:1;transform:translate(-100%)}.inspectorAutoHide .inspector{right:0;width:300px;grid-column:1;transform:translate(100%)}.libraryAutoHide .canvasWrap{grid-column:1}.libraryAutoHide:not(.inspectorAutoHide) .inspector{grid-column:2}.inspectorAutoHide .canvasWrap{grid-column:2}.inspectorAutoHide:not(.libraryAutoHide) .libraryPanel{grid-column:1}.libraryAutoHide.inspectorAutoHide .canvasWrap{grid-column:1}.libraryAutoHide.libraryPeek .libraryPanel,.inspectorAutoHide.inspectorPeek .inspector{transform:translate(0)}.workspaceFocus .workspace,.workspaceFocus .workspace.tutorialDockedWorkspace{grid-template-columns:1fr}.workspaceFocus .libraryPanel,.workspaceFocus .inspector,.workspaceFocus .tutorialDockPanel,.workspaceFocus .sideReveal{display:none}.workspaceFocus .canvasWrap{grid-column:1}.panelHeader{min-height:24px;display:flex;align-items:center;gap:6px;font-weight:700;color:#373a40}.searchRow{display:flex;align-items:center;gap:6px;padding:0 8px;border:1px solid #c9c5ba;border-radius:6px;background:#fff}.searchRow input,.libraryPanel select,.props input,.props textarea,.robotFilters input,.robotFilters select{width:100%;min-height:32px;border:1px solid #c9c5ba;border-radius:6px;padding:5px 8px;background:#fff}.libraryTreeFilters{position:relative;display:grid;gap:6px}.libraryFilterControls{display:grid;grid-template-columns:34px 34px minmax(0,1fr);gap:6px}.libraryFilterReset,.libraryFilterMode{min-height:42px;justify-content:center;padding:0;background:#fff}.libraryFilterMode.active{background:#dcefed;border-color:#0f6d7a;color:#0f5964}.libraryFilterButton{width:100%;min-height:42px;display:grid;justify-items:start;gap:2px;text-align:left;padding:6px 8px;background:#fff}.libraryFilterButton span{font-size:12px;color:#565a62}.libraryFilterButton strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.libraryFilterMenu{position:absolute;left:0;top:calc(100% + 4px);z-index:30;width:min(520px,calc(100vw - 28px));max-height:min(520px,calc(100vh - 190px));display:grid;grid-template-columns:minmax(170px,.92fr) minmax(200px,1.08fr);overflow:hidden;border:1px solid #9da397;border-radius:7px;background:#fbfaf6;box-shadow:0 14px 32px #0000002e;opacity:0;pointer-events:none;transform:translateY(-4px);visibility:hidden;transition:opacity .12s ease,transform .12s ease,visibility .12s ease}.libraryTreeFilters.open .libraryFilterMenu{opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible}.libraryFilterColumn{min-width:0;max-height:inherit;display:grid;align-content:start;gap:3px;overflow:auto;padding:8px}.subcategoryColumn{border-left:1px solid #c9c5ba;background:#f4f1e8}.libraryFilterHeading{position:sticky;top:-8px;z-index:1;margin:-8px -8px 3px;padding:7px 8px 5px;background:inherit;font-size:11px;font-weight:750;color:#5f6369;text-transform:uppercase}.libraryFilterColumn button{min-height:28px;justify-content:flex-start;border-color:transparent;background:transparent;text-align:left}.libraryFilterColumn button:hover,.libraryFilterColumn button.hovered{background:#e9eee9;border-color:#b9c7bd}.libraryFilterColumn button.selected{background:#dcefed;border-color:#0f6d7a;color:#0f5964}.app.darkMode .libraryFilterButton,.app.darkMode .libraryFilterMode,.app.darkMode .libraryFilterReset,.app.darkMode .libraryFilterMenu{background:#23272f}.app.darkMode .libraryFilterButton span,.app.darkMode .libraryFilterHeading{color:#c3cad5}.app.darkMode .subcategoryColumn{background:#1f232b;border-color:#3d424c}.app.darkMode .libraryFilterColumn button:hover,.app.darkMode .libraryFilterColumn button.hovered{background:var(--roughcad-dark-accent-soft, #2f3742);border-color:var(--roughcad-dark-accent, #4a5564)}.app.darkMode .libraryFilterColumn button.selected{background:var(--roughcad-dark-accent-soft, #203940);border-color:var(--roughcad-dark-accent, #48a9b8);color:#f0f3f7}.app.darkMode .categoryThumb{background:var(--roughcad-dark-card-thumb-bg, #2a3039);border-color:var(--roughcad-dark-card-thumb-border, #4a5564);color:var(--roughcad-dark-card-thumb-fg, #dfe5ee)}.app.darkMode .libraryNavItem{background:var(--roughcad-dark-card-nav-bg, linear-gradient(90deg, rgba(214, 167, 47, .14), rgba(44,48,56,0) 58%), #2c3038)}.app.darkMode .assetTile{background:#fff;border-color:#c9c5ba;color:#1f2328;box-shadow:0 1px #fffffffa inset,0 2px 7px #0000002e,0 10px 22px #0000001f}.app.darkMode .libraryNavIcon{color:var(--roughcad-dark-card-badge-fg, #ffe1aa)}.app.darkMode .supplierNavIcon{color:var(--roughcad-dark-accent, #8ed3df)}.app.darkMode .libraryNavIcon svg{border-color:var(--roughcad-dark-card-thumb-border, #4b515d);background:var(--roughcad-dark-card-bg, #2c3038)}.app.darkMode .assetKind{border-color:var(--roughcad-dark-card-badge-border, #315d63);background:var(--roughcad-dark-card-badge-bg, #203940);color:var(--roughcad-dark-card-badge-fg, #8ed3df)}.app.darkMode .navKind{border-color:var(--roughcad-dark-card-badge-border, #7a5c16);background:var(--roughcad-dark-card-badge-bg, #3b321d);color:var(--roughcad-dark-card-badge-fg, #ffe1aa)}.props textarea{min-height:78px;resize:vertical}.settingsModal{width:min(380px,calc(100vw - 24px));background:var(--roughcad-panel, #f7f5ef);border:1px solid color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 24%,#8f948f);border-radius:9px;box-shadow:0 18px 45px #00000040,0 0 0 1px color-mix(in srgb,var(--roughcad-accent-soft, #e0f0ef) 46%,transparent);padding:14px 18px;display:grid;gap:9px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 62%,#b8b2a4) transparent}.settingsModal::-webkit-scrollbar{width:10px}.settingsModal::-webkit-scrollbar-track{background:transparent}.settingsModal::-webkit-scrollbar-thumb{border:2px solid var(--roughcad-panel, #f7f5ef);border-radius:999px;background:linear-gradient(180deg,color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 70%,#ffffff),var(--roughcad-accent, #0f6d7a))}.settingsModal:not(.aboutModal)>.modalHeader{margin:-14px -18px 2px;padding:9px 12px 9px 18px;border-bottom-color:color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 22%,#c9c5ba);border-radius:8px 8px 0 0;background:linear-gradient(90deg,color-mix(in srgb,var(--roughcad-accent-soft, #e0f0ef) 78%,transparent) 0%,transparent 68%),color-mix(in srgb,var(--roughcad-panel, #f7f5ef) 86%,white 14%);color:color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 30%,#1f2328)}.arrayModal{width:min(700px,calc(100vw - 24px))}.arrayDialogGrid{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:14px;align-items:start}.arrayControls{display:grid;gap:9px;min-width:0}.arrayToolActions{display:flex;gap:8px;flex-wrap:wrap}.arrayPreviewPanel{display:grid;gap:8px;min-width:0;padding:10px;border:1px solid color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 18%,#c8c1b4);border-radius:8px;background:color-mix(in srgb,var(--roughcad-card-bg, white) 66%,var(--roughcad-accent-soft, #e0f0ef) 34%);color:#1f2933}.arrayPreviewSvg{width:100%;aspect-ratio:11 / 9;border:1px solid color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 16%,#d6d0c4);border-radius:6px;background:linear-gradient(90deg,color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 12%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 12%,transparent) 1px,transparent 1px),#fffdf8;background-size:18px 18px}.arrayPreviewMeta{color:color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 20%,#555b62);font-size:11px;line-height:1.3}.arrayLimitWarning{display:grid;gap:6px;padding:9px 10px;border:1px solid #d09235;border-radius:8px;background:#fff0d6;color:#663b04;font-size:12px}.arrayLimitWarning button{justify-self:start}.aboutModal{width:min(420px,calc(100vw - 24px));padding:0;overflow:hidden}.aboutModal .modalHeader{padding:10px 14px 0}.aboutBanner{min-height:84px;display:flex;align-items:center;justify-content:center;gap:14px;margin-top:8px;background:linear-gradient(135deg,#efe7d6,#d8b43a 48%,#1f2933 49%,#263447);color:#fff8df;font-size:28px;font-weight:800;letter-spacing:0}.aboutBanner img{width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.28))}.aboutDetails{display:grid;gap:8px;padding:14px 18px 8px;font-size:12px}.aboutDetails>strong{font-size:15px}.aboutDetails a{color:#0f6d7a;font-weight:650}.aboutLegal{margin:4px 18px 16px;color:#555b62;font-size:11px;line-height:1.35}.settingsModal label{display:grid;grid-template-columns:1fr 160px;align-items:center;gap:10px;font-size:12px}.settingsModal label:has(input[type=checkbox]){grid-template-columns:26px 1fr;column-gap:8px}.settingsModal .propsGrid label{grid-template-columns:1fr;min-width:0}.settingsModal .propsGrid input{min-width:0;width:100%}.settingsSectionLabel{margin-top:4px;color:color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 34%,#4a5158);font-size:11px;font-weight:800;text-transform:uppercase}.settingsActions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.settingsInlineActions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0 2px;font-size:12px;color:#4d5058}.settingsInlineActions button{white-space:nowrap}.settingsActions button{min-width:72px;justify-content:center}.modalHelp{margin:-2px 0 2px;color:color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 18%,#555b62);font-size:12px;line-height:1.35}.settingsModal input::placeholder,.settingsModal textarea::placeholder,.textShapeModal input::placeholder,.textShapeModal textarea::placeholder,.robotDetails input::placeholder,.robotDetails textarea::placeholder{color:#8b919a}.aiExportModal{width:min(430px,calc(100vw - 24px));max-height:min(760px,calc(100vh - 24px));overflow:auto}.titleBlockExportModal{width:min(900px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:visible;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:10px;row-gap:8px}.titleBlockExportModal .modalHeader,.titleBlockExportModal .modalHelp,.titleBlockExportModal .settingsActions{grid-column:1 / -1}.titleBlockSection{display:grid;align-content:start;gap:6px;min-width:0;padding:8px;border:1px solid color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 18%,#d7d1c1);border-radius:7px;background:color-mix(in srgb,var(--roughcad-card-bg, white) 70%,var(--roughcad-accent-soft, #e0f0ef) 30%)}.titleBlockDetails{grid-column:1 / -1;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.titleBlockExportModal label{grid-template-columns:minmax(72px,1fr) minmax(0,150px);gap:8px}.titleBlockExportModal label:has(input[type=checkbox]){grid-template-columns:26px minmax(0,1fr)}.titleBlockExportModal .settingsSectionLabel{grid-column:1 / -1;margin:0 0 1px}.app.darkMode .titleBlockSection{border-color:color-mix(in srgb,var(--roughcad-dark-accent, #48a9b8) 18%,#4b515d);background:color-mix(in srgb,var(--roughcad-dark-card-bg, #2c3038) 72%,var(--roughcad-dark-accent-soft, #203940) 28%)}.assetEditorModal{width:min(1030px,calc(100vw - 20px));height:min(650px,calc(100vh - 20px));background:var(--roughcad-panel, #f2f2f2);border:1px solid color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 26%,#697386);border-radius:9px;box-shadow:0 20px 60px #00000059,0 0 0 1px color-mix(in srgb,var(--roughcad-accent-soft, #e0f0ef) 42%,transparent);display:grid;grid-template-rows:32px 32px auto 1fr;overflow:hidden}.assetEditorTitle{display:flex;align-items:center;gap:10px;padding:0 8px 0 12px;background:linear-gradient(90deg,color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 72%,#2a3039),color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 36%,#4f5c6d));color:#fff}.assetEditorTitle button{margin-left:auto;border:0;background:transparent;color:#fff}.assetEditorTools{display:flex;gap:4px;align-items:center;padding:2px 8px;background:color-mix(in srgb,var(--roughcad-panel, #f7f5ef) 82%,var(--roughcad-accent-soft, #e0f0ef) 18%);border-bottom:1px solid color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 14%,#d7d1c1)}.assetEditorTools button{min-height:22px;border:0;background:transparent;padding:0 8px}.assetEditorTools button.active{background:var(--roughcad-accent-soft, #dcefed);color:color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 68%,#0b3036);box-shadow:inset 0 -2px 0 var(--roughcad-accent, #0f6d7a)}.assetEditorTools button:active{transform:translateY(1px);background:color-mix(in srgb,var(--roughcad-accent-soft, #dcefed) 78%,var(--roughcad-accent, #0f6d7a) 22%)}.assetEditorSize{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 10px;background:color-mix(in srgb,var(--roughcad-panel, #f7f5ef) 86%,white 14%);color:color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 18%,#4d5058);font-size:12px}.assetEditorSize label{display:flex;gap:6px;align-items:center;font-size:12px}.assetEditorSize input{width:90px}.assetEditorStage{min-height:0;display:grid;place-items:center;padding:24px;background-color:color-mix(in srgb,var(--roughcad-panel, #f7f5ef) 82%,white 18%);background-image:linear-gradient(45deg,color-mix(in srgb,var(--roughcad-accent-soft, #e0f0ef) 38%,#d9d9d9) 25%,transparent 25%),linear-gradient(-45deg,color-mix(in srgb,var(--roughcad-accent-soft, #e0f0ef) 38%,#d9d9d9) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,color-mix(in srgb,var(--roughcad-accent-soft, #e0f0ef) 38%,#d9d9d9) 75%),linear-gradient(-45deg,transparent 75%,color-mix(in srgb,var(--roughcad-accent-soft, #e0f0ef) 38%,#d9d9d9) 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0;overflow:hidden}.assetEditorCanvas{position:relative;width:min(900px,calc(100vw - 88px));height:min(500px,calc(100vh - 190px));padding:0;background:transparent;overflow:hidden}.assetEditorImageWrap{left:50%;top:50%;position:absolute;display:block;transform-origin:center center;will-change:transform}.assetEditorCanvas img{display:block;width:100%;height:100%;object-fit:fill;-webkit-user-select:none;user-select:none}.assetCenterMarker{position:absolute;width:16px;height:16px;transform:translate(-50%,-50%)}.assetCenterMarker:before,.assetCenterMarker:after{content:"";position:absolute;background:#2cff4d}.assetCenterMarker:before{left:7px;top:0;width:2px;height:16px}.assetCenterMarker:after{left:0;top:7px;width:16px;height:2px}.assetEditorMeasureLine{position:absolute;height:3px;min-width:3px;transform-origin:0 50%;background:#168bff;box-shadow:0 0 0 2px #fff}.assetEditorMeasureLine:before,.assetEditorMeasureLine:after{content:"";position:absolute;top:50%;width:9px;height:9px;border-radius:999px;background:#168bff;border:2px solid #ffffff;transform:translate(-50%,-50%)}.assetEditorMeasureLine:after{left:100%}.searchRow input{border:0;padding-left:5px}.assetList,.layers{min-height:0;overflow:auto}.assetList{padding-right:4px;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 66%,#b8b2a4) transparent}.assetList::-webkit-scrollbar{width:10px}.assetList::-webkit-scrollbar-track{background:transparent}.assetList::-webkit-scrollbar-thumb{border:2px solid var(--roughcad-panel, #f5f3ed);border-radius:999px;background:linear-gradient(180deg,color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 76%,#ffffff),var(--roughcad-accent, #0f6d7a))}.assetList::-webkit-scrollbar-thumb:hover{background:var(--roughcad-accent, #0f6d7a)}.app.darkMode .assetList{scrollbar-color:color-mix(in srgb,var(--roughcad-dark-accent, #48a9b8) 68%,#48505c) transparent}.app.darkMode .assetList::-webkit-scrollbar-thumb{border-color:var(--roughcad-dark-panel, #1e2127);background:linear-gradient(180deg,color-mix(in srgb,var(--roughcad-dark-accent, #48a9b8) 72%,#ffffff),var(--roughcad-dark-accent, #48a9b8))}.app.darkMode .assetList::-webkit-scrollbar-thumb:hover{background:var(--roughcad-dark-accent, #48a9b8)}.librarySectionHeader,.librarySectionSubheader{display:block;letter-spacing:0}.librarySectionHeader{margin:10px 0 6px;padding:2px 4px 6px;border-bottom:1px solid #d5d0c3;font-size:13px;font-weight:750;color:#4b4f57}.librarySectionSubheader{margin:8px 0 4px;padding:0 4px;font-size:11px;font-weight:700;text-transform:uppercase;color:#756b53}.assetItem{width:100%;min-height:58px;position:relative;justify-content:flex-start;text-align:left;margin-bottom:6px;padding:6px 6px 6px 24px;background:var(--roughcad-card-bg, white);border-color:var(--roughcad-card-border, #c9c5ba)}.assetTile{background:#fff;border-color:#c9c5ba;color:#1f2328;box-shadow:0 1px #fffffff2 inset,0 1px 2px #1f23280d,0 4px 10px #1f23280a;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease;cursor:grab}.assetTile:hover{border-color:#bdb7aa;box-shadow:0 1px #fffffffa inset,0 2px 6px #1f232812,0 8px 16px #1f23280f}.assetTile:active{transform:translateY(1px);cursor:grabbing}.assetItem.dragging,.layer.dragging{opacity:.55}.assetItem img{width:44px;height:44px;max-width:44px;max-height:44px;object-fit:contain;display:block;flex:none}.categoryThumb{width:44px;height:44px;flex:none;display:grid;place-items:center;border:1px solid var(--roughcad-card-thumb-border, #c9c5ba);border-radius:6px;background:var(--roughcad-card-thumb-bg, #e8e5dc);color:var(--roughcad-card-thumb-fg, #45484f);font-weight:750;letter-spacing:0}.libraryNavItem{cursor:pointer;background:var(--roughcad-card-nav-bg, linear-gradient(90deg, rgba(216, 180, 58, .12), rgba(255,255,255,0) 58%), #fffdf8)}.libraryNavIcon{position:relative;width:44px;height:44px;overflow:hidden;flex:none;display:grid;place-items:center;border:0;border-radius:0;color:var(--roughcad-card-nav-fg, #5e4b08);background:transparent}.libraryNavIcon img{width:44px;height:44px;max-width:44px;max-height:44px;object-fit:contain;display:block;border-radius:0}.libraryNavIcon svg{position:absolute;right:-4px;bottom:-4px;padding:2px;border:1px solid var(--roughcad-card-thumb-border, #c9c5ba);border-radius:999px;background:var(--roughcad-card-bg, #fff9dc);box-sizing:content-box}.supplierNavIcon{color:var(--roughcad-accent, #0f5964);background:transparent}.libraryCardKind{position:absolute;left:6px;top:50%;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;padding:4px 2px;border-radius:999px;border:1px solid #c9c5ba;font-size:8px;font-style:normal;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:0;pointer-events:none}.assetKind{border-color:var(--roughcad-card-badge-border, #b9d4d1);background:var(--roughcad-card-badge-bg, #e9f6f4);color:var(--roughcad-card-badge-fg, #0f5964)}.navKind{border-color:var(--roughcad-card-badge-border, #dfcd89);background:var(--roughcad-card-badge-bg, #fff4c9);color:var(--roughcad-card-nav-fg, #6a4c00)}.categoryItem{border-color:var(--roughcad-card-border, #b8c0b6)}.categoryItem:hover,.supplierItem:hover{border-color:var(--roughcad-accent, #0f6d7a);background:color-mix(in srgb,var(--roughcad-card-bg, #eef7f5) 82%,var(--roughcad-accent-soft, #e0f0ef) 18%)}.supplierItem{border-color:var(--roughcad-card-border, #c3c9c0)}.librarySupplierSection{display:grid;gap:0}.librarySupplierHeading{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;margin:2px 0 6px;padding:5px 7px;border:1px solid var(--roughcad-card-border, #d5d0c3);border-radius:6px;background:color-mix(in srgb,var(--roughcad-card-thumb-bg, #ebe7dc) 78%,white 22%);color:var(--roughcad-card-thumb-fg, #4d5158);font-size:11px;font-weight:750;text-transform:uppercase}.librarySupplierHeading span{color:color-mix(in srgb,var(--roughcad-card-thumb-fg, #70757d) 72%,#70757d);font-weight:650;text-transform:none}.app.darkMode .librarySupplierHeading{background:color-mix(in srgb,var(--roughcad-dark-card-thumb-bg, #252a33) 78%,var(--roughcad-dark-card-bg, #2c3038) 22%);border-color:var(--roughcad-dark-card-border, #3b424d);color:var(--roughcad-dark-card-thumb-fg, #d9dee8)}.app.darkMode .librarySupplierHeading span{color:#adb6c4}.assetItem span{min-width:0;display:grid;gap:2px}.assetItem strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.layer span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.2}.layer .layerName{min-width:0;display:flex;align-items:center;gap:6px}.layer .layerName>span:first-child{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis}.layerLockStatus{flex:none;width:20px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:999px;border:1px solid #cfc8b8;background:#f6f3e9;color:#6f6a5d;cursor:pointer}button.layerLockStatus:hover{transform:translateY(-1px)}.layerLockStatus.locked{border-color:#d99999;background:#ffe6e6;color:#9f1d1d}.layerLockStatus.unlocked{border-color:#bed6c7;background:#edf7ef;color:#336845}.assetItem small{color:#696d74;line-height:1.2}.assetTile strong{color:#1f2328}.assetTile small{color:#696d74}.app.darkMode .assetTile small{color:#525965}.categoryItem small,.supplierItem small{white-space:normal}.canvasWrap{min-width:0;min-height:0;position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto}.mobileControls{position:fixed;left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + 62px);z-index:16;height:56px;pointer-events:none}.mobileFab{position:absolute;bottom:0;width:56px;height:56px;min-width:56px;min-height:56px;border-radius:999px;justify-content:center;padding:0;pointer-events:auto;box-shadow:0 10px 26px #00000038}.mobileLibraryFab{left:14px}.mobileLayersFab{right:14px}.mobilePropsFab{right:82px;width:auto;min-width:0;padding:0 14px;font-size:12px;font-weight:700}@media(max-height:740px){.mobileControls{bottom:calc(env(safe-area-inset-bottom,0px) + 56px)}.mobileFab{width:52px;height:52px;min-width:52px;min-height:52px}.mobilePropsFab{right:76px}}canvas{width:100%;height:100%;display:block;cursor:default;touch-action:none}.statusbar{min-height:32px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:0 10px;border-top:1px solid #c9c5ba;background:#f7f5ef;color:#4d5058;font-size:12px;position:relative;z-index:4;overflow:visible}.statusbarLeft,.statusbarRight{min-width:0;display:flex;align-items:center;gap:10px}.statusbarLeft{overflow:hidden}.statusbarRight{justify-content:flex-end;overflow:hidden}.statusbar button{min-height:24px;padding:0 8px}.statusbarLeft>span:not(:last-child),.statusbarLeft>button,.statusbarRight>span:not(:last-child){padding-right:8px;border-right:1px solid rgba(135,128,112,.35)}.statusbarLeft>button{margin-right:2px}.statusCoords,.statusTool,.statusHint{white-space:nowrap}.statusTool{max-width:240px;overflow:hidden;text-overflow:ellipsis}.statusbar .statusIconButton{min-width:28px;width:28px;height:24px;min-height:24px;justify-content:center;padding:0}.statusbar .statusIconButton.active{border-color:var(--roughcad-accent, #0f6d7a);background:var(--roughcad-accent-soft, #e0f0ef)}.app.darkMode .statusbar .statusIconButton.active{border-color:var(--roughcad-dark-accent, #48a9b8);background:var(--roughcad-dark-accent-soft, #203940)}.statusbar .statusIconButton .toolIcon{width:16px;height:16px}.zoneJump{position:relative;display:inline-flex}.zoneJump>button{display:inline-flex;align-items:center;gap:4px}.zoneJumpMenu{position:absolute;left:0;bottom:calc(100% + 6px);z-index:40;min-width:190px;max-height:260px;overflow:auto;padding:5px;border:1px solid #a9a397;border-radius:8px;background:#fffdf8;box-shadow:0 10px 24px #0003}.zoneJumpMenu button{width:100%;justify-content:flex-start;min-height:28px;border-color:transparent;background:transparent}.zoneJumpMenu button:hover{background:#e4f2f0}.autolockButton{transition:background .16s ease,border-color .16s ease,box-shadow .18s ease,transform .16s ease}.autolockSmooth .autolockButton.active{animation:autolockButtonSettle .36s ease-out;box-shadow:0 0 0 3px #d69b0024,inset 0 0 0 1px #ffffff70}.autolockIndicator{display:inline-flex;align-items:center;gap:5px;min-height:22px;padding:0 8px;border:1px solid #b98b14;border-radius:999px;background:#fff1bd;color:#654a00;font-weight:750}.autolockSmooth .autolockIndicator{animation:autolockBadgeIn .22s ease-out,autolockBadgeBreathe 1.7s ease-in-out infinite .22s}.autolockIndicator:before{content:"";width:7px;height:7px;border-radius:999px;background:#d69b00;box-shadow:0 0 0 3px #d69b002e}.autolockSmooth .autolockIndicator:before{animation:autolockDotPulse 1.3s ease-in-out infinite}.app.darkMode .autolockIndicator{border-color:#d6a72f;background:#3b321d;color:#ffe6a0}.app.darkMode .zoneJumpMenu{border-color:#525762;background:#252932;box-shadow:0 10px 24px #0000006b}.app.darkMode .zoneJumpMenu button:hover{background:#33424a}@keyframes autolockBadgeIn{0%{opacity:0;transform:translateY(4px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes autolockBadgeBreathe{0%,to{box-shadow:0 0 #d69b001f}50%{box-shadow:0 0 0 4px #d69b0014}}@keyframes autolockDotPulse{0%,to{box-shadow:0 0 0 3px #d69b002e}50%{box-shadow:0 0 0 6px #d69b0014}}@keyframes autolockButtonSettle{0%{transform:scale(.96)}55%{transform:scale(1.06)}to{transform:scale(1)}}.statusTool{font-weight:700;color:#2f5962}.statusMessage{color:#0f5964;font-weight:650}.layer{min-height:28px;display:grid;grid-template-columns:24px 1fr;align-items:center;gap:5px;padding:2px 5px;border:1px solid transparent;border-radius:6px;cursor:default}.layerChild{margin-left:34px;padding-left:18px;position:relative}.layerChild:before{content:"";position:absolute;left:7px;top:4px;bottom:4px;width:2px;background:#0f6d7a57;border-radius:999px}.layer button{width:22px;min-height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:12px}.layer.selected{border-color:#0f6d7a;background:#e8f4f3}.groupLayer{grid-template-columns:24px minmax(0,1fr);margin-top:6px;background:#ebe7da;font-weight:700;column-gap:7px}.assetGroupLayer{grid-template-columns:24px 24px minmax(0,1fr);align-items:center}.groupLayer span{min-height:22px;display:flex;align-items:center;min-width:0;cursor:default}.layerEditableName{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:text}.layerRenameInput{width:100%;min-width:0;height:22px;padding:2px 6px;border:1px solid #0f6d7a;border-radius:5px;background:#fff;color:#162022;font:inherit;font-weight:650}.layerName .layerRenameInput{flex:1}.app.darkMode .layerRenameInput{background:#20242d;color:#f4f7fb;border-color:#52b8c1}.layer.dropTarget{border-color:#168bff;box-shadow:inset 0 2px #168bff}.app.darkMode .layerChild:before{background:#c9cfda47}.app.darkMode .layerLockStatus{border-color:#4a505b;background:#252a33;color:#c5ccd7}.app.darkMode .layerLockStatus.locked{border-color:#8d3a3a;background:#3a2024;color:#ffb8b8}.app.darkMode .layerLockStatus.unlocked{border-color:#3b6951;background:#20352b;color:#acd9bc}.app.darkMode .librarySectionHeader{border-bottom-color:#434850;color:#dde3eb}.app.darkMode .librarySectionSubheader{color:#adbac8}.props{display:grid;gap:7px}.propsGrid,.propsChecks{display:grid;grid-template-columns:1fr 1fr;gap:6px}.propsChecks{align-items:center}.propsChecks label{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;column-gap:7px}.propsChecks input[type=checkbox]{margin:0}.propsGridThree{grid-template-columns:1fr .8fr .9fr}.propsGrid label{min-width:0}.props label{display:grid;gap:3px;font-size:11px;color:#4d5058}.props input,.props textarea{min-height:26px;padding:3px 6px;font-size:12px}.props textarea{min-height:58px;resize:vertical}.props .assetNotesInput{min-height:48px}.props label:has(input[type=checkbox]){grid-template-columns:18px 1fr;align-items:center}.props .propsChecks label:has(input[type=checkbox]){grid-template-columns:22px minmax(0,1fr);column-gap:7px}.propButtons{display:flex;flex-wrap:wrap;gap:6px}.danger{color:#8f1e1e;border-color:#d3a0a0}.contextScrim{position:fixed;inset:0;z-index:20}.contextMenu{position:fixed;min-width:190px;display:grid;gap:2px;padding:6px;background:#f7f5ef;border:1px solid #858071;border-radius:7px;box-shadow:0 16px 42px #00000038}.contextMenu button{width:100%;justify-content:flex-start;min-height:28px;padding:4px 8px;border:0;background:transparent;border-radius:4px}.contextMenu button:hover:not(:disabled){background:#e7f0ef}.contextMenu span{height:1px;margin:4px 2px;background:#d8d3c8}.dangerText{color:#8f1e1e}.empty,.error{padding:10px;color:#696d74;border:1px dashed #c9c5ba;border-radius:6px;background:#ffffff80}.error{color:#8f1e1e}.modalBackdrop{position:fixed;inset:0;display:grid;place-items:center;background:#1f232859}.modalBackdropNested{z-index:80;background:#1f232833}.robotModalBackdrop{place-items:start center;padding:92px 14px 18px}.tutorialWindow{position:fixed;width:min(430px,calc(100vw - 24px));max-width:calc(100vw - 24px);height:min(78vh,760px);max-height:calc(100vh - 24px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#f7f5ef;border:1px solid #858071;border-radius:10px;box-shadow:0 26px 80px #00000047;overflow:hidden}.tutorialDockPanel{min-height:0;padding:0;display:flex;align-items:stretch;border-left:1px solid #c9c5ba;background:var(--roughcad-panel, #f5f3ed)}.tutorialWindowDocked{position:relative;inset:auto;width:100%;max-width:none;height:100%;max-height:none;border:0;border-radius:0;box-shadow:none;background:transparent}.tutorialWindowHeader{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:8px 10px;border-bottom:1px solid #c9c5ba;background:linear-gradient(180deg,#faf8f1,#f0ece1);cursor:move;-webkit-user-select:none;user-select:none}.tutorialWindowHeader>div:first-child{min-width:0}.tutorialWindowHeaderDocked{padding:12px 12px 10px;background:linear-gradient(180deg,#ffffff75,#ffffff29);cursor:grab}.tutorialWindowHeaderDocked:active{cursor:grabbing}.tutorialWindowHeader strong,.tutorialWindowHeader span{display:block}.tutorialWindowHeader span{margin-top:2px;font-size:11px;color:#656971}.tutorialWindowActions{display:flex;align-items:center;gap:8px;flex-shrink:0}.tutorialWindowBody{min-height:0;overflow:auto;padding:10px;display:grid;gap:10px;font-size:12px}.tutorialWindowDocked .tutorialWindowBody{padding:10px 12px 12px}.tutorialSection{display:grid;gap:6px;padding:10px 11px;border:1px solid #d9d4c7;border-radius:8px;background:#ffffff8c}.tutorialSection h3{margin:0;font-size:12px}.tutorialSection p,.tutorialSection ul{margin:0;color:#353840;line-height:1.35}.tutorialSection ul{padding-left:18px}.tutorialSection li+li{margin-top:4px}.tutorialExample{border-color:#b8d6d8;background:#edf7f7}.tutorialDismissRow{display:flex;align-items:center;gap:8px;padding:10px 12px 12px;border-top:1px solid #d5d0c3;font-size:12px;color:#4d5058}.tutorialWindowDocked .tutorialDismissRow{padding:8px 12px 12px}.robotModal{width:min(1220px,calc(100vw - 32px));height:min(820px,calc(100vh - 110px));max-height:min(820px,calc(100vh - 110px));display:grid;grid-template-rows:44px auto 1fr;background:var(--roughcad-panel, #f7f5ef);border:1px solid color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 22%,#858071);border-radius:8px;box-shadow:0 22px 70px #00000040,0 0 0 1px color-mix(in srgb,var(--roughcad-accent-soft, #e0f0ef) 48%,transparent);overflow:hidden}.textShapeModal{width:min(420px,calc(100vw - 28px));display:grid;gap:10px;padding-bottom:12px;background:#f7f5ef;border:1px solid #858071;border-radius:8px;box-shadow:0 22px 70px #00000040;overflow:hidden}.confirmNewProjectModal{width:min(460px,calc(100vw - 28px))}.confirmNewProjectModal .modalHelp{padding:0 16px}.recoveryModal{width:min(500px,calc(100vw - 28px))}.recoveryModal .modalHelp{padding:0 16px}.recoveryDetails{margin:0 16px;padding:9px 10px;display:grid;gap:5px;border:1px solid #d5d0c3;border-radius:7px;background:#ffffff73;color:#4d5058;font-size:12px}.app.darkMode .recoveryDetails{border-color:#4b515d;background:#1f2229;color:#d8dde6}.textShapeModal label{display:grid;gap:4px;padding:0 12px;font-size:12px;color:#4d5058}.paddedButtons{padding:0 12px}.textShapeModal textarea{min-height:86px;resize:vertical}.textShapeModal textarea,.textShapeModal input{border:1px solid #c9c5ba;border-radius:6px;padding:7px 8px;background:#fff}.textShapeGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.modalHeader,.robotFilters{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 18%,#c9c5ba)}.modalHeader{justify-content:space-between}.robotModal .modalHeader{background:linear-gradient(90deg,color-mix(in srgb,var(--roughcad-accent-soft, #e0f0ef) 74%,transparent) 0%,transparent 64%),color-mix(in srgb,var(--roughcad-panel, #f7f5ef) 88%,white 12%);color:color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 28%,#1f2328)}.modalCloseButton{width:28px;min-height:28px;padding:0;justify-content:center}.robotFilters{display:grid;grid-template-columns:minmax(180px,1.2fr) repeat(3,minmax(120px,.75fr)) repeat(3,minmax(92px,.55fr)) auto;align-items:center;background:color-mix(in srgb,var(--roughcad-card-bg, white) 62%,var(--roughcad-accent-soft, #e0f0ef) 38%);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 58%,#b8b2a4) transparent}.robotTable,.robotDetails{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 58%,#b8b2a4) transparent}.robotFilters::-webkit-scrollbar,.robotTable::-webkit-scrollbar,.robotDetails::-webkit-scrollbar{width:10px;height:10px}.robotFilters::-webkit-scrollbar-track,.robotTable::-webkit-scrollbar-track,.robotDetails::-webkit-scrollbar-track{background:transparent}.robotFilters::-webkit-scrollbar-thumb,.robotTable::-webkit-scrollbar-thumb,.robotDetails::-webkit-scrollbar-thumb{border:2px solid var(--roughcad-panel, #f7f5ef);border-radius:999px;background:linear-gradient(180deg,color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 76%,#ffffff),var(--roughcad-accent, #0f6d7a))}.robotFilters::-webkit-scrollbar-thumb:hover,.robotTable::-webkit-scrollbar-thumb:hover,.robotDetails::-webkit-scrollbar-thumb:hover{background:var(--roughcad-accent, #0f6d7a)}.robotScoutBody{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 290px}.robotTable{min-height:0;overflow:auto}.robotTable th{-webkit-user-select:none;user-select:none}.robotTable tbody tr:hover,.selectedRobotRow{background:color-mix(in srgb,var(--roughcad-accent-soft, #e0f0ef) 72%,white)}.robotDetails{min-width:0;min-height:0;display:grid;grid-template-rows:auto auto auto auto auto 1fr;gap:10px;padding:12px;border-left:1px solid color-mix(in srgb,var(--roughcad-accent, #0f6d7a) 18%,#c9c5ba);background:color-mix(in srgb,var(--roughcad-panel, #f5f3ed) 72%,var(--roughcad-accent-soft, #e0f0ef) 28%);overflow:auto}.robotDetails img{max-width:100%;max-height:180px;width:auto;height:auto;justify-self:center;object-fit:contain;padding:8px;border:1px solid #d5d0c3;border-radius:6px;background:#fff}.robotDetailGrid{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;font-size:12px}.robotDetailGrid span{color:#656971}.robotDetailButtons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.robotDetails label{display:grid;gap:4px;font-size:12px;color:#4d5058}.robotDetails input,.robotDetails textarea{width:100%;border:1px solid #c9c5ba;border-radius:6px;padding:6px 8px;background:#fff}.robotDetails textarea{min-height:100px;resize:vertical}.app.darkMode .robotModal,.app.darkMode .textShapeModal,.app.darkMode .tutorialWindow{background:var(--roughcad-dark-panel, #24272d);border-color:color-mix(in srgb,var(--roughcad-dark-accent, #48a9b8) 22%,#4b515d)}.app.darkMode .settingsSectionLabel,.app.darkMode .modalHelp,.app.darkMode .textShapeModal label,.app.darkMode .settingsModal label,.app.darkMode .robotDetails label,.app.darkMode .robotDetailGrid span,.app.darkMode .assetEditorSize,.app.darkMode .aboutDetails,.app.darkMode .recoveryDetails{color:#cfd7e3}.app.darkMode .settingsSectionLabel{color:color-mix(in srgb,var(--roughcad-dark-accent, #e1c979) 64%,#f4e7bc)}.app.darkMode .settingsModal{background:var(--roughcad-dark-panel, #24272d);border-color:color-mix(in srgb,var(--roughcad-dark-accent, #48a9b8) 24%,#4b515d);box-shadow:0 18px 45px #0000006b,0 0 0 1px color-mix(in srgb,var(--roughcad-dark-accent-soft, #203940) 62%,transparent);scrollbar-color:color-mix(in srgb,var(--roughcad-dark-accent, #48a9b8) 64%,#4b515d) transparent}.app.darkMode .settingsModal::-webkit-scrollbar-thumb{border-color:var(--roughcad-dark-panel, #24272d);background:linear-gradient(180deg,color-mix(in srgb,var(--roughcad-dark-accent, #48a9b8) 76%,#ffffff),var(--roughcad-dark-accent, #48a9b8))}.app.darkMode .settingsModal:not(.aboutModal)>.modalHeader{border-bottom-color:color-mix(in srgb,var(--roughcad-dark-accent, #48a9b8) 22%,#4b515d);background:linear-gradient(90deg,color-mix(in srgb,var(--roughcad-dark-accent-soft, #203940) 78%,transparent) 0%,transparent 68%),color-mix(in srgb,var(--roughcad-dark-panel, #24272d) 86%,white 14%);color:#f0f3f7}.app.darkMode .settingsModal input::placeholder,.app.darkMode .settingsModal textarea::placeholder,.app.darkMode .textShapeModal input::placeholder,.app.darkMode .textShapeModal textarea::placeholder,.app.darkMode .robotDetails input::placeholder,.app.darkMode .robotDetails textarea::placeholder{color:#8f99a7}.app.darkMode .modalHeader,.app.darkMode .robotFilters{border-color:color-mix(in srgb,var(--roughcad-dark-accent, #48a9b8) 20%,#4b515d)}.app.darkMode .robotModal .modalHeader{background:linear-gradient(90deg,color-mix(in srgb,var(--roughcad-dark-accent-soft, #203940) 72%,transparent) 0%,transparent 64%),color-mix(in srgb,var(--roughcad-dark-panel, #24272d) 88%,white 12%);color:#f0f3f7}.app.darkMode .contextMenu{background:#24272d;border-color:#4b515d;color:#eef2f6;box-shadow:0 18px 48px #00000057}.app.darkMode .contextMenu button{color:#eef2f6}.app.darkMode .contextMenu button:hover:not(:disabled){background:#203940}.app.darkMode .contextMenu span{background:#4b515d}.app.darkMode .assetEditorModal{background:var(--roughcad-dark-panel, #24272d);border-color:color-mix(in srgb,var(--roughcad-dark-accent, #48a9b8) 24%,#4b515d);box-shadow:0 20px 60px #00000080,0 0 0 1px color-mix(in srgb,var(--roughcad-dark-accent-soft, #203940) 60%,transparent)}.app.darkMode .assetEditorTitle{background:linear-gradient(90deg,color-mix(in srgb,var(--roughcad-dark-accent, #48a9b8) 48%,#20242b),color-mix(in srgb,var(--roughcad-dark-accent-soft, #203940) 66%,#252932));color:#f3f6fb}.app.darkMode .assetEditorTools,.app.darkMode .assetEditorSize{background:color-mix(in srgb,var(--roughcad-dark-panel, #20242b) 84%,var(--roughcad-dark-accent-soft, #203940) 16%);color:#cfd7e3}.app.darkMode .assetEditorTools button{background:transparent;border-color:transparent;color:#d9e0ea}.app.darkMode .assetEditorTools button.active{background:var(--roughcad-dark-accent-soft, #203940);color:#eef5f7;box-shadow:inset 0 -2px 0 var(--roughcad-dark-accent, #48a9b8)}.app.darkMode .assetEditorTools button:active{background:color-mix(in srgb,var(--roughcad-dark-accent-soft, #203940) 80%,var(--roughcad-dark-accent, #48a9b8) 20%)}.app.darkMode .assetEditorStage{background-color:color-mix(in srgb,var(--roughcad-dark-panel, #20242b) 88%,black 12%);background-image:linear-gradient(45deg,color-mix(in srgb,var(--roughcad-dark-accent-soft, #203940) 48%,#3a414c) 25%,transparent 25%),linear-gradient(-45deg,color-mix(in srgb,var(--roughcad-dark-accent-soft, #203940) 48%,#3a414c) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,color-mix(in srgb,var(--roughcad-dark-accent-soft, #203940) 48%,#3a414c) 75%),linear-gradient(-45deg,transparent 75%,color-mix(in srgb,var(--roughcad-dark-accent-soft, #203940) 48%,#3a414c) 75%)}.app.darkMode .tutorialWindowHeader{border-color:#4b515d;background:linear-gradient(180deg,#2d3139,#252932)}.app.darkMode .tutorialWindowHeader span,.app.darkMode .tutorialDismissRow,.app.darkMode .settingsInlineActions{color:#c6ceda}.app.darkMode .tutorialSection{border-color:#434955;background:#2c3038}.app.darkMode .tutorialSection p,.app.darkMode .tutorialSection ul{color:#edf1f5}.app.darkMode .tutorialExample{border-color:#33545b;background:#22353a}.app.darkMode .tutorialDismissRow{border-color:#434955}.app.darkMode .robotDetails{background:color-mix(in srgb,var(--roughcad-dark-panel, #1f2229) 74%,var(--roughcad-dark-accent-soft, #203940) 26%);border-color:color-mix(in srgb,var(--roughcad-dark-accent, #48a9b8) 18%,#3d424c)}.app.darkMode .robotFilters{background:color-mix(in srgb,var(--roughcad-dark-card-bg, #2c3038) 68%,var(--roughcad-dark-accent-soft, #203940) 32%)}.app.darkMode .robotFilters,.app.darkMode .robotTable,.app.darkMode .robotDetails{scrollbar-color:color-mix(in srgb,var(--roughcad-dark-accent, #48a9b8) 66%,#48505c) transparent}.app.darkMode .robotFilters::-webkit-scrollbar-thumb,.app.darkMode .robotTable::-webkit-scrollbar-thumb,.app.darkMode .robotDetails::-webkit-scrollbar-thumb{border-color:var(--roughcad-dark-panel, #24272d);background:linear-gradient(180deg,color-mix(in srgb,var(--roughcad-dark-accent, #48a9b8) 72%,#ffffff),var(--roughcad-dark-accent, #48a9b8))}.app.darkMode .robotFilters::-webkit-scrollbar-thumb:hover,.app.darkMode .robotTable::-webkit-scrollbar-thumb:hover,.app.darkMode .robotDetails::-webkit-scrollbar-thumb:hover{background:var(--roughcad-dark-accent, #48a9b8)}.app.darkMode .robotDetails img,.app.darkMode .robotDetails input,.app.darkMode .robotDetails textarea{background:#2c3038;border-color:#4b515d;color:#f0f3f7}.app.darkMode .robotTable tbody tr:hover,.app.darkMode .selectedRobotRow{background:var(--roughcad-dark-accent-soft, #203940)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:7px 9px;border-bottom:1px solid #ddd8cc;text-align:left}th{position:sticky;top:0;background:color-mix(in srgb,var(--roughcad-panel, #efeee9) 82%,white 18%);z-index:1}.app.darkMode th{background:color-mix(in srgb,var(--roughcad-dark-panel, #2c3038) 82%,white 8%)}@media(max-width:980px){.workspace{grid-template-columns:230px 1fr}.inspector{display:none}}@media(max-width:900px){.robotModal{width:calc(100vw - 16px);height:calc(100vh - 110px);max-height:calc(100vh - 110px)}.tutorialWindow{width:calc(100vw - 16px);height:calc(100vh - 16px)}.robotFilters{grid-template-columns:1fr 1fr}.robotScoutBody{grid-template-columns:1fr}.robotDetails{display:none}}.mobileMode{height:100dvh;min-height:100svh;grid-template-rows:auto auto minmax(0,1fr);padding-top:env(safe-area-inset-top,0px)}.mobileMode .robotModalBackdrop{padding-top:calc(env(safe-area-inset-top,0px) + 132px)}.mobileMode .robotModal{height:calc(100dvh - 150px);max-height:calc(100dvh - 150px)}.mobileMode .menubar{min-height:44px;flex:none;overflow-x:auto;scrollbar-width:none;padding-top:6px;padding-bottom:6px}.mobileMode .toolbar{min-height:80px;flex:none;overflow-x:hidden;scrollbar-width:none;padding-top:7px;padding-bottom:0}.mobileMode .toolbarCommands{gap:8px;overflow-x:auto;scrollbar-width:none}.mobileMode .menubar::-webkit-scrollbar,.mobileMode .toolbar::-webkit-scrollbar,.mobileMode .toolbarCommands::-webkit-scrollbar,.mobileMode .toolbarTabs::-webkit-scrollbar{display:none}.mobileMode .toolbar button{width:44px;min-width:44px;min-height:44px}.mobileMode.showToolLabels .toolbar button{width:44px;min-width:44px;min-height:44px;padding:0}.mobileMode.showToolLabels .toolbar{padding-bottom:0}.mobileMode.showToolLabels .toolbar .toolLabel{display:none}.mobileMode .toolbarTabs button,.mobileMode.showToolLabels .toolbarTabs button{width:auto;min-width:58px;min-height:28px;padding:0 9px}.mobileMode .toolbarTabs{position:static;z-index:auto;width:290px;overflow-x:auto;scrollbar-width:none}.mobileMode .layerStackButtons{min-width:52px}.mobileMode .toolIcon{width:24px;height:24px}.mobileMode .workspace{grid-template-columns:1fr;min-height:0;overflow:hidden}.mobileMode .libraryPanel,.mobileMode .inspector{display:none}.mobileMode.mobileLibraryOpen .libraryPanel,.mobileMode.mobileInspectorOpen .inspector{position:absolute;top:0;bottom:32px;z-index:14;width:min(88vw,330px);display:flex;box-shadow:0 16px 38px #00000047}.mobileMode.mobileLibraryOpen .libraryPanel{left:0;border-right:1px solid #c9c5ba}.mobileMode.mobileInspectorOpen .inspector{right:0;border-left:1px solid #c9c5ba}.mobilePanelScrim{position:absolute;inset:0;z-index:13;min-height:0;padding:0;border:0;border-radius:0;background:#1a1c2047}.mobileMode .statusbar{grid-template-columns:minmax(0,1fr);align-content:center;min-height:40px;overflow:visible;gap:10px}.mobileMode .statusbarLeft,.mobileMode .statusbarRight{overflow-x:auto;scrollbar-width:none}.mobileMode .statusbarLeft::-webkit-scrollbar,.mobileMode .statusbarRight::-webkit-scrollbar{display:none}@media(max-width:720px){.arrayDialogGrid{grid-template-columns:1fr}.arrayModal{width:min(420px,calc(100vw - 24px))}}@media(max-width:560px){.mobilePropsFab{right:78px}}
