*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}html{direction:rtl}body{-webkit-font-smoothing:antialiased;text-align:right;direction:rtl;font-family:Segoe UI,Tahoma,Noto Sans Arabic,sans-serif}:root{--dxfk-primary-color:#1040b0;--dxfk-error-color:#f44336;--dxfk-bg-color:#fafafa;--dxfk-text-color:#212121;--dxfk-text-secondary:#757575;--dxfk-border-color:#e0e0e0;--dxfk-border-radius:4px;--dxfk-spacing-xs:4px;--dxfk-spacing-sm:8px;--dxfk-spacing-md:16px;--dxfk-spacing-lg:24px;--dxfk-ruler-size:24px;--dxfk-ruler-bg:#fafafa;--dxfk-ruler-text:#333;--dxfk-ruler-tick:#999;--dxfk-ruler-cursor:#1040b0}.dxfk-layer-panel{border:1px solid var(--dxfk-border-color,#e0e0e0);border-radius:var(--dxfk-border-radius,4px);pointer-events:auto;background-color:#fffffff2;flex-direction:column;min-width:180px;max-width:260px;max-height:50vh;display:flex;box-shadow:0 2px 8px #0000001a}.dxfk-layer-panel--collapsed{max-height:none}.dxfk-layer-panel-header{cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--dxfk-border-color,#e0e0e0);flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.dxfk-layer-panel--collapsed .dxfk-layer-panel-header{border-bottom:none}.dxfk-layer-panel-title{color:var(--dxfk-text-color,#212121);font-size:12px;font-weight:600}.dxfk-layer-panel-collapse{cursor:pointer;color:var(--dxfk-text-secondary,#757575);background:0 0;border:none;padding:0 4px;font-size:16px;font-weight:600;line-height:1}.dxfk-layer-panel-body{flex-direction:column;display:flex;overflow:hidden}.dxfk-layer-panel-actions{border-bottom:1px solid var(--dxfk-border-color,#e0e0e0);flex-shrink:0;gap:4px;padding:4px 10px;display:flex}.dxfk-layer-panel-action{border:1px solid var(--dxfk-border-color,#e0e0e0);cursor:pointer;color:var(--dxfk-text-secondary,#757575);background:0 0;border-radius:3px;padding:2px 8px;font-size:11px;transition:all .15s}.dxfk-layer-panel-action:hover{border-color:var(--dxfk-primary-color,#1040b0);color:var(--dxfk-primary-color,#1040b0)}.dxfk-layer-filter-wrapper{border-bottom:1px solid var(--dxfk-border-color,#e0e0e0);flex-shrink:0;padding:4px 10px;position:relative}.dxfk-layer-filter{border:1px solid var(--dxfk-border-color,#e0e0e0);width:100%;color:var(--dxfk-text-color,#212121);box-sizing:border-box;background:#fff;border-radius:3px;outline:none;padding:3px 22px 3px 6px;font-size:11px}.dxfk-layer-filter:focus{border-color:var(--dxfk-primary-color,#1040b0)}.dxfk-layer-filter::placeholder{color:var(--dxfk-text-secondary,#757575)}.dxfk-layer-filter-clear{cursor:pointer;width:16px;height:16px;color:var(--dxfk-text-secondary,#757575);background:0 0;border:none;padding:0;font-size:14px;line-height:1;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.dxfk-layer-filter-clear:hover{color:var(--dxfk-text-color,#212121)}.dxfk-layer-empty{color:var(--dxfk-text-secondary,#757575);text-align:center;padding:8px 10px;font-size:11px;font-style:italic}.dxfk-layer-list{max-height:300px;padding:2px 0;overflow-y:auto}.dxfk-layer-item{cursor:pointer;align-items:center;gap:6px;padding:4px 10px;font-size:12px;transition:background-color .15s;display:flex}.dxfk-layer-item:hover{background-color:#0000000a}.dxfk-layer-item--hidden{opacity:.5}.dxfk-layer-item--frozen{opacity:.35;cursor:not-allowed}.dxfk-layer-item--in-group{padding-left:22px}.dxfk-layer-group{border-top:1px solid var(--dxfk-border-color,#e0e0e0)}.dxfk-layer-group:first-child{border-top:none}.dxfk-layer-group-header{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--dxfk-text-secondary,#757575);background-color:#00000006;align-items:center;gap:4px;padding:4px 10px 4px 4px;font-size:11px;font-weight:600;transition:background-color .15s;display:flex}.dxfk-layer-group-header:hover{background-color:#0000000d}.dxfk-layer-group-collapse{cursor:pointer;width:18px;height:18px;color:var(--dxfk-text-secondary,#757575);background:0 0;border:none;flex-shrink:0;padding:0;font-size:14px;font-weight:600;line-height:1}.dxfk-layer-group-name{text-overflow:ellipsis;white-space:nowrap;color:var(--dxfk-text-color,#212121);letter-spacing:.02em;flex:1;overflow:hidden}.dxfk-layer-group-count{color:var(--dxfk-text-secondary,#757575);white-space:nowrap;flex-shrink:0;font-size:10px;font-weight:500}.dxfk-layer-group-toggle{cursor:pointer;width:22px;height:22px;color:var(--dxfk-text-color,#212121);background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .15s;display:inline-flex}.dxfk-layer-group-toggle:hover:not(:disabled){background-color:#0000000f}.dxfk-layer-group-toggle:disabled{cursor:not-allowed;opacity:.4}.dxfk-layer-group-toggle--all-hidden{color:var(--dxfk-text-secondary,#757575)}.dxfk-layer-group-toggle--mixed{color:var(--dxfk-text-color,#212121);opacity:.7}.dxfk-layer-group-body{padding:2px 0}.dxfk-layer-icon-eye{color:var(--dxfk-text-color,#212121);flex-shrink:0}.dxfk-layer-icon-eye--off{color:var(--dxfk-text-secondary,#757575)}.dxfk-layer-icon-frozen{color:#5ba3d9;flex-shrink:0}.dxfk-layer-icon-lock{color:var(--dxfk-text-secondary,#757575);flex-shrink:0}.dxfk-layer-swatch{border:1px solid #00000026;border-radius:2px;flex-shrink:0;width:12px;height:12px}.dxfk-layer-name{text-overflow:ellipsis;white-space:nowrap;color:var(--dxfk-text-color,#212121);flex:1;overflow:hidden}.dxfk-layer-count{color:var(--dxfk-text-secondary,#757575);flex-shrink:0;font-size:11px}.dxfk-layer-panel.dxfk-dark{background-color:#1e1e1ef2;border-color:#444;box-shadow:0 2px 8px #0006}.dxfk-layer-panel.dxfk-dark .dxfk-layer-panel-header{border-bottom-color:#444}.dxfk-layer-panel.dxfk-dark .dxfk-layer-panel-title{color:#e0e0e0}.dxfk-layer-panel.dxfk-dark .dxfk-layer-panel-collapse{color:#aaa}.dxfk-layer-panel.dxfk-dark .dxfk-layer-panel-actions{border-bottom-color:#444}.dxfk-layer-panel.dxfk-dark .dxfk-layer-panel-action{color:#aaa;border-color:#555}.dxfk-layer-panel.dxfk-dark .dxfk-layer-panel-action:hover{color:#6b8fd4;border-color:#6b8fd4}.dxfk-layer-panel.dxfk-dark .dxfk-layer-item:hover{background-color:#ffffff0f}.dxfk-layer-panel.dxfk-dark .dxfk-layer-icon-eye{color:#e0e0e0}.dxfk-layer-panel.dxfk-dark .dxfk-layer-icon-eye--off{color:#666}.dxfk-layer-panel.dxfk-dark .dxfk-layer-name{color:#e0e0e0}.dxfk-layer-panel.dxfk-dark .dxfk-layer-count{color:#888}.dxfk-layer-panel.dxfk-dark .dxfk-layer-swatch{border-color:#fff3}.dxfk-layer-panel.dxfk-dark .dxfk-layer-group{border-top-color:#444}.dxfk-layer-panel.dxfk-dark .dxfk-layer-group-header{color:#aaa;background-color:#ffffff0a}.dxfk-layer-panel.dxfk-dark .dxfk-layer-group-header:hover{background-color:#ffffff14}.dxfk-layer-panel.dxfk-dark .dxfk-layer-group-name{color:#e0e0e0}.dxfk-layer-panel.dxfk-dark .dxfk-layer-group-count,.dxfk-layer-panel.dxfk-dark .dxfk-layer-group-collapse{color:#888}.dxfk-layer-panel.dxfk-dark .dxfk-layer-group-toggle{color:#e0e0e0}.dxfk-layer-panel.dxfk-dark .dxfk-layer-group-toggle:hover:not(:disabled){background-color:#ffffff1a}.dxfk-layer-panel.dxfk-dark .dxfk-layer-group-toggle--all-hidden{color:#666}@media (width<=768px){.dxfk-layer-panel{min-width:150px;max-width:200px;max-height:40%}.dxfk-layer-list{max-height:200px}}.dxfk-ruler{z-index:11;pointer-events:none;background-color:var(--dxfk-ruler-bg,#fafafa);position:absolute;overflow:hidden}.dxfk-ruler-h{height:var(--dxfk-ruler-size,24px);top:0;left:0;right:0}.dxfk-ruler-v{width:var(--dxfk-ruler-size,24px);top:0;bottom:0;left:0}.dxfk-ruler canvas{width:100%;height:100%;display:block}.dxfk-ruler.dxfk-dark{--dxfk-ruler-bg:#1f1f1f;--dxfk-ruler-text:#ddd;--dxfk-ruler-tick:#888;--dxfk-ruler-cursor:#fa0}.dxfk-toolbar{pointer-events:auto;gap:4px;display:flex}.dxfk-toolbar-button{padding:var(--dxfk-spacing-sm,8px);color:var(--dxfk-text-color,#212121);border:1px solid var(--dxfk-border-color,#e0e0e0);border-radius:var(--dxfk-border-radius,4px);-webkit-user-select:none;user-select:none;cursor:pointer;background-color:#fffffff2;justify-content:center;align-items:center;transition:all .2s;display:flex;box-shadow:0 2px 4px #0000001a}.dxfk-toolbar-button:hover{border-color:rgb(from var(--dxfk-primary-color,#1040b0) r g b / .5)}.dxfk-toolbar-button:active{transform:scale(.94)}.dxfk-toolbar-button--active{background-color:var(--dxfk-primary-color,#1040b0);border-color:var(--dxfk-primary-color,#1040b0);color:#fff}.dxfk-toolbar-button--active:hover{border-color:var(--dxfk-primary-color,#1040b0)}.dxfk-toolbar.dxfk-dark .dxfk-toolbar-button{color:#e0e0e0;background-color:#1e1e1ef2;border-color:#444}.dxfk-toolbar.dxfk-dark .dxfk-toolbar-button--active{background-color:var(--dxfk-primary-color,#2563eb);border-color:var(--dxfk-primary-color,#2563eb);color:#fff}@media (width<=768px){.dxfk-toolbar-button{padding:6px}.dxfk-toolbar-button svg{width:18px;height:18px}}.dxfk-properties-panel{border:1px solid var(--dxfk-border-color,#e0e0e0);border-radius:var(--dxfk-border-radius,4px);pointer-events:auto;background-color:#fffffff2;flex-direction:column;min-width:220px;max-width:320px;max-height:50vh;display:flex;box-shadow:0 2px 8px #0000001a}.dxfk-properties-panel--collapsed{max-height:none}.dxfk-properties-panel-header{cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--dxfk-border-color,#e0e0e0);flex-shrink:0;justify-content:space-between;align-items:center;gap:6px;padding:6px 10px;display:flex}.dxfk-properties-panel--collapsed .dxfk-properties-panel-header{border-bottom:none}.dxfk-properties-panel-title{color:var(--dxfk-text-color,#212121);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.dxfk-properties-panel-type{background:#0000000f;border-radius:3px;padding:1px 5px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:11px;font-weight:600}.dxfk-properties-panel-collapse{cursor:pointer;color:var(--dxfk-text-secondary,#757575);background:0 0;border:none;padding:0 4px;font-size:16px;font-weight:600;line-height:1}.dxfk-properties-panel-body{padding:4px 0;overflow-y:auto}.dxfk-properties-empty{color:var(--dxfk-text-secondary,#757575);text-align:center;padding:12px;font-size:12px;font-style:italic}.dxfk-properties-section+.dxfk-properties-section{border-top:1px solid var(--dxfk-border-color,#e0e0e0);margin-top:4px;padding-top:4px}.dxfk-properties-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--dxfk-text-secondary,#757575);margin:0;padding:4px 10px 2px;font-size:10px;font-weight:700}.dxfk-properties-row{align-items:center;gap:8px;min-width:0;padding:2px 10px;font-size:12px;display:flex}.dxfk-properties-label{width:96px;color:var(--dxfk-text-secondary,#757575);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;overflow:hidden}.dxfk-properties-value-wrap{flex:1;align-items:center;gap:6px;min-width:0;display:inline-flex}.dxfk-properties-swatch{border:1px solid #00000026;border-radius:2px;flex-shrink:0;width:12px;height:12px}.dxfk-properties-value{color:var(--dxfk-text-color,#212121);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dxfk-properties-value--mono{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:11px}.dxfk-properties-panel.dxfk-dark{background-color:#1e1e1ef2;border-color:#444;box-shadow:0 2px 8px #0006}.dxfk-properties-panel.dxfk-dark .dxfk-properties-panel-header{border-bottom-color:#444}.dxfk-properties-panel.dxfk-dark .dxfk-properties-panel-title{color:#e0e0e0}.dxfk-properties-panel.dxfk-dark .dxfk-properties-panel-type{color:#e0e0e0;background:#ffffff14}.dxfk-properties-panel.dxfk-dark .dxfk-properties-panel-collapse{color:#aaa}.dxfk-properties-panel.dxfk-dark .dxfk-properties-section+.dxfk-properties-section{border-top-color:#444}.dxfk-properties-panel.dxfk-dark .dxfk-properties-section-title,.dxfk-properties-panel.dxfk-dark .dxfk-properties-label{color:#888}.dxfk-properties-panel.dxfk-dark .dxfk-properties-value{color:#e0e0e0}.dxfk-properties-panel.dxfk-dark .dxfk-properties-swatch{border-color:#fff3}.dxfk-properties-panel.dxfk-dark .dxfk-properties-empty{color:#888}@media (width<=768px){.dxfk-properties-panel{min-width:180px;max-width:240px;max-height:40%}.dxfk-properties-label{width:80px}}.dxfk-viewer{background-color:var(--dxfk-bg-color,#fafafa);border:2px solid var(--dxfk-border-color,#e0e0e0);border-radius:var(--dxfk-border-radius,4px);touch-action:none;flex:1;width:100%;position:relative;overflow:hidden}.dxfk-overlay-grid{z-index:10;padding:var(--dxfk-spacing-sm,8px);gap:var(--dxfk-spacing-sm,8px);pointer-events:none;grid-template:"top-left top-center top-right""bottom-left bottom-center bottom-right"1fr/auto 1fr auto;display:grid;position:absolute;inset:0}.dxfk-overlay-grid--with-rulers{padding-top:calc(var(--dxfk-ruler-size,24px) + var(--dxfk-spacing-sm,8px));padding-left:calc(var(--dxfk-ruler-size,24px) + var(--dxfk-spacing-sm,8px))}.dxfk-ruler-corner{width:var(--dxfk-ruler-size,24px);height:var(--dxfk-ruler-size,24px);z-index:12;color:var(--dxfk-ruler-text,#333);background-color:var(--dxfk-ruler-bg,#fafafa);border-right:1px solid var(--dxfk-ruler-tick,#999);border-bottom:1px solid var(--dxfk-ruler-tick,#999);pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-family:system-ui,-apple-system,sans-serif;font-size:10px;display:flex;position:absolute;top:0;left:0}.dxfk-ruler-corner.dxfk-dark{--dxfk-ruler-bg:#1f1f1f;--dxfk-ruler-text:#ddd;--dxfk-ruler-tick:#888}.dxfk-overlay-cell{flex-direction:column;gap:4px;min-width:0;min-height:0;display:flex}.dxfk-overlay-cell--top-left{grid-area:top-left;align-items:flex-start}.dxfk-overlay-cell--top-center{grid-area:top-center;align-items:center}.dxfk-overlay-cell--top-right{grid-area:top-right;align-items:flex-end}.dxfk-overlay-cell--bottom-left{grid-area:bottom-left;justify-content:flex-end;align-items:flex-start}.dxfk-overlay-cell--bottom-center{grid-area:bottom-center;justify-content:flex-end;align-items:center}.dxfk-overlay-cell--bottom-right{grid-area:bottom-right;justify-content:flex-end;align-items:flex-end}.dxfk-file-name-overlay{padding:var(--dxfk-spacing-sm,8px) var(--dxfk-spacing-md,16px);border:1px solid var(--dxfk-border-color,#e0e0e0);border-radius:var(--dxfk-border-radius,4px);color:var(--dxfk-text-color,#212121);text-overflow:ellipsis;white-space:nowrap;background-color:#fffffff2;font-size:14px;overflow:hidden}.dxfk-canvas-mount{position:absolute;inset:0}.dxfk-viewer canvas{display:block}.dxfk-coordinates-overlay{padding:4px var(--dxfk-spacing-sm,8px);color:var(--dxfk-text-color,#212121);border:1px solid var(--dxfk-border-color,#e0e0e0);border-radius:var(--dxfk-border-radius,4px);white-space:nowrap;background-color:#fffffff2;flex-direction:column;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:12px;display:flex}.dxfk-coord-row{gap:2px;display:flex}.dxfk-coord-value--na{color:var(--dxfk-text-secondary,#757575);opacity:.65}.dxfk-coord-label{text-align:right;flex-shrink:0;width:1.2em}.dxfk-coord-value{text-align:right;flex-shrink:0;width:7em}.dxfk-zoom-value{width:auto;color:var(--dxfk-text-secondary,#757575)}.dxfk-debug-overlay{gap:var(--dxfk-spacing-sm,8px);padding:4px var(--dxfk-spacing-sm,8px);color:#ccc;border-radius:var(--dxfk-border-radius,4px);background-color:#000000b3;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:11px;display:flex}.dxfk-message-overlay{padding:var(--dxfk-spacing-lg,24px);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.dxfk-message-content{align-items:center;gap:var(--dxfk-spacing-md,16px);text-align:center;flex-direction:column;display:flex}.dxfk-message-icon--error{color:var(--dxfk-error-color,#f44336)}.dxfk-message-icon--placeholder{color:var(--dxfk-border-color,#e0e0e0)}.dxfk-message-title{color:var(--dxfk-text-color,#212121);font-size:1.25rem;font-weight:600}.dxfk-message-text{color:var(--dxfk-text-secondary,#757575);max-width:300px;font-size:1rem}.dxfk-measure-label{z-index:14;pointer-events:none;background-color:var(--dxfk-measure-color,#ff6b1a);color:#fff;white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:4px;padding:2px 8px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:12px;position:absolute;transform:translate(-50%,-150%);box-shadow:0 2px 6px #00000040}.dxfk-measure-area-label{z-index:14;pointer-events:none;background-color:var(--dxfk-measure-color,#ff6b1a);color:#fff;white-space:nowrap;text-align:center;-webkit-user-select:none;user-select:none;border-radius:4px;padding:3px 8px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:12px;line-height:1.35;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 6px #00000040}.dxfk-measure-area-row--secondary{opacity:.85;font-size:11px}.dxfk-measure-angle-label{z-index:14;pointer-events:none;background-color:var(--dxfk-measure-color,#ff6b1a);color:#fff;white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:4px;padding:2px 8px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:12px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 6px #00000040}.dxfk-selection-rect{pointer-events:none;z-index:15;box-sizing:border-box;position:absolute}.dxfk-selection-rect--window{background-color:var(--dxfk-selection-rect-bg-window,#4080ff1f);border:1px solid var(--dxfk-selection-rect-border-window,#4080ff)}.dxfk-selection-rect--crossing{background-color:var(--dxfk-selection-rect-bg-crossing,#40c0401f);border:1px dashed var(--dxfk-selection-rect-border-crossing,#40c040)}.dxfk-viewer.dxfk-dark .dxfk-selection-rect--window{--dxfk-selection-rect-bg-window:#609cff2e;--dxfk-selection-rect-border-window:#609cff}.dxfk-viewer.dxfk-dark .dxfk-selection-rect--crossing{--dxfk-selection-rect-bg-crossing:#60dc602e;--dxfk-selection-rect-border-crossing:#60dc60}.dxfk-loading-overlay{z-index:20;background-color:#fafafad9}.dxfk-error-overlay{z-index:20;background-color:#fafafaf2}.dxfk-spinner{border:3px solid var(--dxfk-border-color,#e0e0e0);border-top-color:var(--dxfk-primary-color,#1040b0);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite dxfk-spin}.dxfk-progress-container{background-color:var(--dxfk-border-color,#e0e0e0);border-radius:2px;width:200px;height:4px;overflow:hidden}.dxfk-progress-bar{background-color:var(--dxfk-primary-color,#1040b0);height:100%;transition:width .1s ease-out}.dxfk-progress-text{color:var(--dxfk-text-secondary,#757575);font-size:.85rem}@keyframes dxfk-spin{to{transform:rotate(360deg)}}.dxfk-drop-overlay{z-index:30;border:3px dashed var(--dxfk-primary-color,#1040b0);background-color:#fafafae6}.dxfk-drop-overlay svg{color:var(--dxfk-primary-color,#1040b0)}.dxfk-viewer.dxfk-dark{background-color:#1a1a1a;border-color:#333}.dxfk-viewer.dxfk-dark .dxfk-loading-overlay{background-color:#1a1a1ad9}.dxfk-viewer.dxfk-dark .dxfk-error-overlay{background-color:#1a1a1af2}.dxfk-viewer.dxfk-dark .dxfk-file-name-overlay{color:#e0e0e0;background-color:#1e1e1ef2;border-color:#333}.dxfk-viewer.dxfk-dark .dxfk-coordinates-overlay{color:#e0e0e0;background-color:#1e1e1ef2;border-color:#444}.dxfk-viewer.dxfk-dark .dxfk-message-text,.dxfk-viewer.dxfk-dark .dxfk-progress-text{color:#aaa}.dxfk-viewer.dxfk-dark .dxfk-message-title{color:#e0e0e0}.dxfk-viewer.dxfk-dark .dxfk-spinner{border-color:#6b8fd4 #444 #444}.dxfk-viewer.dxfk-dark .dxfk-progress-container{background-color:#444}.dxfk-viewer.dxfk-dark .dxfk-message-icon--placeholder{color:#555}.dxfk-viewer.dxfk-dark .dxfk-drop-overlay{background-color:#1a1a1ae6;border-color:#6b8fd4}.dxfk-viewer.dxfk-dark .dxfk-drop-overlay svg{color:#6b8fd4}@media (width<=768px){.dxfk-file-name-overlay{padding:6px var(--dxfk-spacing-sm,8px);font-size:12px}.dxfk-message-title{font-size:1.1rem}.dxfk-message-text{font-size:.9rem}}.dxfk-file-uploader{gap:var(--dxfk-spacing-sm,8px);flex-direction:column;flex:1;max-width:420px;display:flex}.dxfk-file-input{display:none}.dxfk-file-input-label{cursor:pointer}.dxfk-file-uploader-button{justify-content:center;align-items:center;gap:var(--dxfk-spacing-sm,8px);padding:var(--dxfk-spacing-sm,8px) var(--dxfk-spacing-md,16px);color:#fff;border-radius:var(--dxfk-border-radius,4px);-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fff3;border:1px solid #ffffff4d;font-size:14px;font-weight:500;transition:all .2s;display:flex}.dxfk-file-uploader-button:hover{background-color:#ffffff4d;border-color:#ffffff80}.dxfk-file-uploader-button:active{transform:scale(.98)}@media (width<=768px){.dxfk-file-uploader-button{padding:var(--dxfk-spacing-sm,8px);justify-content:center}}.dxfk-unsupported{border-radius:var(--dxfk-border-radius,4px);padding:var(--dxfk-spacing-md,16px);margin:var(--dxfk-spacing-md,16px);background-color:#fff3cd;border:2px solid #ffc107}.dxfk-unsupported-header{align-items:center;gap:var(--dxfk-spacing-sm,8px);margin-bottom:var(--dxfk-spacing-sm,8px);display:flex}.dxfk-unsupported-icon{color:#ff9800;flex-shrink:0}.dxfk-unsupported-title{color:#856404;flex:1;font-size:14px;font-weight:600}.dxfk-unsupported-toggle{border-radius:var(--dxfk-border-radius,4px);color:#856404;cursor:pointer;background-color:#fff;border:1px solid #ffc107;padding:4px 12px;font-size:12px;font-weight:500;transition:all .2s}.dxfk-unsupported-toggle:hover{color:#fff;background-color:#ffc107}.dxfk-unsupported-list{max-height:200px;margin-top:var(--dxfk-spacing-sm,8px);padding:var(--dxfk-spacing-sm,8px);border-radius:var(--dxfk-border-radius,4px);background-color:#fff;border:1px solid #ffc107;overflow-y:auto}.dxfk-unsupported-item{align-items:flex-start;gap:var(--dxfk-spacing-sm,8px);color:#856404;padding:4px 0;font-size:13px;display:flex}.dxfk-unsupported-bullet{flex-shrink:0;font-weight:700}.dxfk-unsupported-text{word-break:break-word;flex:1}.dxfk-unsupported-footer{margin-top:var(--dxfk-spacing-sm,8px);padding-top:var(--dxfk-spacing-sm,8px);border-top:1px solid #ffc107}.dxfk-unsupported-note{color:#856404;font-size:12px;font-style:italic}.dxfk-unsupported-list::-webkit-scrollbar{width:6px}.dxfk-unsupported-list::-webkit-scrollbar-track{background:#fff3cd;border-radius:3px}.dxfk-unsupported-list::-webkit-scrollbar-thumb{background:#ffc107;border-radius:3px}.dxfk-unsupported-list::-webkit-scrollbar-thumb:hover{background:#ff9800}@media (width<=768px){.dxfk-unsupported{padding:var(--dxfk-spacing-sm,8px);margin:var(--dxfk-spacing-sm,8px)}.dxfk-unsupported-title{font-size:13px}.dxfk-unsupported-item{font-size:12px}.dxfk-unsupported-list{max-height:150px}}.dxfk-statistics{background-color:var(--dxfk-bg-color,#fafafa);border:1px solid var(--dxfk-border-color,#e0e0e0);border-radius:var(--dxfk-border-radius,4px);padding:var(--dxfk-spacing-md,16px);margin-top:var(--dxfk-spacing-md,16px)}.dxfk-statistics-title{margin:0 0 var(--dxfk-spacing-md,16px) 0;color:var(--dxfk-text-color,#212121);font-size:1.1rem;font-weight:600}.dxfk-statistics-grid{gap:var(--dxfk-spacing-md,16px);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.dxfk-statistics-section-title{margin:0 0 var(--dxfk-spacing-sm,8px) 0;color:var(--dxfk-text-secondary,#757575);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--dxfk-border-color,#e0e0e0);padding-bottom:var(--dxfk-spacing-xs,4px);font-size:.9rem;font-weight:600}.dxfk-statistics-item{padding:var(--dxfk-spacing-xs,4px) 0;justify-content:space-between;align-items:center;font-size:.875rem;display:flex}.dxfk-statistics-item--entity-type{padding-left:var(--dxfk-spacing-sm,8px);font-size:.8125rem}.dxfk-statistics-label{color:var(--dxfk-text-secondary,#757575);font-weight:500}.dxfk-statistics-value{color:var(--dxfk-text-color,#212121);font-family:Courier New,monospace;font-weight:600}.dxfk-statistics-value--highlight{color:var(--dxfk-primary-color,#1040b0);font-size:1rem}@media (width<=768px){.dxfk-statistics-grid{grid-template-columns:1fr}}.galoshi-panel{background:#f6f8fb;border:1px solid #1c243014;border-radius:10px;padding:.7rem .75rem}.app.dark .galoshi-panel{background:#12161e;border-color:#ffffff14}.galoshi-kicker{letter-spacing:.04em;opacity:.55;margin:0 0 .15rem;font-size:.72rem}.galoshi-title{margin:0;font-size:.95rem;font-weight:700}.galoshi-hint{opacity:.72;margin:.35rem 0 0;font-size:.78rem;line-height:1.45}.galoshi-form{gap:.55rem;margin-top:.75rem;display:grid}.galoshi-form label{grid-template-columns:1fr 5.5rem auto;align-items:center;gap:.4rem;font-size:.84rem;display:grid}.galoshi-form input{width:100%;color:inherit;font:inherit;background:#fff;border:1px solid #1c24302e;border-radius:8px;padding:.35rem .45rem}.app.dark .galoshi-form input{background:#1c2230;border-color:#ffffff1f}.galoshi-form em{opacity:.55;font-size:.75rem;font-style:normal}.galoshi-actions{gap:.45rem;margin-top:.25rem;display:flex}.galoshi-actions button{color:#fff;font:inherit;cursor:pointer;background:#1c2430;border:1px solid #1c24302e;border-radius:8px;flex:1;padding:.45rem .6rem}.galoshi-actions button:disabled{opacity:.55;cursor:not-allowed}.galoshi-reset{color:inherit!important;background:#fff!important}.app.dark .galoshi-reset{background:#1c2230!important;border-color:#ffffff1f!important}.galoshi-error{color:#9b1c1c;background:#fde8e8;border-radius:8px;margin:.55rem 0 0;padding:.45rem .55rem;font-size:.8rem}.keyboard-panel{background:#f6f8fb;border:1px solid #1c243014;border-radius:10px;padding:.7rem .75rem}.app.dark .keyboard-panel{background:#12161e;border-color:#ffffff14}.keyboard-kicker{letter-spacing:.04em;opacity:.55;margin:0 0 .15rem;font-size:.72rem}.keyboard-title{margin:0;font-size:.95rem;font-weight:700}.keyboard-hint{opacity:.72;margin:.35rem 0 0;font-size:.78rem;line-height:1.45}.keyboard-form{gap:.55rem;margin-top:.75rem;display:grid}.keyboard-form label{grid-template-columns:1fr 5.5rem auto;align-items:center;gap:.4rem;font-size:.84rem;display:grid}.keyboard-form input{width:100%;color:inherit;font:inherit;background:#fff;border:1px solid #1c24302e;border-radius:8px;padding:.35rem .45rem}.app.dark .keyboard-form input{background:#1c2230;border-color:#ffffff1f}.keyboard-form em{opacity:.55;font-size:.75rem;font-style:normal}.keyboard-actions{gap:.45rem;margin-top:.25rem;display:flex}.keyboard-actions button{color:#fff;font:inherit;cursor:pointer;background:#1c2430;border:1px solid #1c24302e;border-radius:8px;flex:1;padding:.45rem .6rem}.keyboard-actions button:disabled{opacity:.55;cursor:not-allowed}.keyboard-reset{color:inherit!important;background:#fff!important}.app.dark .keyboard-reset{background:#1c2230!important;border-color:#ffffff1f!important}.keyboard-formula{background:#1c24300a;border:1px dashed #1c24301f;border-radius:8px;margin-top:.75rem;padding:.55rem .6rem}.app.dark .keyboard-formula{background:#ffffff0a;border-color:#ffffff1a}.keyboard-formula-title{opacity:.8;text-align:right;direction:rtl;margin:0 0 .45rem;font-size:.78rem;font-weight:700}.keyboard-formula-line{gap:.15rem;margin:0 0 .4rem;font-size:.72rem;line-height:1.45;display:grid}.keyboard-formula-line span{opacity:.6;font-size:.68rem}.keyboard-formula-line strong{font-variant-numeric:tabular-nums;font-weight:600}.keyboard-blank{direction:rtl;border-top:1px solid #1c24301a;justify-content:space-between;align-items:baseline;gap:.5rem;margin-top:.35rem;padding-top:.45rem;font-size:.8rem;display:flex}.app.dark .keyboard-blank{border-top-color:#ffffff1a}.keyboard-blank span{opacity:.65}.keyboard-blank strong{font-variant-numeric:tabular-nums;direction:ltr}.keyboard-stack{opacity:.68;text-align:right;direction:rtl;margin:.45rem 0 0;padding:0;font-size:.68rem;line-height:1.45;list-style:none}.keyboard-stack li+li{margin-top:.25rem}.keyboard-error{color:#9b1c1c;background:#fde8e8;border-radius:8px;margin:.55rem 0 0;padding:.45rem .55rem;font-size:.8rem}.formula-panel{background:#f6f8fb;border:1px solid #1c243014;border-radius:10px;padding:.7rem .75rem}.app.dark .formula-panel{background:#12161e;border-color:#ffffff14}.formula-kicker{letter-spacing:.04em;opacity:.55;margin:0 0 .15rem;font-size:.72rem}.formula-title{margin:0;font-size:.95rem;font-weight:700}.formula-hint{opacity:.72;margin:.35rem 0 0;font-size:.78rem;line-height:1.45}.formula-actions{gap:.4rem;margin-top:.7rem;display:grid}.formula-guide-btn{color:#fff;font:inherit;cursor:pointer;background:#1c2430;border:1px solid #1c24302e;border-radius:8px;padding:.5rem .65rem;font-size:.84rem}.formula-guide-btn:disabled{opacity:.55;cursor:not-allowed}.formula-guide-btn.is-on{color:inherit;background:#fff}.app.dark .formula-guide-btn.is-on{background:#1c2230;border-color:#ffffff24}.formula-guide-btn.is-span{color:inherit;background:#f3f5f8;border-color:#1c243024}.app.dark .formula-guide-btn.is-span{background:#1c2230;border-color:#ffffff24}.formula-guide-hint,.formula-guide-result{opacity:.7;margin:0;font-size:.72rem;line-height:1.45}.formula-guide-result{opacity:.9;font-variant-numeric:tabular-nums;font-weight:650}.formula-offset-controls{background:#fff;border:1px solid #1c243014;border-radius:8px;gap:.55rem;margin-top:.25rem;padding:.5rem .55rem;display:grid}.app.dark .formula-offset-controls{background:#1c2230;border-color:#ffffff1a}.formula-offset-note{opacity:.65;margin:0;font-size:.7rem;line-height:1.4}.formula-offset-controls label{gap:.3rem;font-size:.78rem;display:grid}.formula-offset-row{grid-template-columns:1fr 4.2rem auto;align-items:center;gap:.35rem;display:grid}.formula-offset-row input[type=range]{width:100%}.formula-offset-row input[type=number]{width:100%;color:inherit;font:inherit;background:#f6f8fb;border:1px solid #1c24302e;border-radius:6px;padding:.3rem .35rem}.app.dark .formula-offset-row input[type=number]{background:#12161e;border-color:#ffffff1f}.formula-offset-row em{opacity:.55;font-size:.72rem;font-style:normal}.formula-scale-form{background:#fff;border:1px solid #1c243014;border-radius:8px;gap:.5rem;padding:.5rem .55rem;display:grid}.app.dark .formula-scale-form{background:#1c2230;border-color:#ffffff1a}.formula-scale-form label{gap:.3rem;font-size:.78rem;display:grid}.formula-scale-row{grid-template-columns:1fr auto;align-items:center;gap:.35rem;display:grid}.formula-scale-row input{width:100%;color:inherit;font:inherit;background:#f6f8fb;border:1px solid #1c24302e;border-radius:6px;padding:.35rem .45rem}.app.dark .formula-scale-row input{background:#12161e;border-color:#ffffff1f}.formula-scale-row em{opacity:.55;font-size:.72rem;font-style:normal}.formula-scale-form button{color:#fff;font:inherit;cursor:pointer;background:#2f5d9f;border:1px solid #1c24302e;border-radius:8px;margin-top:.15rem;padding:.45rem .6rem;font-size:.84rem}.formula-scale-form button:disabled{opacity:.55;cursor:not-allowed}.formula-warn{color:#9a3412;background:#fff7ed;border-radius:8px;margin:.65rem 0 0;padding:.5rem .55rem;font-size:.8rem;line-height:1.45}.app.dark .formula-warn{color:#fdba74;background:#b453092e}.formula-conf{border-radius:999px;margin-top:.65rem;padding:.2rem .5rem;font-size:.72rem;font-weight:650;display:inline-flex}.formula-conf.is-high{color:#166534;background:#dcfce7}.formula-conf.is-medium{color:#854d0e;background:#fef9c3}.formula-conf.is-low{color:#991b1b;background:#fee2e2}.app.dark .formula-conf.is-high{color:#bbf7d0;background:#16653459}.app.dark .formula-conf.is-medium{color:#fde68a;background:#854d0e59}.app.dark .formula-conf.is-low{color:#fecaca;background:#991b1b59}.formula-vars{flex-wrap:wrap;gap:.55rem;margin-top:.55rem;font-size:.82rem;display:flex}.formula-vars strong{font-variant-numeric:tabular-nums}.formula-blank{margin-top:.45rem;font-size:.82rem}.formula-blank strong{font-variant-numeric:tabular-nums}.formula-axes{gap:.4rem;margin-top:.55rem;display:grid}.formula-axes>div{background:#fff;border-radius:8px;grid-template-columns:1.2rem 1fr;gap:.15rem .45rem;padding:.45rem .5rem;font-size:.8rem;display:grid}.app.dark .formula-axes>div{background:#1c2230}.formula-axes span{opacity:.55;grid-row:span 2;align-self:center;font-weight:700}.formula-axes strong{font-variant-numeric:tabular-nums}.formula-axes em{opacity:.6;font-size:.72rem;font-style:normal}.formula-details{opacity:.8;margin-top:.55rem;font-size:.75rem}.formula-details summary{cursor:pointer;font-weight:650}.formula-details p{word-break:break-word;margin:.35rem 0 0;line-height:1.4}.formula-notes{opacity:.65;margin:.55rem 0 0;padding:0;font-size:.7rem;line-height:1.45;list-style:none}.formula-notes li+li{margin-top:.25rem}.formula-color-legend{flex-wrap:wrap;gap:.55rem .85rem;font-size:.72rem;display:flex}.formula-legend-item{align-items:baseline;gap:.25rem;display:inline-flex}.formula-legend-item strong{margin-left:.15rem}.formula-legend-item em{font-style:normal;font-weight:650}.formula-multi-note{opacity:.75;margin:.65rem 0 0;font-size:.78rem;line-height:1.45}.formula-parts{gap:.55rem;margin-top:.65rem;display:grid}.formula-part-card{background:#fff;border:1px solid #1c24301a;border-right:4px solid #2f5d9f;border-radius:8px;padding:.55rem .6rem}.formula-part-card.is-lid{border-right-color:#2a9d8f}.formula-part-card.is-body{border-right-color:#2f5d9f}.formula-part-card.is-part3{border-right-color:#1d3557}.formula-part-card.is-part4{border-right-color:#457b9d}.app.dark .formula-part-card{background:#1c2230;border-color:#ffffff1a}.formula-part-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem;margin-bottom:.35rem;display:flex}.formula-part-head strong{font-size:.88rem}.formula-part-legend{opacity:.7;font-size:.7rem}.formula-part-kind{opacity:.72;margin:0 0 .35rem;font-size:.72rem}.formula-part-blank{margin:0 0 .4rem;font-size:.8rem}.formula-part-blank strong{font-variant-numeric:tabular-nums}.formula-part-card .formula-axes{margin-top:.4rem}.formula-part-card .formula-conf{margin-top:.25rem}.sel-panel{background:#f6f8fb;border:1px solid #1c243014;border-radius:10px;padding:.7rem .75rem}.app.dark .sel-panel{background:#12161e;border-color:#ffffff14}.sel-kicker{letter-spacing:.04em;opacity:.55;margin:0 0 .15rem;font-size:.72rem}.sel-title{margin:0;font-size:.95rem;font-weight:700}.sel-hint{opacity:.72;margin:.35rem 0 0;font-size:.78rem;line-height:1.45}.sel-empty{background:#2f5d9f14;border-radius:8px;margin:.75rem 0 0;padding:.5rem .6rem;font-size:.82rem}.sel-stats{gap:.45rem;margin-top:.75rem;display:grid}.sel-stats>div{justify-content:space-between;align-items:baseline;font-size:.84rem;display:flex}.sel-stats span{opacity:.65}.sel-layers{opacity:.75;word-break:break-word;margin:0;font-size:.75rem;line-height:1.4}.sel-actions{gap:.45rem;margin-top:.75rem;display:flex}.sel-actions button{font:inherit;cursor:pointer;border:1px solid #1c24302e;border-radius:8px;flex:1;padding:.45rem .55rem}.sel-download{color:#fff;background:#1c2430}.sel-clear{color:inherit;background:#fff}.sel-delete{color:#fff!important;background:#9b1c1c!important;border-color:#9b1c1c!important}.app.dark .sel-clear{background:#1c2230;border-color:#ffffff1f}.app.dark .sel-delete{background:#b42318!important;border-color:#b42318!important}.sel-actions button:disabled{opacity:.5;cursor:not-allowed}.sel-active{outline-offset:1px;outline:2px solid #2f5d9f}.sel-live{color:#1849a9;background:#eef6ff;border-radius:8px;margin:.65rem 0 0;padding:.5rem .6rem;font-size:.8rem;line-height:1.45}.app.dark .sel-live{color:#c5dcff;background:#508cdc26}.sel-hint kbd{font:inherit;background:#ffffffb3;border:1px solid #1c24302e;border-radius:4px;padding:.05rem .3rem;font-size:.78em}.app.dark .sel-hint kbd{background:#ffffff0f;border-color:#ffffff24}.bg-panel{background:#f6f8fb;border:1px solid #1c243014;border-radius:10px;padding:.7rem .75rem}.app.dark .bg-panel{background:#12161e;border-color:#ffffff14}.bg-kicker{letter-spacing:.04em;opacity:.55;margin:0 0 .15rem;font-size:.72rem}.bg-title{margin:0;font-size:.95rem;font-weight:700}.bg-hint{opacity:.72;margin:.35rem 0 0;font-size:.78rem;line-height:1.45}.bg-empty{background:#2f5d9f14;border-radius:8px;margin:.75rem 0 0;padding:.5rem .6rem;font-size:.82rem}.bg-section{margin-top:.85rem}.bg-section-title{justify-content:space-between;align-items:baseline;margin:0 0 .4rem;font-size:.8rem;font-weight:650;display:flex}.bg-section-title span{opacity:.55;font-weight:500}.bg-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.bg-block-row{gap:.35rem;display:grid}.bg-item{text-align:start;width:100%;font:inherit;cursor:pointer;background:#fff;border:1px solid #1c243024;border-radius:8px;gap:.15rem;padding:.5rem .55rem;display:grid}.app.dark .bg-item{background:#1c2230;border-color:#ffffff1f}.bg-item:hover:not(:disabled){border-color:#2f5d9f}.bg-item-active{outline-offset:1px;border-color:#2f5d9f;outline:2px solid #2f5d9f}.bg-item:disabled{opacity:.5;cursor:not-allowed}.bg-item-name{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:650;overflow:hidden}.bg-item-meta{opacity:.65;font-size:.74rem}.bg-tools{grid-template-columns:1fr 1fr;gap:.4rem;margin-top:.75rem;display:grid}.bg-tool{color:#fff;font:inherit;cursor:pointer;background:#1c2430;border:1px solid #1c24302e;border-radius:8px;padding:.42rem .45rem;font-size:.8rem}.bg-tool-warn{background:#5c3b16;border-color:#5c3b16}.app.dark .bg-tool{background:#2a3344;border-color:#ffffff24}.app.dark .bg-tool-warn{background:#6b3f12}.bg-tool:disabled{opacity:.45;cursor:not-allowed}.bg-block-actions{grid-template-columns:1fr 1fr;gap:.35rem;display:grid}.bg-export{color:#fff;font:inherit;cursor:pointer;background:#1c2430;border:1px solid #1c24302e;border-radius:8px;padding:.4rem .55rem}.bg-export-warn{background:#5c3b16!important;border-color:#5c3b16!important}.app.dark .bg-export-warn{background:#6b3f12!important;border-color:#6b3f12!important}.app.dark .bg-export{background:#2a3344;border-color:#ffffff24}.bg-export:disabled{opacity:.5;cursor:not-allowed}.bg-actions{margin-top:.75rem}.bg-clear{width:100%;font:inherit;cursor:pointer;background:#fff;border:1px solid #1c24302e;border-radius:8px;padding:.45rem .55rem}.app.dark .bg-clear{background:#1c2230;border-color:#ffffff1f}.prj-panel{background:#f6f8fb;border:1px solid #1c243014;border-radius:10px;padding:.7rem .75rem}.app.dark .prj-panel{background:#12161e;border-color:#ffffff14}.prj-kicker{letter-spacing:.04em;opacity:.55;margin:0 0 .15rem;font-size:.72rem}.prj-title{margin:0;font-size:.95rem;font-weight:700}.prj-hint{opacity:.72;margin:.35rem 0 0;font-size:.78rem;line-height:1.45}.prj-alert{color:#9b1c1c;background:#fdecec;border-radius:8px;margin-top:.6rem;padding:.45rem .6rem;font-size:.8rem;line-height:1.4}.app.dark .prj-alert{color:#ffc9c2;background:#b4231829}.prj-save{gap:.5rem;margin-top:.75rem;display:grid}.prj-field{opacity:.85;gap:.25rem;font-size:.78rem;display:grid}.prj-field input{font:inherit;background:#fff;border:1px solid #1c24302e;border-radius:8px;padding:.4rem .5rem}.app.dark .prj-field input{color:inherit;background:#0d1017;border-color:#ffffff24}.prj-file{cursor:pointer;display:block;position:relative}.prj-file input{opacity:0;cursor:pointer;position:absolute;inset:0}.prj-file-label{text-align:center;opacity:.8;white-space:nowrap;text-overflow:ellipsis;border:1px dashed #1c24304d;border-radius:8px;padding:.45rem .55rem;font-size:.78rem;display:block;overflow:hidden}.app.dark .prj-file-label{border-color:#fff3}.prj-save-btn{color:#fff;font:inherit;cursor:pointer;background:#1c2430;border:1px solid #1c2430;border-radius:8px;padding:.5rem .55rem}.prj-save-btn:disabled{opacity:.5;cursor:not-allowed}.prj-note{opacity:.6;text-align:center;margin:0;font-size:.74rem}.prj-list{gap:.5rem;margin-top:.85rem;display:grid}.prj-empty{background:#2f5d9f14;border-radius:8px;margin:0;padding:.5rem .6rem;font-size:.82rem}.prj-item{background:#fff;border:1px solid #1c24301a;border-radius:9px;grid-template-columns:44px 1fr;gap:.5rem .6rem;padding:.5rem;display:grid}.app.dark .prj-item{background:#0d1017;border-color:#ffffff1a}.prj-item.is-active{border-color:#2f5d9f;box-shadow:inset 0 0 0 1px #2f5d9f}.prj-thumb{background:repeating-conic-gradient(#0000000d 0% 25%,#0000 0% 50%) 50%/12px 12px;border-radius:6px;justify-content:center;align-items:center;width:44px;height:44px;display:flex;overflow:hidden}.prj-thumb img{object-fit:cover;width:100%;height:100%}.prj-thumb-empty{opacity:.5;text-align:center;font-size:.6rem;line-height:1.2}.prj-meta{align-content:center;gap:.1rem;min-width:0;display:grid}.prj-meta strong{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:700;overflow:hidden}.prj-meta span{opacity:.62;white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.prj-item-actions{flex-wrap:wrap;grid-column:1/-1;gap:.35rem;display:flex}.prj-item-actions button{min-width:4.5rem;color:inherit;font:inherit;cursor:pointer;background:#fff;border:1px solid #1c24302e;border-radius:7px;flex:auto;padding:.35rem .4rem;font-size:.76rem}.app.dark .prj-item-actions button{background:#171c26;border-color:#ffffff1f}.prj-item-actions button:disabled{opacity:.5;cursor:not-allowed}.prj-item-actions .prj-open{color:#fff;background:#1c2430;border-color:#1c2430}.prj-item-actions .prj-del{color:#9b1c1c;border-color:#9b1c1c66}.app.dark .prj-item-actions .prj-del{color:#ffb4ab}.mockup-overlay{z-index:40;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #1c24302e;border-radius:10px;width:200px;position:absolute;overflow:hidden;box-shadow:0 8px 24px #0a101a38}.app.dark .mockup-overlay{background:#12161e;border-color:#ffffff24;box-shadow:0 8px 24px #00000080}.mockup-overlay.is-collapsed{width:200px}.mockup-bar{color:#fff;cursor:move;touch-action:none;background:#1c2430;align-items:center;gap:.25rem;padding:.3rem .4rem;display:flex}.mockup-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.74rem;font-weight:700;overflow:hidden}.mockup-btn{color:#fff;cursor:pointer;background:#ffffff24;border:none;border-radius:5px;flex:none;justify-content:center;align-items:center;width:1.4rem;height:1.4rem;font-size:.8rem;line-height:1;display:flex}.mockup-btn:hover{background:#ffffff47}.mockup-body{display:block}.mockup-body img{object-fit:contain;cursor:zoom-in;background:repeating-conic-gradient(#0000000d 0% 25%,#0000 0% 50%) 50%/16px 16px;width:100%;max-height:260px;display:block}.mockup-caption{opacity:.6;text-align:center;margin:0;padding:.3rem .45rem;font-size:.7rem}body.mockup-dragging{cursor:move}body.mockup-dragging *{cursor:move!important}.mockup-lightbox{z-index:200;cursor:zoom-out;background:#080c14d1;justify-content:center;align-items:center;padding:3vmin;display:flex;position:fixed;inset:0}.mockup-lightbox img{object-fit:contain;background:#fff;border-radius:8px;max-width:94vw;max-height:88vh;box-shadow:0 12px 40px #00000080}.mockup-lightbox-close{top:3vmin;color:#fff;font:inherit;cursor:pointer;background:#0006;border:1px solid #ffffff4d;border-radius:8px;padding:.45rem .8rem;font-size:.85rem;position:absolute;inset-inline-end:3vmin}.info-panel{background:#fff;border:1px solid #1c24301a;border-radius:14px;flex-direction:column;gap:.75rem;min-height:0;padding:.9rem;display:flex;overflow:auto;box-shadow:0 12px 28px #1c24300f}.app.dark .info-panel{background:#171b24;border-color:#ffffff14}.info-head{border-bottom:1px solid #1c243014;padding-bottom:.65rem}.app.dark .info-head{border-bottom-color:#ffffff14}.info-kicker{letter-spacing:.04em;opacity:.55;margin:0 0 .2rem;font-size:.72rem}.info-title{word-break:break-word;margin:0;font-size:.98rem;font-weight:700;line-height:1.45}.info-empty,.info-alert,.info-measure{border-radius:8px;margin:0;padding:.55rem .7rem;font-size:.82rem;line-height:1.5}.info-empty{background:#2f5d9f14}.info-alert{color:#9b1c1c;background:#fde8e8}.info-measure{color:#1849a9;background:#eef6ff}.app.dark .info-measure{color:#c5dcff;background:#508cdc26}.info-card{background:#f6f8fb;border-radius:10px;padding:.7rem .75rem}.app.dark .info-card{background:#12161e}.info-card.warn{background:#fff7ed}.app.dark .info-card.warn{background:#b453092e}.info-card h3{opacity:.7;margin:0 0 .55rem;font-size:.78rem;font-weight:700}.info-rows{gap:.4rem;margin:0;display:grid}.info-rows>div{grid-template-columns:1fr auto;align-items:baseline;gap:.75rem;font-size:.82rem;display:grid}.info-rows dt{opacity:.65}.info-rows dd{text-align:start;margin:0;font-weight:650}.info-pills{grid-template-columns:repeat(3,1fr);gap:.4rem;display:grid}.info-pill{background:#fff;border-radius:8px;flex-direction:column;align-items:center;gap:.15rem;padding:.45rem .2rem;display:flex}.app.dark .info-pill{background:#1c2230}.info-pill strong{font-variant-numeric:tabular-nums;font-size:1rem}.info-pill span{opacity:.65;font-size:.7rem}.info-bars,.info-layers,.info-unsupported{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.info-bar-meta{justify-content:space-between;gap:.5rem;font-size:.78rem;display:flex}.info-bar-meta b{font-variant-numeric:tabular-nums}.info-bar-track{background:#1c24301a;border-radius:99px;height:5px;overflow:hidden}.app.dark .info-bar-track{background:#ffffff1a}.info-bar-track i{background:#2f5d9f;height:100%;display:block}.info-layers{gap:.35rem}.info-layers li{background:#fff;border-radius:8px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.4rem .45rem;font-size:.86rem;display:grid}.app.dark .info-layers li{background:#1c2230}.info-swatch{box-sizing:border-box;border:1.5px solid #1c243059;border-radius:5px;flex-shrink:0;width:18px;height:18px}.info-swatch.is-light{border-color:#1c2430;box-shadow:inset 0 0 0 1px #1c243033}.info-swatch.is-dark{border-color:#ffffff8c}.app.dark .info-swatch{border-color:#ffffff59}.app.dark .info-swatch.is-light{border-color:#e8edf4;box-shadow:inset 0 0 0 1px #ffffff40}.info-layer-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.info-layer-flags{opacity:.6;background:#1c24300f;border-radius:999px;padding:.15rem .4rem;font-size:.75rem}.app.dark .info-layer-flags{background:#ffffff14}.info-unsupported li{border-bottom:1px dashed #1c24301a;padding:.25rem 0;font-size:.8rem}.info-hints{opacity:.6;margin:auto 0 0;padding-top:.4rem;font-size:.72rem;line-height:1.6}.app{color:#1c2430;background:radial-gradient(1200px 500px at 10% -10%,#dfe8f5 0%,#0000 55%),radial-gradient(900px 400px at 100% 0,#efe6d8 0%,#0000 50%),#eef1f4;flex-direction:column;height:100vh;min-height:0;display:flex}.app.dark{color:#e8edf4;background:#12151b}.topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffc7;border-bottom:1px solid #1c24301a;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.15rem;display:flex}.app.dark .topbar{background:#161a22e6;border-bottom-color:#ffffff14}.brand{align-items:baseline;gap:.65rem;display:flex}.brand strong{font-size:1.15rem}.brand span{opacity:.65;font-size:.9rem}.toolbar-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.file-picker{align-items:center;gap:.5rem;font-size:.9rem;display:flex}.file-picker select,.theme-btn{color:inherit;font:inherit;background:#fff;border:1px solid #1c24302e;border-radius:8px;padding:.4rem .65rem}.app.dark .file-picker select,.app.dark .theme-btn{background:#1c2230;border-color:#ffffff1f}.theme-btn{cursor:pointer}.axis-btn.is-active{color:#fff!important;background:#1c2430!important;border-color:#1c2430!important}.app.dark .axis-btn.is-active{color:#fff!important;background:#3d7eff!important;border-color:#3d7eff!important}.cad-uploader{cursor:pointer;align-items:center;display:inline-flex;position:relative}.cad-uploader input{opacity:0;cursor:pointer;position:absolute;inset:0}.cad-uploader span{white-space:nowrap;background:#fff;border:1px solid #1c24302e;border-radius:8px;padding:.4rem .65rem;font-size:.9rem;display:inline-block}.app.dark .cad-uploader span{background:#1c2230;border-color:#ffffff1f}.cad-uploader:has(input:disabled){opacity:.55;pointer-events:none}.stage{flex:1;grid-template-columns:320px minmax(0,1fr);grid-template-areas:"info viewer";gap:.75rem;min-height:0;margin:.75rem 1.15rem 1.15rem;display:grid}.info-stack{flex-direction:column;grid-area:info;gap:.75rem;min-height:0;display:flex;overflow:auto}.viewer-pane{background:#fff;border:1px solid #1c24301f;border-radius:14px;grid-area:viewer;min-height:0;position:relative;overflow:hidden;box-shadow:0 16px 40px #1c243014}.viewer-pane .dxfk-root,.viewer-pane>div{width:100%;height:100%;min-height:0}.app.dark .viewer-pane{background:#0e1116;border-color:#ffffff14}@media (width<=960px){.stage{grid-template-columns:1fr;grid-template-areas:"viewer""info"}.info-stack{max-height:360px}.file-picker select{width:100%;max-width:none}}
