*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #1040b0;--secondary-color: #103080;--error-color: #f44336;--bg-color: #fafafa;--text-color: #212121;--text-secondary: #757575;--border-color: #e0e0e0;--header-height: 64px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 3rem;--border-radius: 4px;--content-max-width: 960px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;color:var(--text-color);font-size:16px;line-height:1.5}#app{width:100%;min-height:100vh;display:flex;flex-direction:column}button{font-family:inherit;font-size:14px;padding:10px 20px;border:none;border-radius:var(--border-radius);cursor:pointer;transition:all .2s}button:hover{opacity:.9}button:active{transform:scale(.98)}button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){:root{--header-height: 56px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 2rem}body{font-size:14px}}:root{--dxf-vuer-primary-color: #1040b0;--dxf-vuer-error-color: #f44336;--dxf-vuer-bg-color: #fafafa;--dxf-vuer-text-color: #212121;--dxf-vuer-text-secondary: #757575;--dxf-vuer-border-color: #e0e0e0;--dxf-vuer-border-radius: 4px;--dxf-vuer-spacing-xs: 4px;--dxf-vuer-spacing-sm: 8px;--dxf-vuer-spacing-md: 16px;--dxf-vuer-spacing-lg: 24px}.layer-panel[data-v-5892e2fb]{background-color:#fffffff2;border:1px solid var(--dxf-vuer-border-color, #e0e0e0);border-radius:var(--dxf-vuer-border-radius, 4px);box-shadow:0 2px 8px #0000001a;max-height:50vh;display:flex;flex-direction:column;min-width:180px;max-width:260px;pointer-events:auto}.layer-panel.collapsed[data-v-5892e2fb]{max-height:none}.layer-panel-header[data-v-5892e2fb]{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--dxf-vuer-border-color, #e0e0e0);flex-shrink:0}.collapsed .layer-panel-header[data-v-5892e2fb]{border-bottom:none}.layer-panel-title[data-v-5892e2fb]{font-size:12px;font-weight:600;color:var(--dxf-vuer-text-color, #212121)}.collapse-btn[data-v-5892e2fb]{background:none;border:none;font-size:16px;font-weight:600;cursor:pointer;color:var(--dxf-vuer-text-secondary, #757575);padding:0 4px;line-height:1}.layer-panel-body[data-v-5892e2fb]{overflow:hidden;display:flex;flex-direction:column}.layer-panel-actions[data-v-5892e2fb]{display:flex;gap:4px;padding:4px 10px;border-bottom:1px solid var(--dxf-vuer-border-color, #e0e0e0);flex-shrink:0}.action-btn[data-v-5892e2fb]{padding:2px 8px;font-size:11px;background:none;border:1px solid var(--dxf-vuer-border-color, #e0e0e0);border-radius:3px;cursor:pointer;color:var(--dxf-vuer-text-secondary, #757575);transition:all .15s}.action-btn[data-v-5892e2fb]:hover{border-color:var(--dxf-vuer-primary-color, #1040b0);color:var(--dxf-vuer-primary-color, #1040b0)}.layer-filter-wrapper[data-v-5892e2fb]{position:relative;padding:4px 10px;border-bottom:1px solid var(--dxf-vuer-border-color, #e0e0e0);flex-shrink:0}.layer-filter[data-v-5892e2fb]{width:100%;padding:3px 22px 3px 6px;font-size:11px;border:1px solid var(--dxf-vuer-border-color, #e0e0e0);border-radius:3px;background:#fff;color:var(--dxf-vuer-text-color, #212121);outline:none;box-sizing:border-box}.layer-filter[data-v-5892e2fb]:focus{border-color:var(--dxf-vuer-primary-color, #1040b0)}.layer-filter[data-v-5892e2fb]::placeholder{color:var(--dxf-vuer-text-secondary, #757575)}.layer-filter-clear[data-v-5892e2fb]{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:16px;height:16px;padding:0;border:none;background:none;font-size:14px;line-height:1;cursor:pointer;color:var(--dxf-vuer-text-secondary, #757575)}.layer-filter-clear[data-v-5892e2fb]:hover{color:var(--dxf-vuer-text-color, #212121)}.layer-empty[data-v-5892e2fb]{padding:8px 10px;font-size:11px;font-style:italic;color:var(--dxf-vuer-text-secondary, #757575);text-align:center}.layer-list[data-v-5892e2fb]{overflow-y:auto;max-height:300px;padding:2px 0}.layer-item[data-v-5892e2fb]{display:flex;align-items:center;gap:6px;padding:4px 10px;cursor:pointer;transition:background-color .15s;font-size:12px}.layer-item[data-v-5892e2fb]:hover{background-color:#0000000a}.layer-item.hidden[data-v-5892e2fb]{opacity:.5}.layer-item.frozen[data-v-5892e2fb]{opacity:.35;cursor:not-allowed}.eye-icon[data-v-5892e2fb]{flex-shrink:0;color:var(--dxf-vuer-text-color, #212121)}.eye-icon.off[data-v-5892e2fb]{color:var(--dxf-vuer-text-secondary, #757575)}.state-icon[data-v-5892e2fb]{flex-shrink:0}.frozen-icon[data-v-5892e2fb]{color:#5ba3d9}.lock-icon[data-v-5892e2fb]{color:var(--dxf-vuer-text-secondary, #757575)}.color-swatch[data-v-5892e2fb]{flex-shrink:0;width:12px;height:12px;border-radius:2px;border:1px solid rgba(0,0,0,.15)}.layer-name[data-v-5892e2fb]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dxf-vuer-text-color, #212121)}.layer-count[data-v-5892e2fb]{flex-shrink:0;font-size:11px;color:var(--dxf-vuer-text-secondary, #757575)}@media(max-width:768px){.layer-panel[data-v-5892e2fb]{min-width:150px;max-width:200px;max-height:40%}.layer-list[data-v-5892e2fb]{max-height:200px}}.viewer-toolbar[data-v-a8f28da5]{display:flex;gap:4px;pointer-events:auto}.toolbar-button[data-v-a8f28da5]{display:flex;align-items:center;justify-content:center;padding:var(--dxf-vuer-spacing-sm, 8px);color:var(--dxf-vuer-text-color, #212121);border:1px solid var(--dxf-vuer-border-color, #e0e0e0);border-radius:var(--dxf-vuer-border-radius, 4px);transition:all .2s;-webkit-user-select:none;user-select:none;box-shadow:0 2px 4px #0000001a;background-color:#fffffff2;cursor:pointer}.toolbar-button[data-v-a8f28da5]:hover{border-color:rgb(from var(--dxf-vuer-primary-color, #1040b0) r g b / .5)}.toolbar-button[data-v-a8f28da5]:active{transform:scale(.94)}@media(max-width:768px){.toolbar-button[data-v-a8f28da5]{padding:6px}.toolbar-button svg[data-v-a8f28da5]{width:18px;height:18px}}.dxf-viewer[data-v-a140ddfb]{position:relative;width:100%;flex:1;background-color:var(--dxf-vuer-bg-color, #fafafa);border:2px solid var(--dxf-vuer-border-color, #e0e0e0);border-radius:var(--dxf-vuer-border-radius, 4px);overflow:hidden;touch-action:none}.overlay-grid[data-v-a140ddfb]{position:absolute;inset:0;z-index:10;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr;grid-template-areas:"top-left     top-center     top-right" "bottom-left  bottom-center  bottom-right";padding:var(--dxf-vuer-spacing-sm, 8px);gap:var(--dxf-vuer-spacing-sm, 8px);pointer-events:none}.overlay-cell[data-v-a140ddfb]{display:flex;flex-direction:column;gap:4px;min-width:0;min-height:0}.cell-top-left[data-v-a140ddfb]{grid-area:top-left;align-items:flex-start}.cell-top-center[data-v-a140ddfb]{grid-area:top-center;align-items:center}.cell-top-right[data-v-a140ddfb]{grid-area:top-right;align-items:flex-end}.cell-bottom-left[data-v-a140ddfb]{grid-area:bottom-left;align-items:flex-start;justify-content:flex-end}.cell-bottom-center[data-v-a140ddfb]{grid-area:bottom-center;align-items:center;justify-content:flex-end}.cell-bottom-right[data-v-a140ddfb]{grid-area:bottom-right;align-items:flex-end;justify-content:flex-end}.file-name-overlay[data-v-a140ddfb]{padding:var(--dxf-vuer-spacing-sm, 8px) var(--dxf-vuer-spacing-md, 16px);background-color:#fffffff2;border:1px solid var(--dxf-vuer-border-color, #e0e0e0);border-radius:var(--dxf-vuer-border-radius, 4px);font-size:14px;color:var(--dxf-vuer-text-color, #212121);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dxf-viewer[data-v-a140ddfb] canvas{display:block}.coordinates-overlay[data-v-a140ddfb]{display:flex;flex-direction:column;padding:4px var(--dxf-vuer-spacing-sm, 8px);background-color:#fffffff2;color:var(--dxf-vuer-text-color, #212121);border:1px solid var(--dxf-vuer-border-color, #e0e0e0);border-radius:var(--dxf-vuer-border-radius, 4px);font-size:12px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;white-space:nowrap}.coord-row[data-v-a140ddfb]{display:flex;gap:2px}.coord-value--na[data-v-a140ddfb]{color:var(--dxf-vuer-text-secondary, #757575);opacity:.65}.coord-label[data-v-a140ddfb]{width:1.2em;text-align:right;flex-shrink:0}.coord-value[data-v-a140ddfb]{width:7em;text-align:right;flex-shrink:0}.zoom-value[data-v-a140ddfb]{width:auto;color:var(--dxf-vuer-text-secondary, #757575)}.debug-overlay[data-v-a140ddfb]{display:flex;gap:var(--dxf-vuer-spacing-sm, 8px);padding:4px var(--dxf-vuer-spacing-sm, 8px);background-color:#000000b3;color:#ccc;border-radius:var(--dxf-vuer-border-radius, 4px);font-size:11px;font-family:SF Mono,Fira Code,Cascadia Code,monospace}.message-overlay[data-v-a140ddfb]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:var(--dxf-vuer-spacing-lg, 24px)}.message-content[data-v-a140ddfb]{display:flex;flex-direction:column;align-items:center;gap:var(--dxf-vuer-spacing-md, 16px);text-align:center}.message-content.error svg[data-v-a140ddfb]{color:var(--dxf-vuer-error-color, #f44336)}.message-content.placeholder svg[data-v-a140ddfb]{color:var(--dxf-vuer-border-color, #e0e0e0)}.message-title[data-v-a140ddfb]{font-size:1.25rem;font-weight:600;color:var(--dxf-vuer-text-color, #212121)}.message-text[data-v-a140ddfb]{font-size:1rem;color:var(--dxf-vuer-text-secondary, #757575);max-width:300px}.loading-overlay[data-v-a140ddfb]{z-index:20;background-color:#fafafad9}.error-overlay[data-v-a140ddfb]{z-index:20;background-color:#fafafaf2}.spinner[data-v-a140ddfb]{width:40px;height:40px;border:3px solid var(--dxf-vuer-border-color, #e0e0e0);border-top-color:var(--dxf-vuer-primary-color, #1040b0);border-radius:50%;animation:spin-a140ddfb .8s linear infinite}.progress-container[data-v-a140ddfb]{width:200px;height:4px;background-color:var(--dxf-vuer-border-color, #e0e0e0);border-radius:2px;overflow:hidden}.progress-bar[data-v-a140ddfb]{height:100%;background-color:var(--dxf-vuer-primary-color, #1040b0);transition:width .1s ease-out}.progress-text[data-v-a140ddfb]{font-size:.85rem;color:var(--dxf-vuer-text-secondary, #757575)}@keyframes spin-a140ddfb{to{transform:rotate(360deg)}}.dxf-viewer.dark-theme[data-v-a140ddfb]{background-color:#1a1a1a;border-color:#333}.dark-theme .loading-overlay[data-v-a140ddfb]{background-color:#1a1a1ad9}.dark-theme .error-overlay[data-v-a140ddfb]{background-color:#1a1a1af2}.dark-theme .file-name-overlay[data-v-a140ddfb]{background-color:#1e1e1ef2;border-color:#333;color:#e0e0e0}.dark-theme[data-v-a140ddfb] .toolbar-button{background-color:#1e1e1ef2;border-color:#444;color:#e0e0e0}.dark-theme .message-text[data-v-a140ddfb],.dark-theme .progress-text[data-v-a140ddfb]{color:#aaa}.dark-theme .message-title[data-v-a140ddfb]{color:#e0e0e0}.dark-theme .spinner[data-v-a140ddfb]{border-color:#444;border-top-color:#6b8fd4}.dark-theme .progress-container[data-v-a140ddfb]{background-color:#444}.dark-theme .message-content.placeholder svg[data-v-a140ddfb]{color:#555}.dark-theme[data-v-a140ddfb] .layer-panel{background-color:#1e1e1ef2;border-color:#444;box-shadow:0 2px 8px #0006}.dark-theme[data-v-a140ddfb] .layer-panel-header{border-bottom-color:#444}.dark-theme[data-v-a140ddfb] .layer-panel-title{color:#e0e0e0}.dark-theme[data-v-a140ddfb] .collapse-btn{color:#aaa}.dark-theme[data-v-a140ddfb] .layer-panel-actions{border-bottom-color:#444}.dark-theme[data-v-a140ddfb] .action-btn{border-color:#555;color:#aaa}.dark-theme[data-v-a140ddfb] .action-btn:hover{border-color:#6b8fd4;color:#6b8fd4}.dark-theme[data-v-a140ddfb] .layer-item:hover{background-color:#ffffff0f}.dark-theme[data-v-a140ddfb] .eye-icon{color:#e0e0e0}.dark-theme[data-v-a140ddfb] .eye-icon.off{color:#666}.dark-theme[data-v-a140ddfb] .layer-name{color:#e0e0e0}.dark-theme[data-v-a140ddfb] .layer-count{color:#888}.dark-theme[data-v-a140ddfb] .color-swatch{border-color:#fff3}.drop-overlay[data-v-a140ddfb]{z-index:30;background-color:#fafafae6;border:3px dashed var(--dxf-vuer-primary-color, #1040b0)}.drop-overlay svg[data-v-a140ddfb]{color:var(--dxf-vuer-primary-color, #1040b0)}.dark-theme .drop-overlay[data-v-a140ddfb]{background-color:#1a1a1ae6;border-color:#6b8fd4}.dark-theme .drop-overlay svg[data-v-a140ddfb]{color:#6b8fd4}.dark-theme .coordinates-overlay[data-v-a140ddfb]{background-color:#1e1e1ef2;border-color:#444;color:#e0e0e0}@media(max-width:768px){.file-name-overlay[data-v-a140ddfb]{padding:6px var(--dxf-vuer-spacing-sm, 8px);font-size:12px}.message-title[data-v-a140ddfb]{font-size:1.1rem}.message-text[data-v-a140ddfb]{font-size:.9rem}}.file-uploader[data-v-2d4287ea]{display:flex;flex-direction:column;gap:var(--dxf-vuer-spacing-sm, 8px);flex:1;max-width:420px}.file-input[data-v-2d4287ea]{display:none}.file-input-label[data-v-2d4287ea]{cursor:pointer}.file-button[data-v-2d4287ea]{display:flex;align-items:center;justify-content:center;gap:var(--dxf-vuer-spacing-sm, 8px);padding:var(--dxf-vuer-spacing-sm, 8px) var(--dxf-vuer-spacing-md, 16px);background-color:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:var(--dxf-vuer-border-radius, 4px);font-weight:500;font-size:14px;transition:all .2s;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.file-button[data-v-2d4287ea]:hover{background-color:#ffffff4d;border-color:#ffffff80}.file-button[data-v-2d4287ea]:active{transform:scale(.98)}@media(max-width:768px){.file-button[data-v-2d4287ea]{padding:var(--dxf-vuer-spacing-sm, 8px);justify-content:center}}.unsupported-entities[data-v-9ebf05b0]{background-color:#fff3cd;border:2px solid #ffc107;border-radius:var(--dxf-vuer-border-radius, 4px);padding:var(--dxf-vuer-spacing-md, 16px);margin:var(--dxf-vuer-spacing-md, 16px)}.warning-header[data-v-9ebf05b0]{display:flex;align-items:center;gap:var(--dxf-vuer-spacing-sm, 8px);margin-bottom:var(--dxf-vuer-spacing-sm, 8px)}.warning-header svg[data-v-9ebf05b0]{flex-shrink:0;color:#ff9800}.warning-title[data-v-9ebf05b0]{flex:1;font-weight:600;color:#856404;font-size:14px}.toggle-button[data-v-9ebf05b0]{padding:4px 12px;font-size:12px;background-color:#fff;border:1px solid #ffc107;border-radius:var(--dxf-vuer-border-radius, 4px);color:#856404;cursor:pointer;font-weight:500;transition:all .2s}.toggle-button[data-v-9ebf05b0]:hover{background-color:#ffc107;color:#fff}.entities-list[data-v-9ebf05b0]{max-height:200px;overflow-y:auto;margin-top:var(--dxf-vuer-spacing-sm, 8px);padding:var(--dxf-vuer-spacing-sm, 8px);background-color:#fff;border-radius:var(--dxf-vuer-border-radius, 4px);border:1px solid #ffc107}.entity-item[data-v-9ebf05b0]{display:flex;align-items:flex-start;gap:var(--dxf-vuer-spacing-sm, 8px);padding:4px 0;font-size:13px;color:#856404}.entity-bullet[data-v-9ebf05b0]{flex-shrink:0;font-weight:700}.entity-text[data-v-9ebf05b0]{flex:1;word-break:break-word}.warning-footer[data-v-9ebf05b0]{margin-top:var(--dxf-vuer-spacing-sm, 8px);padding-top:var(--dxf-vuer-spacing-sm, 8px);border-top:1px solid #ffc107}.warning-note[data-v-9ebf05b0]{font-size:12px;color:#856404;font-style:italic}.expand-enter-active[data-v-9ebf05b0],.expand-leave-active[data-v-9ebf05b0]{transition:all .3s ease;max-height:200px;overflow:hidden}.expand-enter-from[data-v-9ebf05b0],.expand-leave-to[data-v-9ebf05b0]{max-height:0;opacity:0}.entities-list[data-v-9ebf05b0]::-webkit-scrollbar{width:6px}.entities-list[data-v-9ebf05b0]::-webkit-scrollbar-track{background:#fff3cd;border-radius:3px}.entities-list[data-v-9ebf05b0]::-webkit-scrollbar-thumb{background:#ffc107;border-radius:3px}.entities-list[data-v-9ebf05b0]::-webkit-scrollbar-thumb:hover{background:#ff9800}@media(max-width:768px){.unsupported-entities[data-v-9ebf05b0]{padding:var(--dxf-vuer-spacing-sm, 8px);margin:var(--dxf-vuer-spacing-sm, 8px)}.warning-title[data-v-9ebf05b0]{font-size:13px}.entity-item[data-v-9ebf05b0]{font-size:12px}.entities-list[data-v-9ebf05b0]{max-height:150px}}.dxf-statistics[data-v-52818d42]{background-color:var(--dxf-vuer-bg-color, #fafafa);border:1px solid var(--dxf-vuer-border-color, #e0e0e0);border-radius:var(--dxf-vuer-border-radius, 4px);padding:var(--dxf-vuer-spacing-md, 16px);margin-top:var(--dxf-vuer-spacing-md, 16px)}.statistics-title[data-v-52818d42]{margin:0 0 var(--dxf-vuer-spacing-md, 16px) 0;font-size:1.1rem;font-weight:600;color:var(--dxf-vuer-text-color, #212121)}.statistics-grid[data-v-52818d42]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--dxf-vuer-spacing-md, 16px)}.stat-section h4[data-v-52818d42]{margin:0 0 var(--dxf-vuer-spacing-sm, 8px) 0;font-size:.9rem;font-weight:600;color:var(--dxf-vuer-text-secondary, #757575);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--dxf-vuer-border-color, #e0e0e0);padding-bottom:var(--dxf-vuer-spacing-xs, 4px)}.stat-item[data-v-52818d42]{display:flex;justify-content:space-between;align-items:center;padding:var(--dxf-vuer-spacing-xs, 4px) 0;font-size:.875rem}.stat-item.entity-type[data-v-52818d42]{padding-left:var(--dxf-vuer-spacing-sm, 8px);font-size:.8125rem}.stat-label[data-v-52818d42]{color:var(--dxf-vuer-text-secondary, #757575);font-weight:500}.stat-value[data-v-52818d42]{color:var(--dxf-vuer-text-color, #212121);font-weight:600;font-family:Courier New,monospace}.stat-value-highlight[data-v-52818d42]{color:var(--dxf-vuer-primary-color, #1040b0);font-size:1rem}@media(max-width:768px){.statistics-grid[data-v-52818d42]{grid-template-columns:1fr}}.hero[data-v-68c10400]{position:relative;text-align:center;padding:3rem var(--spacing-lg) 3rem;max-width:var(--content-max-width);margin:0 auto}.hero-bg[data-v-68c10400]{position:absolute;top:calc(-1 * var(--spacing-lg));left:50%;transform:translate(-50%);width:100vw;height:clamp(420px,70vh,600px);pointer-events:none;color:var(--primary-color, #4a90d9);opacity:.22;z-index:-1;-webkit-mask-image:linear-gradient(to bottom,#000 0%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,transparent 100%)}.hero[data-v-68c10400]>*:not(.hero-bg){position:relative;z-index:0}.hero-brand[data-v-68c10400]{display:inline-block;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.875rem;font-weight:600;color:var(--primary-color);background:var(--accent-bg, #f0f4ff);padding:4px 12px;border-radius:999px;margin-bottom:var(--spacing-md);letter-spacing:.5px}.hero h1[data-v-68c10400]{font-size:2.5rem;font-weight:800;color:var(--text-color);margin-bottom:var(--spacing-sm);letter-spacing:-.5px;line-height:1.15}.hero-subtitle[data-v-68c10400]{font-size:1.125rem;color:var(--text-secondary);max-width:600px;margin:0 auto var(--spacing-md);line-height:1.6}.hero-install-wrapper[data-v-68c10400]{display:inline-flex;align-items:center;gap:0;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--input-bg, #f5f5f5);overflow:hidden;margin:var(--spacing-sm) 0}.hero-install[data-v-68c10400]{display:inline-block;padding:var(--spacing-sm) var(--spacing-md);background-color:transparent;border:none;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.9rem;color:var(--text-color);-webkit-user-select:all;user-select:all}.copy-btn[data-v-68c10400]{display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm) 10px;background:transparent;border:none;border-left:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:color .15s,background-color .15s}.copy-btn[data-v-68c10400]:hover{color:var(--primary-color);background-color:#4a90d914}.copy-btn[data-v-68c10400]:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.copy-btn svg[data-v-68c10400]{flex-shrink:0}@media(max-width:768px){.hero[data-v-68c10400]{padding:2rem var(--spacing-md) 1.5rem}.hero h1[data-v-68c10400]{font-size:1.75rem}.hero-subtitle[data-v-68c10400]{font-size:1rem}}.stats-section[data-v-a5012a69]{max-width:var(--content-max-width);margin:calc(var(--spacing-lg) * 2) auto var(--spacing-lg);text-align:center}.stats-section h2[data-v-a5012a69]{font-size:1.5rem;font-weight:700;color:var(--text-color);margin:0 0 var(--spacing-md)}.stats[data-v-a5012a69]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.stat[data-v-a5012a69]{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:none;border-left:2px solid var(--primary-color);border-bottom:2px solid var(--primary-color);border-radius:0;background:transparent;text-align:left}.stat-value[data-v-a5012a69]{font-size:2rem;font-weight:800;color:var(--primary-color);line-height:1;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.stat-label[data-v-a5012a69]{font-size:.75rem;color:var(--text-color);text-transform:uppercase;letter-spacing:.6px;font-weight:600}.stat-sub[data-v-a5012a69]{font-size:.75rem;color:var(--text-secondary);line-height:1.4}@media(max-width:768px){.stats[data-v-a5012a69]{grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.stat[data-v-a5012a69]{padding:14px 12px}.stat-value[data-v-a5012a69]{font-size:1.5rem}}@media(prefers-reduced-motion:reduce){.stat[data-v-a5012a69]{transition:none}}.features[data-v-de97d756]{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);max-width:var(--content-max-width);margin:var(--spacing-lg) auto 0;padding:0}.feature-card[data-v-de97d756]{padding:var(--spacing-lg);border:none;border-radius:var(--border-radius);background:transparent}.feature-card h3[data-v-de97d756]{font-size:1rem;font-weight:600;margin-bottom:var(--spacing-sm);color:var(--text-color)}.feature-card p[data-v-de97d756]{font-size:.875rem;color:var(--text-secondary);line-height:1.6;margin:0}.feature-icon[data-v-de97d756]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:var(--accent-bg, #f0f4ff);color:var(--primary-color);margin-bottom:var(--spacing-sm)}@media(max-width:768px){.features[data-v-de97d756]{grid-template-columns:1fr}}.whats-new[data-v-31971818]{max-width:var(--content-max-width);margin:var(--spacing-lg) auto 0;text-align:center}.whats-new h2[data-v-31971818]{font-size:1.5rem;font-weight:700;color:var(--text-color);margin-bottom:var(--spacing-md)}.whats-new-list[data-v-31971818]{display:flex;flex-direction:column;gap:8px;text-align:left}.whats-new-item[data-v-31971818]{display:flex;align-items:baseline;gap:var(--spacing-sm);padding:6px 0;font-size:.875rem;color:var(--text-secondary);line-height:1.5}.whats-new-version[data-v-31971818]{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:4px}.whats-new-version.pkg-dxf-render[data-v-31971818]{color:var(--primary-color);background:var(--accent-bg, #f0f4ff)}.whats-new-version.pkg-dxf-vuer[data-v-31971818]{color:#2e7d32;background:#e8f5e9}.app.dark .whats-new-version.pkg-dxf-vuer[data-v-31971818]{color:#81c784;background:#1b3a1f}.whats-new-pkg[data-v-31971818]{opacity:.85}.whats-new-num[data-v-31971818]{opacity:1}.examples[data-v-44fab8d6]{max-width:var(--content-max-width);margin:var(--spacing-lg) auto 0;text-align:center}.examples h2[data-v-44fab8d6]{font-size:1.5rem;font-weight:700;color:var(--text-color);margin-bottom:var(--spacing-sm)}.examples-subtitle[data-v-44fab8d6]{color:var(--text-secondary);margin-bottom:var(--spacing-md)}.examples-grid[data-v-44fab8d6]{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);text-align:left}.example-card[data-v-44fab8d6]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--card-bg, white);text-decoration:none;color:inherit;box-shadow:0 1px 4px #00000014;transition:border-color .15s,box-shadow .15s}.example-card[data-v-44fab8d6]:hover{border-color:var(--primary-color);box-shadow:0 3px 12px #4a90d926}.example-card[data-v-44fab8d6]:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.example-icon[data-v-44fab8d6]{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:var(--accent-bg, #f0f4ff);color:var(--primary-color)}.example-card h3[data-v-44fab8d6]{font-size:.9375rem;font-weight:600;color:var(--text-color);margin-bottom:2px}.example-card p[data-v-44fab8d6]{font-size:.8125rem;color:var(--text-secondary);line-height:1.5;margin:0}@media(max-width:768px){.examples-grid[data-v-44fab8d6]{grid-template-columns:1fr}}.app[data-v-44151ea6]{display:flex;flex-direction:column;min-height:100vh;position:relative}.top-actions[data-v-44151ea6]{position:absolute;top:var(--spacing-md);right:var(--spacing-md);z-index:100;display:flex;gap:8px}.top-action-btn[data-v-44151ea6]{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);width:36px;height:36px;padding:0;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #0000001a;text-decoration:none}.top-action-btn[data-v-44151ea6]:hover{color:var(--primary-color);border-color:var(--primary-color)}.app-main[data-v-44151ea6]{flex:1;display:flex;flex-direction:column;padding:var(--spacing-lg);width:100%}.viewer-container[data-v-44151ea6]{display:flex;height:70vh;width:100%;border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.search-bar[data-v-44151ea6]{display:flex;align-items:center;gap:8px;margin-bottom:var(--spacing-sm);padding:6px 10px;border:1px solid var(--border-color);border-radius:var(--border-radius);background:#fff;transition:border-color .15s}.search-bar[data-v-44151ea6]:focus-within{border-color:var(--primary-color)}.search-icon[data-v-44151ea6]{flex-shrink:0;color:var(--text-secondary)}.search-input[data-v-44151ea6]{flex:1;min-width:0;border:none;background:transparent;font-size:.875rem;color:var(--text-color);outline:none}.search-input[data-v-44151ea6]::placeholder{color:var(--text-secondary)}.search-count[data-v-44151ea6]{flex-shrink:0;font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.search-zoom[data-v-44151ea6]{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:3px 10px;font-size:.75rem;font-weight:600;border:1px solid var(--primary-color);border-radius:3px;background:transparent;color:var(--primary-color);cursor:pointer}.search-zoom-icon[data-v-44151ea6]{opacity:.85}.search-zoom[data-v-44151ea6]:hover{background:var(--primary-color);color:#fff}.search-clear[data-v-44151ea6]{flex-shrink:0;width:22px;height:22px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--text-secondary);font-size:1.1rem;line-height:1;cursor:pointer}.search-clear[data-v-44151ea6]:hover{background:#0000000f;color:var(--text-color)}.app.dark .search-bar[data-v-44151ea6]{background:#1e1e1e;border-color:#444}.app.dark .search-clear[data-v-44151ea6]:hover{background:#ffffff14}.settings-panel[data-v-44151ea6]{margin-top:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius);background:#fff;overflow:hidden}.settings-header[data-v-44151ea6]{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border-color);background:#00000005}.settings-title[data-v-44151ea6]{margin:0;font-size:.9375rem;font-weight:600;color:var(--text-color)}.settings-reset[data-v-44151ea6]{padding:4px 12px;font-size:.75rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background:#fff;color:var(--text-secondary);cursor:pointer;transition:all .15s}.settings-reset[data-v-44151ea6]:hover{border-color:var(--primary-color);color:var(--primary-color)}.settings-grid[data-v-44151ea6]{display:grid;grid-template-columns:1fr 1fr}.settings-cell[data-v-44151ea6]{padding:14px 16px;display:flex;flex-direction:column;gap:8px;min-width:0;border-top:1px solid transparent;border-left:1px solid transparent}.settings-cell[data-v-44151ea6]:nth-child(2),.settings-cell[data-v-44151ea6]:nth-child(4){border-left-color:var(--border-color)}.settings-cell[data-v-44151ea6]:nth-child(3),.settings-cell[data-v-44151ea6]:nth-child(4){border-top-color:var(--border-color)}.settings-cell-header[data-v-44151ea6]{display:flex;align-items:center;justify-content:space-between;gap:8px}.settings-cell-title[data-v-44151ea6]{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;color:var(--text-color);text-transform:uppercase;letter-spacing:.04em}.settings-badge[data-v-44151ea6]{display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:1px 7px;font-size:.6875rem;font-weight:600;letter-spacing:0;text-transform:none;background:var(--primary-color);color:#fff;border-radius:999px}.settings-cell-action[data-v-44151ea6]{padding:2px 10px;font-size:.7rem;border:1px solid var(--border-color);border-radius:3px;background:transparent;color:var(--text-secondary);cursor:pointer}.settings-cell-action[data-v-44151ea6]:hover{border-color:var(--primary-color);color:var(--primary-color)}.settings-cell-hint[data-v-44151ea6]{margin:0;font-size:.75rem;color:var(--text-secondary);line-height:1.45}.settings-cell-hint code[data-v-44151ea6]{background:#0000000f;padding:1px 5px;border-radius:3px;font-size:.7rem}@media(max-width:768px){.settings-grid[data-v-44151ea6]{grid-template-columns:1fr}.settings-cell[data-v-44151ea6]:nth-child(2),.settings-cell[data-v-44151ea6]:nth-child(4){border-left-color:transparent}.settings-cell[data-v-44151ea6]:nth-child(2),.settings-cell[data-v-44151ea6]:nth-child(3),.settings-cell[data-v-44151ea6]:nth-child(4){border-top-color:var(--border-color)}}.app-footer[data-v-44151ea6]{text-align:center;padding:var(--spacing-lg);color:var(--text-secondary);font-size:.8125rem}.app-footer a[data-v-44151ea6]{color:var(--primary-color);text-decoration:none}.app-footer a[data-v-44151ea6]:hover{text-decoration:underline}.upload-area[data-v-44151ea6]{display:flex;justify-content:center;margin-bottom:var(--spacing-sm)}.upload-area[data-v-44151ea6] .file-uploader{max-width:none;flex:none}.upload-area[data-v-44151ea6] .file-button{background:var(--primary-color);color:#fff;border:none;padding:12px 32px;font-size:1rem;font-weight:600;border-radius:var(--border-radius);box-shadow:0 2px 8px #4a90d94d;-webkit-backdrop-filter:none;backdrop-filter:none}.upload-area[data-v-44151ea6] .file-button:hover{background:#3a7bc8;box-shadow:0 4px 12px #4a90d966}.sample-buttons[data-v-44151ea6]{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:var(--spacing-md)}.sample-label[data-v-44151ea6]{color:var(--text-secondary);font-size:.8125rem}.sample-list[data-v-44151ea6]{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.sample-btn[data-v-44151ea6]{padding:6px 14px;border:1px solid var(--border-color);border-radius:var(--border-radius);background:#fff;color:var(--text-color);cursor:pointer;transition:all .15s;white-space:nowrap}.sample-btn[data-v-44151ea6]:hover:not(:disabled):not(.active){border-color:var(--primary-color);color:var(--primary-color)}.sample-btn.active[data-v-44151ea6]{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.sample-btn[data-v-44151ea6]:disabled{opacity:.5;cursor:not-allowed}.sample-btn.loading[data-v-44151ea6]{opacity:.7}.sample-spinner[data-v-44151ea6]{display:inline-block;width:12px;height:12px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin-44151ea6 .6s linear infinite;vertical-align:middle;margin-right:4px}@keyframes spin-44151ea6{to{transform:rotate(360deg)}}.sample-hint[data-v-44151ea6]{font-size:.6875rem;opacity:.6;margin-left:4px}.sample-hint--heavy[data-v-44151ea6]{color:#d32f2f;opacity:1;font-weight:600}.sample-btn.active .sample-hint--heavy[data-v-44151ea6]{color:#ffcdd2}.aa-row[data-v-44151ea6]{display:flex;align-items:center;gap:10px;font-size:.8125rem;color:var(--text-color)}.aa-label[data-v-44151ea6]{color:var(--text-color);font-size:.8125rem;font-weight:600}.aa-select[data-v-44151ea6]{padding:4px 10px;border:1px solid var(--border-color);border-radius:var(--border-radius);background:#fff;color:var(--text-color);font-size:.8125rem;cursor:pointer}.aa-select[data-v-44151ea6]:focus{outline:2px solid var(--primary-color);outline-offset:1px}.app.dark .aa-select[data-v-44151ea6]{background:#1e1e1e;border-color:#444;color:var(--text-color)}.picking-label[data-v-44151ea6]{display:flex;align-items:center;gap:8px;font-size:.8125rem;font-weight:600;color:var(--text-color);cursor:pointer}.picking-hint[data-v-44151ea6]{font-size:.75rem;color:var(--text-secondary);margin:0}.picking-info[data-v-44151ea6]{display:flex;flex-wrap:wrap;gap:10px;font-size:.75rem;color:var(--text-color)}.picking-tag[data-v-44151ea6]{background:var(--primary-color);color:#fff;padding:2px 8px;border-radius:3px;font-weight:600}.picking-meta code[data-v-44151ea6]{background:#0000000f;padding:1px 5px;border-radius:3px;font-size:.7rem}.associations-list[data-v-44151ea6]{display:flex;flex-wrap:wrap;gap:6px}.associations-kind-btn[data-v-44151ea6]{padding:3px 10px;border:1px solid var(--border-color);border-radius:3px;background:transparent;font-size:.75rem;color:var(--text-color);cursor:pointer;text-transform:lowercase}.associations-kind-btn[data-v-44151ea6]:hover{border-color:var(--primary-color);color:var(--primary-color)}.associations-kind-btn.active[data-v-44151ea6]{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.associations-kind-count[data-v-44151ea6]{opacity:.7;margin-left:4px}.associations-rows[data-v-44151ea6]{display:flex;flex-direction:column;gap:3px;max-height:180px;overflow-y:auto;padding-top:4px}.association-row[data-v-44151ea6]{display:flex;align-items:center;gap:8px;padding:4px 8px;border:1px solid transparent;border-radius:3px;background:transparent;font-size:.75rem;color:var(--text-color);cursor:pointer;text-align:left}.association-row[data-v-44151ea6]:hover{background:#0000000a;border-color:var(--border-color)}.association-row.active[data-v-44151ea6]{border-color:var(--primary-color);background:#4a90d914}.association-kind-tag[data-v-44151ea6]{background:var(--primary-color);color:#fff;padding:1px 6px;border-radius:3px;font-size:.6875rem;font-weight:600;text-transform:lowercase;flex-shrink:0}.association-primary[data-v-44151ea6]{background:#0000000f;padding:1px 5px;border-radius:3px;font-size:.7rem;flex-shrink:0}.association-members[data-v-44151ea6]{color:var(--text-secondary);flex-shrink:0}.association-text[data-v-44151ea6]{color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.app.dark .association-row[data-v-44151ea6]:hover{background:#ffffff0d;border-color:#444}.app.dark .association-row.active[data-v-44151ea6]{background:#6b8fd41f;border-color:var(--primary-color)}.app.dark .association-primary[data-v-44151ea6]{background:#ffffff14}.app.dark .associations-kind-btn[data-v-44151ea6]{border-color:#444}.app.dark .picking-meta code[data-v-44151ea6]{background:#ffffff14}.hover-pill[data-v-44151ea6]{display:inline-flex;align-items:center;gap:8px;background-color:#000000b3;color:#ccc;padding:4px 8px;border-radius:4px;font-size:11px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;pointer-events:none}.hover-tag[data-v-44151ea6]{color:#fff}.hover-handle[data-v-44151ea6]{opacity:.7}.hover-text[data-v-44151ea6]{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}.overlay-rows[data-v-44151ea6]{display:flex;flex-wrap:wrap;gap:10px 22px}.overlay-row[data-v-44151ea6]{display:flex;flex-direction:column;align-items:center;gap:4px}.overlay-label[data-v-44151ea6]{color:var(--text-color);font-weight:600;font-size:.75rem;white-space:nowrap}.overlay-label.off[data-v-44151ea6]{opacity:.55}.layout-mini-grid[data-v-44151ea6]{display:grid;grid-template-columns:repeat(3,14px);grid-template-rows:repeat(2,14px);gap:3px;flex-shrink:0}.layout-cell[data-v-44151ea6]{width:14px;height:14px;padding:0;border:1px solid var(--border-color);border-radius:2px;background:transparent;cursor:pointer;transition:border-color .1s,background .1s}.layout-cell[data-v-44151ea6]:hover{border-color:var(--primary-color)}.layout-cell.active[data-v-44151ea6]{background:var(--primary-color);border-color:var(--primary-color)}.app.dark .settings-panel[data-v-44151ea6]{background:#1e1e1e;border-color:#444}.app.dark .settings-header[data-v-44151ea6]{background:#ffffff0a;border-bottom-color:#444}.app.dark .settings-reset[data-v-44151ea6]{background:transparent;border-color:#444;color:#aaa}.app.dark .settings-cell[data-v-44151ea6]:nth-child(2),.app.dark .settings-cell[data-v-44151ea6]:nth-child(4){border-left-color:#444}.app.dark .settings-cell[data-v-44151ea6]:nth-child(3),.app.dark .settings-cell[data-v-44151ea6]:nth-child(4){border-top-color:#444}.app.dark .settings-cell-action[data-v-44151ea6]{border-color:#444;color:#aaa}.app.dark .settings-cell-hint code[data-v-44151ea6]{background:#ffffff14}@media(max-width:768px){.app.dark .settings-cell[data-v-44151ea6]:nth-child(2),.app.dark .settings-cell[data-v-44151ea6]:nth-child(3),.app.dark .settings-cell[data-v-44151ea6]:nth-child(4){border-top-color:#444}}.app.dark .layout-cell[data-v-44151ea6]{border-color:#555}.controls-hint[data-v-44151ea6]{text-align:center;font-size:.8125rem;color:var(--text-secondary);opacity:.7;margin:0 0 var(--spacing-sm)}.error-message[data-v-44151ea6]{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-md);background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:var(--border-radius);font-size:14px;flex-shrink:0}.error-message svg[data-v-44151ea6]{flex-shrink:0}@media(max-width:768px){.app-main[data-v-44151ea6]{padding:var(--spacing-md)}.viewer-container[data-v-44151ea6]{height:50vh}.aa-row[data-v-44151ea6]{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){[data-v-44151ea6],[data-v-44151ea6]:before,[data-v-44151ea6]:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.top-action-btn[data-v-44151ea6]:focus-visible,.sample-btn[data-v-44151ea6]:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.app.dark[data-v-44151ea6]{--primary-color: #2563eb;--bg-color: #121212;--text-color: #e0e0e0;--text-secondary: #999;--border-color: #333;--accent-bg: #1a2744;--input-bg: #1e1e1e;--card-bg: #1e1e1e;color:var(--text-color)}.app.dark .top-action-btn[data-v-44151ea6]{background:#1e1e1e;border-color:#444;color:#999}.app.dark .sample-btn[data-v-44151ea6]{background:#1e1e1e;border-color:#444}.app.dark .sample-btn[data-v-44151ea6]:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.app.dark .sample-btn.active[data-v-44151ea6]{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.app.dark .viewer-container[data-v-44151ea6]{border-color:#333}.app.dark .error-message[data-v-44151ea6]{background-color:#3a1c1e;color:#f5a0a5;border-color:#5c2b2e}
