:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.file-upload-container{margin:20px 0}.file-upload-zone{text-align:center;cursor:pointer;background-color:#fafafa;border:2px dashed #ccc;border-radius:8px;padding:40px;transition:all .3s}.file-upload-zone:hover:not(.uploading){background-color:#f0f7ff;border-color:#4a90e2}.file-upload-zone.dragging{background-color:#e6f3ff;border-color:#4a90e2;transform:scale(1.02)}.file-upload-zone.uploading{cursor:not-allowed;opacity:.7}.upload-icon{margin-bottom:16px;font-size:48px}.upload-text{color:#333;margin:8px 0;font-size:16px}.upload-subtext{color:#666;margin:4px 0;font-size:14px}.upload-hint{color:#999;margin-top:8px;font-size:12px}.upload-status{flex-direction:column;align-items:center;gap:16px;display:flex}.spinner{border:4px solid #f3f3f3;border-top-color:#4a90e2;border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.upload-error{color:#d32f2f;margin-top:12px;font-size:14px;font-weight:500}@media (prefers-color-scheme:dark){.file-upload-zone{background-color:#1e1e1e;border-color:#505050}.file-upload-zone:hover:not(.uploading){background-color:#1a2a3a;border-color:#5a9fe8}.file-upload-zone.dragging{background-color:#2a3a4a;border-color:#5a9fe8}.upload-text{color:#e0e0e0}.upload-subtext{color:#b0b0b0}.upload-hint{color:gray}.spinner{border-color:#5a9fe8 #404040 #404040}.upload-error{color:#ff6b6b}}.certificate-badge{border:2px solid;border-radius:4px;align-items:center;gap:10px;margin:8px 0;padding:10px 14px;display:flex;box-shadow:0 1px 2px #0000000f}.certificate-badge.pass{color:#2e7d32;background-color:#e8f5e9;border-color:#4caf50}.certificate-badge.fail{color:#e65100;background-color:#fff8e1;border-color:#ff9800}.certificate-badge.error{color:#c62828;background-color:#ffebee;border-color:#f44336}.badge-icon{background-color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:30px;font-weight:700;display:flex}.certificate-badge.pass .badge-icon{color:#4caf50;border:2px solid #4caf50}.certificate-badge.fail .badge-icon{color:#ff9800;border:2px solid #ff9800}.certificate-badge.error .badge-icon{color:#f44336;border:2px solid #f44336}.badge-content{flex:1}.badge-status{margin-bottom:1px;font-size:16px;font-weight:700;line-height:1.2}.badge-detail{opacity:.9;font-size:12px;line-height:1.3}@media (prefers-color-scheme:dark){.certificate-badge.pass{color:#81c784;background-color:#1a3a1a;border-color:#66bb6a}.certificate-badge.fail{color:#ffb74d;background-color:#3a2e1a;border-color:#ffa726}.certificate-badge.error{color:#e57373;background-color:#3a1a1a;border-color:#ef5350}.badge-icon{background-color:#2a2a2a}.certificate-badge.pass .badge-icon{color:#66bb6a;border-color:#66bb6a}.certificate-badge.fail .badge-icon{color:#ffa726;border-color:#ffa726}.certificate-badge.error .badge-icon{color:#ef5350;border-color:#ef5350}}.analysis-report{margin-top:12px}.report-header{border-bottom:2px solid #2c5aa0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;padding-bottom:8px;display:flex}.report-header h2{color:#1a1a1a;text-align:left;white-space:nowrap;margin:0;font-size:20px;font-weight:600}.download-button{color:#fff;cursor:pointer;background-color:#2c5aa0;border:none;border-radius:4px;padding:8px 16px;font-size:13px;font-weight:600;transition:background-color .2s;box-shadow:0 1px 2px #0000001a}.download-button:hover:not(:disabled){background-color:#1e3f7a}.download-button:disabled{cursor:not-allowed;background-color:#ccc}.download-buttons{gap:8px;display:flex}.download-drawing{background-color:#4a7c3f}.download-drawing:hover:not(:disabled){background-color:#3a6330}.report-section{background:#fff;border:1px solid #d0d0d0;border-radius:4px;margin-bottom:8px;padding:12px;box-shadow:0 1px 2px #0000000d}.report-section h3{color:#1a1a1a;border-bottom:1px solid #e0e0e0;margin-top:0;margin-bottom:8px;padding-bottom:4px;font-size:14px;font-weight:600}.info-grid{grid-template-columns:repeat(6,1fr);gap:8px 12px;display:grid}.info-item{flex-direction:column;gap:1px;display:flex}.info-label{color:#555;font-size:11px;font-weight:600;line-height:1.3}.info-value{color:#1a1a1a;font-size:13px;line-height:1.4}.summary-stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;display:grid}.stat-card{text-align:center;background:#f8f8f8;border:2px solid #d0d0d0;border-radius:4px;padding:10px}.stat-card.success{background:#e8f5e9;border-color:#4caf50}.stat-card.warning{background:#fff8e1;border-color:#ff9800}.stat-card.error{background:#ffebee;border-color:#f44336}.stat-value{color:#1a1a1a;margin-bottom:2px;font-size:24px;font-weight:700;line-height:1.2}.stat-card.success .stat-value{color:#2e7d32}.stat-card.warning .stat-value{color:#e65100}.stat-card.error .stat-value{color:#c62828}.stat-label{color:#555;font-size:11px;font-weight:600;line-height:1.3}.table-container{margin-top:4px;overflow-x:auto}.severity-ok{background-color:#f1f8e9}.severity-warning{background-color:#fff8e1}.severity-error{background-color:#ffebee}.severity-badge{text-transform:uppercase;font-size:11px;font-weight:600}.severity-badge.ok{color:#2e7d32}.severity-badge.warning{color:#e65100}.severity-badge.error{color:#c62828}.reason-cell{color:#555;max-width:300px;font-size:11px;line-height:1.4}.check-cell{text-align:center;width:32px;padding:4px!important}.row-checkbox{cursor:pointer;width:16px;height:16px}.locate-cell{text-align:center;white-space:nowrap;width:48px;padding:4px!important}.ref-toggle{cursor:pointer;width:36px;height:20px;display:inline-block;position:relative}.ref-toggle input{opacity:0;width:0;height:0;position:absolute}.ref-toggle-slider{background-color:#ccc;border-radius:20px;transition:background-color .2s;position:absolute;inset:0}.ref-toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;bottom:2px;left:2px}.ref-toggle input:checked+.ref-toggle-slider{background-color:#4cd964}.ref-toggle input:checked+.ref-toggle-slider:before{transform:translate(16px)}.scenario-breakdown{border-top:1px solid #e0e0e0;margin-top:12px;padding-top:8px}.scenario-breakdown h4{color:#555;margin:0 0 6px;font-size:12px;font-weight:600;line-height:1.3}.scenario-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:3px 12px;display:grid}.scenario-item{background:#f8f8f8;border-radius:3px;justify-content:space-between;padding:3px 6px;font-size:12px;line-height:1.4;display:flex}.scenario-name{color:#333}.scenario-count{color:#1a1a1a;font-weight:600}.report-table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:13px}.report-table th{text-align:left;color:#1a1a1a;background:#f0f0f0;border-bottom:2px solid #ccc;padding:6px 8px;font-size:11px;font-weight:600;line-height:1.3}.report-table td{color:#333;border-bottom:1px solid #e8e8e8;padding:6px 8px;line-height:1.4}.report-table tbody tr:hover{background:#f8f8f8}.warning-table tbody tr{background:#fffcf5}.warning-table tbody tr:hover{background:#fff8e8}.warning-reason{color:#e65100;font-weight:500}.highlight-column{background-color:#e3f2fd!important}.warning-table tbody tr:hover .highlight-column{background-color:#bbdefb!important}.highlight-column-matched{background-color:#f0f8ff!important}.report-table tbody tr:hover .highlight-column-matched{background-color:#e0f0ff!important}.analysis-notes{color:#555;margin:6px 0 0;padding-left:16px;font-size:11px}@media (prefers-color-scheme:dark){.report-header h2{color:#e0e0e0}.report-header{border-bottom-color:#4a7bc8}.report-section{background:#1e1e1e;border-color:#404040}.report-section h3{color:#e0e0e0;border-bottom-color:#404040}.info-label{color:#b0b0b0}.info-value{color:#e0e0e0}.stat-card{background:#2a2a2a;border-color:#505050}.stat-card.success{background:#1a3a1a;border-color:#66bb6a}.stat-card.warning{background:#3a2e1a;border-color:#ffa726}.stat-card.error{background:#3a1a1a;border-color:#ef5350}.stat-value{color:#e0e0e0}.stat-card.success .stat-value{color:#81c784}.stat-card.warning .stat-value{color:#ffb74d}.stat-card.error .stat-value{color:#ef5350}.stat-label{color:#b0b0b0}.report-table th{color:#e0e0e0;background:#2a2a2a;border-bottom-color:#505050}.report-table td{color:#d0d0d0;border-bottom-color:#333}.report-table tbody tr:hover{background:#2a2a2a}.warning-table tbody tr{background:#2a2515}.warning-table tbody tr:hover{background:#3a3520}.warning-reason{color:#ffb74d}.highlight-column{background-color:#1a3a5a!important}.warning-table tbody tr:hover .highlight-column{background-color:#2a4a6a!important}.highlight-column-matched{background-color:#1a2a3a!important}.report-table tbody tr:hover .highlight-column-matched{background-color:#2a3a4a!important}.analysis-notes{color:#b0b0b0}.download-button:disabled{background-color:#3a3a3a}.severity-ok{background-color:#1a2e1a}.severity-warning{background-color:#3a2e1a}.severity-error{background-color:#3a1a1a}.severity-badge.ok{color:#81c784}.severity-badge.warning{color:#ffb74d}.severity-badge.error{color:#ef5350}.reason-cell{color:#b0b0b0}.ref-toggle-slider{background-color:#555}.ref-toggle input:checked+.ref-toggle-slider{background-color:#30d158}.scenario-breakdown{border-top-color:#404040}.scenario-breakdown h4{color:#b0b0b0}.scenario-item{background:#2a2a2a}.scenario-name{color:#d0d0d0}.scenario-count{color:#e0e0e0}}.analysis-notes li{margin-bottom:2px;line-height:1.4}.scenario-link{color:#2c5aa0;border-bottom:1px dotted #2c5aa0;text-decoration:none}.scenario-link:hover{color:#1a3d6e;border-bottom-style:solid}.scenario-descriptions{margin-bottom:12px}.scenario-descriptions h4{color:#333;margin:0 0 6px;font-size:12px;line-height:1.3}.scenario-definition-list{margin:0;padding:0}.scenario-definition{border-bottom:1px solid #eee;padding:4px 0}.scenario-definition dt{color:#1a1a1a;margin-bottom:1px;font-size:11px;font-weight:600;line-height:1.3}.scenario-definition dd{color:#555;margin:0;font-size:11px;line-height:1.4}@media (prefers-color-scheme:dark){.scenario-link{color:#6ba3e8;border-bottom-color:#6ba3e8}.scenario-link:hover{color:#8fc0f5}.scenario-descriptions h4{color:#e0e0e0}.scenario-definition{border-bottom-color:#404040}.scenario-definition dt{color:#e0e0e0}.scenario-definition dd{color:#b0b0b0}}.drawing-viewer{background:#fff;border:1px solid #d0d0d0;border-radius:4px;margin-top:16px;margin-bottom:24px;overflow:hidden;box-shadow:0 1px 3px #00000014}.drawing-viewer-header{background:#f8f8f8;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.drawing-viewer-header h3{color:#1a1a1a;margin:0;font-size:16px;font-weight:600}.drawing-viewer-nav{background:#f0f0f0;border-bottom:1px solid #e0e0e0;align-items:center;gap:8px;padding:8px 16px;display:flex}.nav-btn{cursor:pointer;color:#333;background:#fff;border:1px solid #ccc;border-radius:4px;padding:4px 10px;font-size:13px;font-weight:600;line-height:1;transition:background-color .2s}.nav-btn:hover:not(:disabled){background:#eee}.nav-btn:disabled{opacity:.4;cursor:not-allowed}.nav-page-select{color:#333;cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;max-width:240px;padding:4px 8px;font-size:13px}.nav-page-indicator{color:#555;white-space:nowrap;font-size:12px;font-weight:600}.drawing-viewer-canvas{cursor:grab;-webkit-user-select:none;user-select:none;background:#e0e0e0;min-height:400px;max-height:80vh;position:relative;overflow:auto}.drawing-viewer-canvas:active{cursor:grabbing}.drawing-viewer-image-wrapper{transform-origin:0 0;transition:transform .1s ease-out;display:inline-block}.drawing-viewer-image{max-width:none;display:block}.drawing-viewer-loading{color:#555;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:300px;display:flex}.drawing-viewer-spinner{border:3px solid #e0e0e0;border-top-color:#6b21a8;border-radius:50%;width:36px;height:36px;animation:.8s linear infinite viewer-spin}@keyframes viewer-spin{to{transform:rotate(360deg)}}.drawing-viewer-placeholder{color:#888;justify-content:center;align-items:center;min-height:200px;font-size:14px;font-style:italic;display:flex}@media (prefers-color-scheme:dark){.drawing-viewer{background:#1e1e1e;border-color:#404040}.drawing-viewer-header{background:#2a2a2a;border-bottom-color:#404040}.drawing-viewer-header h3{color:#e0e0e0}.drawing-viewer-nav{background:#252525;border-bottom-color:#404040}.nav-btn{color:#e0e0e0;background:#333;border-color:#555}.nav-btn:hover:not(:disabled){background:#444}.nav-page-select{color:#e0e0e0;background:#333;border-color:#555}.nav-page-indicator{color:#b0b0b0}.drawing-viewer-canvas{background:#2a2a2a}.drawing-viewer-loading{color:#b0b0b0}.drawing-viewer-spinner{border-color:#c084fc #404040 #404040}.drawing-viewer-placeholder{color:#777}}.drawing-viewer-header-controls{align-items:center;gap:8px;display:flex}.drawing-viewer-mode-btn{cursor:pointer;color:#555;background:#fff;border:1px solid #ccc;border-radius:4px;padding:4px 12px;font-size:12px;font-weight:600;transition:background-color .2s}.drawing-viewer-mode-btn:hover{color:#333;background:#eee}@media (prefers-color-scheme:dark){.drawing-viewer-mode-btn{color:#ccc;background:#333;border-color:#555}.drawing-viewer-mode-btn:hover{color:#e0e0e0;background:#444}}.color-mode-toggle{align-items:center;gap:8px;display:flex}.toggle-label{color:#555;font-size:13px;font-weight:500}.color-toggle{cursor:pointer;width:36px;height:20px;display:inline-block;position:relative}.color-toggle input{opacity:0;width:0;height:0;position:absolute}.color-toggle-slider{background-color:#ccc;border-radius:20px;transition:background-color .2s;position:absolute;inset:0}.color-toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;bottom:2px;left:2px}.color-toggle input:checked+.color-toggle-slider{background-color:#4cd964}.color-toggle input:checked+.color-toggle-slider:before{transform:translate(16px)}.color-toggle input:disabled+.color-toggle-slider{opacity:.5;cursor:not-allowed}@media (prefers-color-scheme:dark){.toggle-label{color:#b0b0b0}.color-toggle-slider{background-color:#555}.color-toggle input:checked+.color-toggle-slider{background-color:#30d158}}.svg-viewer{background:#fff;border:1px solid #d0d0d0;border-radius:4px;margin-top:16px;margin-bottom:24px;overflow:hidden;box-shadow:0 1px 3px #00000014}.svg-viewer-header{background:#f8f8f8;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.svg-viewer-header h3{color:#1a1a1a;margin:0;font-size:16px;font-weight:600}.svg-viewer-header-controls{align-items:center;gap:8px;display:flex}.svg-viewer-mode-btn{cursor:pointer;color:#555;background:#fff;border:1px solid #ccc;border-radius:4px;padding:4px 12px;font-size:12px;font-weight:600;transition:background-color .2s}.svg-viewer-mode-btn:hover{color:#333;background:#eee}.svg-viewer-nav{background:#f0f0f0;border-bottom:1px solid #e0e0e0;align-items:center;gap:8px;padding:8px 16px;display:flex}.svg-entity-bar{background:#f0f0f0;border-bottom:1px solid #e0e0e0;flex-wrap:wrap;align-items:center;gap:8px;min-height:36px;padding:6px 16px;font-size:12px;display:flex}.entity-bar-raw{color:#1a1a1a;font-size:13px;font-weight:600}.entity-bar-designation{flex-wrap:wrap;gap:2px;display:flex}.entity-bar-confidence{color:#555;background:#e8e8e8;border-radius:10px;padding:1px 6px;font-size:11px;font-weight:600}.entity-bar-hint{color:#999;font-size:12px;font-style:italic}.entity-bar-hierarchy{color:#1a73e8;letter-spacing:.5px;white-space:nowrap;background:#e8f0fe;border-radius:4px;margin-left:auto;padding:2px 8px;font-family:Consolas,Courier New,monospace;font-size:12px;font-weight:600}.entity-bar-debug{color:#888;background:#f0f0f0;border-radius:3px;margin-left:auto;padding:1px 6px;font-family:monospace;font-size:10px}.entity-bar-level-select{color:#333;background:#fff;border:1px solid #ccc;border-radius:4px;padding:3px 6px;font-size:11px}.entity-bar-notes-input{color:#333;background:#fff;border:1px solid #ccc;border-radius:4px;width:140px;padding:3px 8px;font-size:11px}.annotation-success-flash{color:#2e7d32;font-size:12px;font-weight:600}.svg-viewer-ann-toggle{cursor:pointer;color:#555;background:#fff;border:1px solid #ccc;border-radius:4px;padding:4px 12px;font-size:12px;font-weight:600;transition:background-color .2s,border-color .2s}.svg-viewer-ann-toggle:hover{color:#333;background:#eee}.svg-viewer-ann-toggle.active{color:#1a4e8a;background:#e0eeff;border-color:#4a90d9}.entity-bar-attr{white-space:nowrap;text-overflow:ellipsis;border-radius:10px;max-width:200px;padding:1px 6px;font-size:10px;overflow:hidden}.attr-grid{color:#1565c0;background:#e3f2fd}.attr-layer{color:#546e7a;background:#eceff1}.attr-block{color:#6d4c41;background:#efebe9}.attr-type{color:#7b1fa2;background:#f3e5f5}.attr-reason{color:#f57f17;background:#fff8e1;font-size:10px}.desig-system{color:#1565c0;background:#e3f2fd;border:1px solid #bbdefb}.desig-location{color:#2e7d32;background:#e8f5e9;border:1px solid #c8e6c9}.desig-sublocation{color:#00695c;background:#e0f2f1;border:1px solid #b2dfdb}.desig-device{color:#d84315;background:#fbe9e7;border:1px solid #ffccbc}.desig-terminal{color:#7b1fa2;background:#f3e5f5;border:1px solid #e1bee7}.desig-drawingfunction{color:#f57f17;background:#fff8e1;border:1px solid #ffecb3}.svg-viewer-content-wrapper.hide-annotations .iec-annotations{display:none}.svg-viewer-canvas{cursor:grab;-webkit-user-select:none;user-select:none;background:#e0e0e0;min-height:400px;position:relative;overflow:auto}.svg-viewer-canvas.is-dragging{cursor:grabbing}.svg-viewer-canvas [data-iec-level],.svg-viewer-canvas [data-iec-level] *{cursor:crosshair!important}.svg-viewer-content-wrapper{transform-origin:0 0;transition:transform .1s ease-out;display:inline-block}.svg-viewer-content-wrapper svg{max-width:none;display:block}.svg-viewer-loading{color:#555;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:300px;display:flex}.svg-viewer-spinner{border:3px solid #e0e0e0;border-top-color:#1e88e5;border-radius:50%;width:36px;height:36px;animation:.8s linear infinite svg-viewer-spin}@keyframes svg-viewer-spin{to{transform:rotate(360deg)}}.svg-viewer-placeholder{color:#888;justify-content:center;align-items:center;min-height:200px;font-size:14px;font-style:italic;display:flex}.popover-level-badge{color:#fff;letter-spacing:.3px;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.desig-part{color:#555;background:#f4f4f4;border-radius:3px;padding:1px 4px;font-size:11px}.annotation-action-btn{cursor:pointer;color:#444;text-align:center;white-space:nowrap;background:#f4f4f4;border:1px solid #ddd;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:600;transition:background-color .15s,border-color .15s}.annotation-action-btn:hover{background:#e8e8e8}.annotation-action-btn.active{color:#1a4e8a;background:#e0eeff;border-color:#4a90d9}.annotation-submit-btn{cursor:pointer;color:#fff;white-space:nowrap;background:#1e88e5;border:none;border-radius:4px;padding:4px 12px;font-size:11px;font-weight:600;transition:background-color .15s}.annotation-submit-btn:hover:not(:disabled){background:#1565c0}.annotation-submit-btn:disabled{opacity:.5;cursor:not-allowed}.svg-viewer-legend{color:#444;background:#fafafa;border-top:1px solid #e0e0e0;flex-wrap:wrap;gap:8px 16px;padding:8px 16px;font-size:11px;display:flex}.legend-item{align-items:center;gap:5px;font-weight:500;display:flex}.legend-swatch{border-radius:2px;flex-shrink:0;width:12px;height:12px;display:inline-block}@media (prefers-color-scheme:dark){.svg-viewer{background:#1e1e1e;border-color:#404040}.svg-viewer-header{background:#2a2a2a;border-bottom-color:#404040}.svg-viewer-header h3{color:#e0e0e0}.svg-viewer-mode-btn{color:#ccc;background:#333;border-color:#555}.svg-viewer-mode-btn:hover{color:#e0e0e0;background:#444}.svg-viewer-nav,.svg-entity-bar{background:#252525;border-bottom-color:#404040}.entity-bar-raw{color:#e0e0e0}.entity-bar-confidence{color:#b0b0b0;background:#3a3a3a}.entity-bar-hint{color:#666}.entity-bar-hierarchy{color:#8ab4f8;background:#1e3a5f}.entity-bar-debug{color:#999;background:#333}.entity-bar-level-select,.entity-bar-notes-input{color:#e0e0e0;background:#333;border-color:#555}.entity-bar-notes-input::placeholder{color:#666}.annotation-success-flash{color:#81c784}.svg-viewer-canvas{background:#2a2a2a}.svg-viewer-loading{color:#b0b0b0}.svg-viewer-spinner{border-color:#42a5f5 #404040 #404040}.svg-viewer-placeholder{color:#777}.desig-part{color:#b0b0b0;background:#3a3a3a}.svg-viewer-legend{color:#b0b0b0;background:#222;border-top-color:#404040}.annotation-action-btn{color:#ccc;background:#363636;border-color:#505050}.annotation-action-btn:hover{background:#424242}.annotation-action-btn.active{color:#90caf9;background:#1a3a5c;border-color:#4a90d9}.annotation-submit-btn{background:#1565c0}.annotation-submit-btn:hover:not(:disabled){background:#0d47a1}.svg-viewer-ann-toggle{color:#ccc;background:#333;border-color:#555}.svg-viewer-ann-toggle:hover{color:#e0e0e0;background:#444}.svg-viewer-ann-toggle.active{color:#90caf9;background:#1a3a5c;border-color:#4a90d9}.attr-grid{color:#90caf9;background:#1a3a5c}.attr-layer{color:#b0bec5;background:#37474f}.attr-block{color:#bcaaa4;background:#3e2723}.attr-type{color:#ce93d8;background:#4a148c}.attr-reason{color:#ffcc80;background:#3e2723}.desig-system{color:#90caf9;background:#1a3a5c;border-color:#1565c0}.desig-location{color:#a5d6a7;background:#1b3a1b;border-color:#2e7d32}.desig-sublocation{color:#80cbc4;background:#1a3a3a;border-color:#00695c}.desig-device{color:#ffab91;background:#3e1a0a;border-color:#d84315}.desig-terminal{color:#ce93d8;background:#2a0a3a;border-color:#7b1fa2}.desig-drawingfunction{color:#fff176;background:#3e3a0a;border-color:#f57f17}}.analysis-page{box-sizing:border-box;width:100%;margin:0 auto;padding:32px 24px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:32px;display:flex}.page-header h1{color:#333;text-align:left;margin:0 0 8px;font-size:32px}.page-subtitle{color:#666;text-align:left;margin:0;font-size:16px}.user-info{text-align:right}.user-info p{color:#666;margin:0 0 8px}.logout-button{color:#333;cursor:pointer;background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;padding:8px 16px;font-size:14px;transition:background-color .2s}.logout-button:hover{background-color:#e0e0e0}.error-message{color:#c62828;background-color:#ffebee;border:1px solid #f44336;border-radius:8px;justify-content:space-between;align-items:center;margin:20px 0;padding:16px;display:flex}.retry-button{color:#fff;cursor:pointer;background-color:#f44336;border:none;border-radius:4px;padding:8px 16px;font-size:14px;transition:background-color .2s}.retry-button:hover{background-color:#d32f2f}.actions{text-align:center;margin-top:32px}.secondary-button{color:#333;cursor:pointer;background-color:#f5f5f5;border:1px solid #ddd;border-radius:6px;padding:12px 24px;font-size:16px;transition:background-color .2s}.secondary-button:hover{background-color:#e0e0e0}@media (prefers-color-scheme:dark){.page-header h1{color:#e0e0e0}.page-subtitle,.user-info p{color:#b0b0b0}.logout-button{color:#e0e0e0;background-color:#2a2a2a;border-color:#444}.logout-button:hover{background-color:#3a3a3a}.error-message{color:#f99;background-color:#3a1f1f;border-color:#8b0000}.secondary-button{color:#e0e0e0;background-color:#2a2a2a;border-color:#444}.secondary-button:hover{background-color:#3a3a3a}}.build-info{color:#999;pointer-events:none;z-index:9999;-webkit-user-select:none;user-select:none;background:#ffffffd9;border-top-left-radius:4px;padding:4px 10px;font-family:SF Mono,Cascadia Code,Fira Code,monospace;font-size:11px;position:fixed;bottom:0;right:0}@media (prefers-color-scheme:dark){.build-info{color:#666;background:#121212d9}}#root{background-color:#fff;max-width:1280px;margin:0 auto;padding:0}.main-nav{color:#fff;background-color:#2c3e50;justify-content:space-between;align-items:center;margin-bottom:0;padding:16px 24px;display:flex}.nav-brand{font-size:24px;font-weight:700}.nav-links{gap:8px;display:flex}.nav-links button{color:#fff;cursor:pointer;background-color:#0000;border:1px solid #ffffff4d;border-radius:4px;padding:8px 16px;font-size:14px;transition:all .2s}.nav-links button:hover{background-color:#ffffff1a;border-color:#ffffff80}.nav-links button.active{background-color:#fff3;border-color:#fff;font-weight:600}h1{text-align:center;margin-bottom:2rem}.container{width:100%;padding:2rem}@media (prefers-color-scheme:dark){#root{background-color:#121212}.main-nav{background-color:#1a1a1a}}
