:root{--primary: #4A90E2;--primary-dark: #357ABD;--primary-light: #6FAAED;--bg-top: #D6EAF8;--bg-bottom: #FFFFFF;--text: #2C3E50;--text-light: #7F8C8D;--shadow: 0 2px 12px rgba(0,0,0,.08);--shadow-strong: 0 4px 20px rgba(0,0,0,.15);--radius: 12px;--radius-sm: 8px;--radius-lg: 20px;--safe-bottom: env(safe-area-inset-bottom, 0px)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,Noto Sans SC,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none}body{background:linear-gradient(180deg,var(--bg-top) 0%,var(--bg-bottom) 60%)}#app{width:100%;height:100%;position:relative;overflow:hidden}.viewer-container{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden}.viewer-container canvas{display:block;width:100%!important;height:100%!important}.label-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:10;overflow:hidden}.component-label{position:absolute;font-weight:700;text-shadow:0 0 4px rgba(0,0,0,.8),0 0 8px rgba(0,0,0,.6);white-space:nowrap;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1;pointer-events:none}.grid-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:2}.toolbar{position:absolute;bottom:0;left:0;right:0;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(0,0,0,.06);padding:6px 8px calc(6px + var(--safe-bottom));z-index:100;display:flex;align-items:center;justify-content:space-around;gap:2px}.toolbar-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;border:none;background:none;cursor:pointer;color:var(--text-light);transition:all .2s;position:relative;border-radius:var(--radius-sm);min-width:48px;flex:1;max-width:80px}.toolbar-btn:active{transform:scale(.92)}.toolbar-btn.active{color:var(--primary)}.toolbar-btn.disabled{opacity:.4;pointer-events:none}.toolbar-btn svg{width:24px;height:24px}.toolbar-btn span{font-size:10px;white-space:nowrap;line-height:1.2}.toolbar-dropdown{position:relative;flex:1;min-width:48px;max-width:80px}.toolbar-dropdown .toolbar-btn{flex:1;max-width:none;min-width:0;width:100%}.dropdown-menu{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#fff;border:1px solid #e0e0e0;border-radius:var(--radius);box-shadow:var(--shadow-strong);min-width:160px;white-space:nowrap;z-index:200;padding:6px 0}.dropdown-item{display:flex;align-items:center;gap:8px;padding:10px 16px;font-size:13px;color:var(--text);cursor:pointer;transition:background .15s}.dropdown-item:hover{background:#f5f5f5}.dropdown-item.active{color:var(--primary)}.dropdown-check{margin-left:auto;color:var(--primary);font-weight:700}.dropdown-radio{min-width:16px;color:var(--primary)}.dropdown-icon{width:18px;height:18px;flex-shrink:0}.dropdown-divider{height:1px;background:#e0e0e0;margin:4px 12px}.ring-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:200;pointer-events:none}.ring-menu{position:absolute;width:200px;height:200px;margin-left:-100px;margin-top:-100px;pointer-events:all;z-index:210}.ring-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:40px;height:40px;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--shadow-strong);z-index:2}.ring-items{position:absolute;left:50%;top:50%;z-index:1;pointer-events:none}.ring-item{position:absolute;width:48px;height:48px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);cursor:pointer;transition:opacity .2s cubic-bezier(.4,0,.2,1),left .3s cubic-bezier(.4,0,.2,1),top .3s cubic-bezier(.4,0,.2,1);color:var(--text);border:2px solid #f0f0f0;opacity:0;pointer-events:all}.ring-item.visible{opacity:1}.ring-item:active{transform:scale(.9)!important}.ring-item svg{width:22px;height:22px}.ring-item .ring-tooltip{position:absolute;top:-26px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:3px 8px;border-radius:4px;font-size:10px;white-space:nowrap;opacity:0;transition:opacity .2s;pointer-events:none}.ring-item:hover .ring-tooltip{opacity:1}.property-panel{position:fixed;top:80px;right:0;bottom:80px;width:280px;background:#ffffffe0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:-4px 0 20px #0000001a;z-index:150;display:flex;flex-direction:column;transform:translate(100%);transition:transform .25s cubic-bezier(.4,0,.2,1)}.property-panel.open{transform:translate(0)}.property-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #eee;flex-shrink:0}.property-panel-header h3{font-size:15px;font-weight:600;color:var(--text)}.property-panel-close{width:28px;height:28px;border:none;background:#f0f0f0;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text);font-size:16px}.property-panel-close:active{transform:scale(.9)}.property-panel-content{flex:1;overflow-y:auto;padding:12px 16px;-webkit-overflow-scrolling:touch}.property-panel-content::-webkit-scrollbar{width:6px}.property-panel-content::-webkit-scrollbar-track{background:transparent}.property-panel-content::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.property-group{margin-bottom:12px}.property-group-title{font-size:12px;font-weight:600;color:var(--primary);margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid #eef}.property-row{display:flex;justify-content:space-between;padding:4px 0;font-size:13px;line-height:1.5}.property-key{color:var(--text-light);flex-shrink:0;margin-right:8px}.property-value{color:var(--text);text-align:right;word-break:break-word}.model-list-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:190;pointer-events:none}.model-list-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000004d;opacity:0;transition:opacity .3s;pointer-events:all}.model-list-bg.visible{opacity:1}.model-list-drawer{position:absolute;bottom:0;left:0;right:0;max-height:60%;background:#fff;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-strong);transform:translateY(100%);transition:transform .3s cubic-bezier(.34,1.56,.64,1);pointer-events:all;overflow:hidden;display:flex;flex-direction:column}.model-list-drawer.open{transform:translateY(0)}.model-list-handle{width:36px;height:4px;background:#ddd;border-radius:2px;margin:10px auto}.model-list-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px 12px;border-bottom:1px solid #f0f0f0;flex-shrink:0}.model-list-header h3{font-size:16px;font-weight:600;color:var(--text)}.model-list-body{flex:1;overflow-y:auto;padding:8px 16px;-webkit-overflow-scrolling:touch}.model-item{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f5f5f5;cursor:pointer;transition:background .15s}.model-item:active{background:#f5f5f5}.model-item.loaded{background:#e8f4fd;border:1px solid var(--primary);border-radius:8px;padding:9px 0}.model-item-icon{width:32px;height:32px;background:var(--primary-light);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:700;margin-right:12px;flex-shrink:0}.model-item-info{flex:1;min-width:0}.model-item-name{font-size:14px;font-weight:500;color:var(--text)}.model-item-size{font-size:11px;color:var(--text-light);margin-top:2px}.model-item-load-btn{padding:6px 16px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:13px;cursor:pointer;flex-shrink:0}.model-item-load-btn:active{opacity:.8}.model-item-load-btn.loaded{background:#e8f0fe;color:var(--primary)}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffffffd9;z-index:50;opacity:0;pointer-events:none;transition:opacity .3s}.loading-overlay.visible{opacity:1;pointer-events:all}.loading-spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.loading-text{margin-top:12px;font-size:14px;color:var(--text-light)}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:var(--text-light);pointer-events:none}.empty-state svg{width:60px;height:60px;opacity:.3;margin-bottom:12px}.empty-state p{font-size:14px}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ddd;border-radius:2px}@media (max-width: 480px){.property-panel{width:250px;right:0}.ring-item{width:42px;height:42px}.ring-item svg{width:18px;height:18px}.toolbar-btn{min-width:36px;padding:4px}.toolbar-btn svg{width:20px;height:20px}.toolbar-btn span{font-size:9px}.toolbar-dropdown{min-width:36px}.dropdown-menu{min-width:140px}.dropdown-item{padding:8px 12px;font-size:12px}}.toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);background:#000000c7;color:#fff;padding:10px 20px;border-radius:var(--radius);font-size:13px;z-index:300;opacity:0;pointer-events:none;transition:all .2s;text-align:center;max-width:80%}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000000d;display:flex;align-items:flex-end;justify-content:center;padding-bottom:40px;z-index:200}.dialog{background:#fff;border-radius:var(--radius);width:80%;max-width:320px;box-shadow:var(--shadow-strong)}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #eee}.dialog-header h3{font-size:16px;font-weight:600}.dialog-header button{background:none;border:none;font-size:18px;cursor:pointer;color:#999}.dialog-body{padding:20px 16px}.dialog-footer{display:flex;gap:8px;padding:0 16px 16px;justify-content:flex-end}.dialog-btn{padding:8px 20px;border:1px solid #ddd;border-radius:var(--radius-sm);background:#fff;color:var(--text);font-size:14px;cursor:pointer}.dialog-btn:active{opacity:.7}.dialog-btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.dialog-btn.danger{background:#ff3b30;color:#fff;border-color:#ff3b30}.rename-input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:var(--radius-sm);font-size:14px;outline:none}.rename-input:focus{border-color:var(--primary)}.model-list-section-label{margin:8px 0;text-align:center;font-size:11px;color:#ccc;border-bottom:1px solid #f0f0f0;padding-bottom:8px}.model-item-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.model-item-action-btn{padding:4px 8px;border:1px solid #ddd;border-radius:6px;background:#fff;color:var(--text-light);font-size:11px;cursor:pointer}.model-item-action-btn:active{opacity:.7}.model-item-action-btn.danger{color:#ff3b30;border-color:#ff3b30}.log-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:190;pointer-events:none}.log-panel-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000004d;opacity:0;transition:opacity .3s;pointer-events:all}.log-panel-bg.visible{opacity:1}.log-panel-drawer{position:absolute;bottom:0;left:0;right:0;max-height:60%;background:#fff;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-strong);transform:translateY(100%);transition:transform .3s cubic-bezier(.34,1.56,.64,1);pointer-events:all;overflow:hidden;display:flex;flex-direction:column}.log-panel-drawer.open{transform:translateY(0)}.log-panel-handle{width:36px;height:4px;background:#ddd;border-radius:2px;margin:10px auto}.log-panel-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px 12px;border-bottom:1px solid #f0f0f0;flex-shrink:0}.log-panel-header h3{font-size:16px;font-weight:600;color:var(--text)}.log-panel-header-actions{display:flex;align-items:center;gap:8px}.log-panel-copy-btn{padding:4px 12px;border:1px solid var(--primary);border-radius:6px;background:#fff;color:var(--primary);font-size:12px;cursor:pointer}.log-panel-copy-btn:active{opacity:.7}.log-panel-close-btn{background:none;border:none;font-size:18px;cursor:pointer;color:#999;padding:4px}.log-panel-body{flex:1;overflow-y:auto;padding:8px 16px;-webkit-overflow-scrolling:touch;user-select:text;-webkit-user-select:text;font-family:Menlo,Monaco,Courier New,monospace;font-size:11px;line-height:1.6}.log-entry{padding:2px 0;word-break:break-all}.log-entry.log-error{color:#ff3b30}.log-entry.log-warn{color:#ff9500}.log-entry.log-info,.log-entry.log-log{color:var(--text)}.log-time{color:#999;margin-right:4px}.log-type{font-weight:600;margin-right:6px}.log-count{color:#999;font-size:10px;background:#f0f0f0;border-radius:3px;padding:0 4px;margin-right:4px}.log-empty{text-align:center;padding:24px;color:#999;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,sans-serif}.log-stack-toggle{cursor:pointer;font-size:11px;color:#666;background:#e8e8e8;padding:0 6px;border-radius:3px;margin-left:4px;-webkit-user-select:none;user-select:none}.log-stack-toggle:hover{background:#ddd}.log-stack{margin:4px 0 0;padding:6px 8px;font-size:11px;line-height:1.4;background:#f5f5f5;border:1px solid #eee;border-radius:4px;white-space:pre-wrap;word-break:break-all;overflow-x:auto;max-height:160px;overflow-y:auto;color:#555}.toast.visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.settings-dialog{max-height:80vh;overflow-y:auto}.settings-group{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.settings-group:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.settings-group-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#888;margin-bottom:4px}.settings-row{display:flex;align-items:center;gap:12px;padding:6px 0}.settings-row label{font-size:14px;color:var(--text);white-space:nowrap;min-width:80px}.settings-row input[type=range]{flex:1;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--primary-light);border-radius:2px;outline:none;cursor:pointer}.settings-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--primary);border:2px solid white;box-shadow:0 1px 4px #0003;cursor:pointer}.settings-value{font-size:14px;font-weight:600;color:var(--primary);min-width:36px;text-align:right}.settings-toggle{flex:1;height:32px;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text);font-size:14px;cursor:pointer;transition:all .15s ease}.settings-toggle.on{background:var(--primary);color:#fff;border-color:var(--primary)}.settings-reset-row{display:flex;justify-content:center;padding-top:8px}.settings-reset-btn{font-size:12px;padding:4px 14px;border:1px solid var(--border);border-radius:6px;background:transparent;color:#999;cursor:pointer;transition:all .15s ease}.settings-reset-btn:hover{color:var(--text);border-color:#999}.preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;flex:1}.preset-btn{height:28px;border:1px solid var(--border);border-radius:4px;background:var(--bg-secondary);color:var(--text);font-size:12px;cursor:pointer;transition:all .15s ease}.preset-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.drawing-dialog{max-height:45vh;overflow-y:auto;width:360px;background:#fff9}.drawing-section{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border, #e0e0e0)}.drawing-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.drawing-section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#888;margin-bottom:8px}.drawing-save-btn{display:block;width:100%;height:40px;margin-top:12px;border:none;border-radius:var(--radius-sm);background:var(--primary);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .15s}.drawing-save-btn:active{opacity:.8}.drawing-save-btn:disabled{opacity:.4;cursor:not-allowed}.section-panel{position:fixed;right:16px;bottom:80px;width:240px;background:#fffffff2;border:1px solid #e0e0e0;border-radius:var(--radius);box-shadow:var(--shadow-strong);z-index:900;overflow:hidden}.section-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border, #333)}.section-panel-header{border-bottom:1px solid #e0e0e0}.section-panel-header h3{font-size:13px;font-weight:600;margin:0;color:#333}.section-panel-header button{background:none;border:none;color:#999;cursor:pointer;font-size:16px;padding:0 2px}.section-panel-body{padding:10px 14px 14px;display:flex;flex-direction:column;gap:8px}.section-coord-label{font-size:11px;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.section-coord-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px}.section-btn{height:32px;border:1px solid #d0d0d0;border-radius:4px;background:#f5f5f5;color:#555;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s ease}.section-btn:hover{border-color:var(--primary);color:var(--primary)}.section-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.section-pos-row{display:flex;align-items:center;gap:6px}.section-pos-row label{font-size:11px;white-space:nowrap;color:#666;min-width:52px}.section-pos-row input[type=range]{flex:1;height:4px;accent-color:var(--primary)}.section-pos-val{font-size:11px;min-width:32px;text-align:right;color:#666}.section-divider{height:1px;background:#e0e0e0;margin:2px 0}.section-custom-btn{width:100%;height:34px;border:1px dashed #bbb;border-radius:6px;background:transparent;color:#555;font-size:12px;cursor:pointer;transition:all .15s ease}.section-custom-btn:hover{border-color:var(--primary);color:var(--primary)}.section-custom-btn.active{border-color:#f59e0b;color:#f59e0b;background:#f59e0b14}.section-step-row{display:flex;align-items:center;gap:8px}.section-dots{display:flex;gap:2px}.section-dot{font-size:10px;color:#555;transition:color .2s}.section-dot.done{color:var(--primary)}.section-dot.current{color:#f59e0b}.section-status-text{font-size:11px;color:#666}.section-slider-row{display:flex;align-items:center;gap:6px}.section-slider-row label{font-size:11px;white-space:nowrap;color:#666;min-width:28px}.section-slider-row input[type=range]{flex:1;height:4px;accent-color:var(--primary)}.section-val{font-size:11px;min-width:48px;text-align:right;color:#666}.section-clear-btn{width:100%;height:30px;border:1px solid var(--border, #333);border-radius:4px;background:transparent;color:#e74c3c;font-size:11px;cursor:pointer;transition:all .15s ease;margin-top:2px}.section-clear-btn:hover{background:#e74c3c0f;border-color:#e74c3c}.type-filter-dialog{width:260px;max-height:340px}.type-filter-dialog .type-filter-dialog-body{padding:6px 14px 10px;overflow-y:auto;max-height:260px}.type-filter-dialog-actions{display:flex;gap:6px;margin-bottom:8px}.type-filter-dialog-actions button{flex:1;height:26px;border:1px solid #d0d0d0;border-radius:4px;background:#f5f5f5;color:#555;font-size:11px;cursor:pointer;transition:all .15s ease}.type-filter-dialog-actions button:hover{border-color:var(--primary);color:var(--primary)}.type-filter-dialog-list{display:flex;flex-direction:column;gap:4px}.type-filter-item{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:4px;cursor:pointer;transition:background .15s;font-size:12px;color:#333}.type-filter-item:hover{background:#f0f0f0}.type-filter-item input[type=checkbox]{accent-color:var(--primary)}.type-count{margin-left:auto;font-size:10px;color:#999}.type-filter-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid #d0d0d0;border-radius:4px;background:transparent;color:#777;cursor:pointer;transition:all .15s ease;padding:0;flex-shrink:0}.type-filter-btn:hover{border-color:var(--primary);color:var(--primary);background:#007aff0f}.type-filter-btn:disabled{opacity:.3;cursor:default}.label-float-btn{position:absolute;right:18px;bottom:100px;z-index:1000;width:44px;height:44px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;cursor:grab;box-shadow:0 2px 10px #00000040;transition:background .15s;-webkit-user-select:none;user-select:none}.label-float-btn:hover{background:var(--primary-dark)}.label-float-btn:active{cursor:grabbing}.label-float-icon{width:22px;height:22px}.label-float-badge{position:absolute;top:-2px;right:-2px;width:18px;height:18px;border-radius:50%;background:#e74c3c;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;pointer-events:none}.label-float-panel{position:fixed;top:50%;right:10px;transform:translateY(-50%) translate(100%);background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;padding:8px;white-space:nowrap;transition:transform .2s ease;z-index:100}.label-float-panel.visible{transform:translateY(-50%) translate(0)}.label-edge-zone{position:fixed;top:0;right:0;width:30px;height:100%;z-index:99}.label-float-row{display:flex;align-items:center;gap:6px}.label-float-slider{width:80px;height:4px;accent-color:var(--primary);cursor:pointer}.label-float-val{min-width:24px;font-size:12px;color:#666;text-align:right}.label-float-panel input[type=color]{border:1px solid #ddd}.drawing-import-btn{font-size:12px;padding:4px 10px;background:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer}.drawing-import-btn:hover{opacity:.9}.drawing-import-btn:disabled{opacity:.5;cursor:not-allowed}.model-item.loaded{border-color:var(--primary);background:#3b82f61a}.comparison-drawer{max-height:70%!important}.comparison-table-wrapper{overflow-x:auto;max-height:200px;overflow-y:auto;border:1px solid #eee;border-radius:4px}.comparison-table-wrapper .comparison-table th{position:sticky;top:0}.comparison-overlay{position:fixed;left:0;right:0;bottom:0;z-index:200;display:flex;flex-direction:column;max-height:40vh;pointer-events:none}.comparison-overlay.fullscreen{top:0;max-height:100vh;z-index:300}.comparison-panel{background:#fff;border-top:1px solid #e0e0e0;box-shadow:0 -4px 20px #0000001a;display:flex;flex-direction:column;max-height:100%;pointer-events:all}.comparison-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid #eee;flex-shrink:0;background:#fafafa}.comparison-panel-title{font-size:14px;font-weight:600;color:#333}.comparison-panel-actions{display:flex;gap:6px}.comparison-panel-btn{width:32px;height:32px;border:1px solid #ddd;border-radius:4px;background:#fff;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px}.comparison-panel-btn:active{background:#f0f0f0}.comparison-panel-body{overflow:auto;flex:1;max-height:calc(40vh - 50px)}.comparison-table{width:100%;border-collapse:collapse;font-size:13px;border:1px solid #d0d0d0}.comparison-table thead{position:sticky;top:0;z-index:1}.comparison-table th{background:#f5f5f5;padding:8px 12px;text-align:left;border:1px solid #d0d0d0;font-weight:600;font-size:12px;color:#555}.comparison-table td{padding:8px 12px;border:1px solid #e0e0e0;vertical-align:middle}.comparison-row{cursor:pointer;transition:background .12s}.comparison-row:hover{background:#eef4ff}.comparison-row:active{background:#dce6f5}.cmp-partnum{font-weight:600;color:var(--primary)}.cmp-count{text-align:center;color:#888}.comparison-overlay.fullscreen .comparison-panel-body{flex:1;max-height:none}@media (max-width: 500px){.comparison-overlay{max-height:50vh}.comparison-table th,.comparison-table td{padding:6px 8px;font-size:12px}}.ocr-spinner{width:28px;height:28px;border:3px solid #e5e7eb;border-top-color:var(--primary);border-radius:50%;animation:ocr-spin .7s linear infinite}@keyframes ocr-spin{to{transform:rotate(360deg)}}.ocr-side-by-side{display:grid;grid-template-columns:minmax(120px,160px) 1fr;gap:12px;margin-bottom:12px;max-height:180px}.ocr-side-by-side .ocr-image-col{display:flex;align-items:flex-start;max-height:180px;overflow:hidden}.ocr-side-by-side .ocr-image-col img{width:100%;height:auto;max-height:180px;object-fit:contain;display:block;background:#fff}.ocr-side-by-side .ocr-results-col{max-height:180px;overflow-y:auto}.dialog-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.find-tabs{display:flex;border-bottom:1px solid var(--border, #e0e0e0);margin:0 16px}.find-tab{flex:1;height:36px;border:none;background:none;color:var(--text-secondary, #999);font-size:13px;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}.find-tab.active{color:var(--primary, #4A90E2);border-bottom-color:var(--primary, #4A90E2)}.find-tab:hover{color:var(--text, #333)}.settings-advanced{margin-top:8px;border-top:1px solid var(--border);padding-top:4px}.settings-advanced-summary{font-size:12px;color:var(--text-secondary, #999);cursor:pointer;padding:6px 0;-webkit-user-select:none;user-select:none;outline:none}.settings-advanced-summary:hover{color:var(--text)}
