#content{position:relative;min-height:100vh}#settings{position:absolute;top:1rem;left:1rem;width:260px;min-width:260px;max-width:600px;max-height:calc(100vh - 2rem);overflow-y:auto;background:#f8f9faf2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;transition:left .3s ease;font-size:.85rem;padding:.75rem!important}#settings.panel-hidden{left:-280px;pointer-events:none}#settings.resizing{transition:none;-webkit-user-select:none;user-select:none}#settings .resize-handle{position:absolute;top:0;right:0;width:8px;height:100%;cursor:ew-resize;background:transparent;z-index:10}#settings .resize-handle:hover{background:#007bff33}#settings .resize-handle:active{background:#007bff66}#settings .metadata-field{display:flex;align-items:baseline;gap:.5rem;font-size:.8rem}#settings .metadata-label{font-weight:500;color:#6c757d;min-width:70px;margin:0;font-size:.75rem}#settings .metadata-value{flex:1;color:#212529;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#settings .section-title{font-size:.9rem;font-weight:600;margin-bottom:.5rem!important}#settings .form-check-sm{font-size:.85rem}#settings .form-check-sm .form-check-input{margin-top:.15em}#settings .form-check-sm .form-check-label{font-size:.85rem}#settings .control-label{display:block;font-size:.8rem;font-weight:500;margin-bottom:.25rem;color:#495057}#settings .perf-warning{color:#f0ad4e;font-size:.75rem;margin-left:4px;cursor:help}#settings .range-labels{font-size:.7rem;color:#6c757d;margin-top:.25rem}#settings hr{margin:.75rem 0!important}#settings .mb-2{margin-bottom:.5rem!important}#settings .mb-3{margin-bottom:.75rem!important}.right-side{width:100%;background:#fff;position:relative;height:100vh}#explorer{width:100%;height:100%}#legend{position:absolute;bottom:0;right:0}.panel-toggle{margin-bottom:1rem;opacity:1!important;pointer-events:auto!important}.panel-toggle.panel-visible .btn{background:#ffffff80;border:1px solid rgba(0,0,0,.1);transition:all .2s ease}.panel-toggle.panel-visible .btn:hover{background:#fffc;transform:scale(1.05)}.panel-toggle:not(.panel-visible){position:fixed;top:1rem;left:1rem;z-index:1001;margin:0}.panel-toggle:not(.panel-visible) .btn{width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.1);border-radius:8px;box-shadow:0 2px 8px #00000026;transition:all .2s ease}.panel-toggle:not(.panel-visible) .btn:hover{box-shadow:0 4px 12px #0003;transform:scale(1.05)}.camera-controls-panel{position:absolute;top:20px;right:20px;z-index:100}.camera-controls-panel .btn{display:flex;align-items:center;gap:6px;box-shadow:0 2px 8px #00000026;transition:all .2s ease}.camera-controls-panel .btn:hover{box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.camera-controls-panel .btn svg{flex-shrink:0}.loading-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 32px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;box-shadow:0 4px 20px #00000026;z-index:500;opacity:1;transition:opacity .3s ease}.loading-indicator.hidden{opacity:0;pointer-events:none}.loading-indicator .loading-spinner{width:32px;height:32px;border:3px solid #e9ecef;border-top-color:#0d6efd;border-radius:50%;animation:spin 1s linear infinite}.loading-indicator .loading-text{font-size:.9rem;color:#495057;font-weight:500}@keyframes spin{to{transform:rotate(360deg)}}.performance-overlay{position:absolute;top:60px;right:20px;background:#000000bf;color:#fff;padding:8px 12px;border-radius:6px;font-family:Monaco,Menlo,Consolas,monospace;font-size:11px;line-height:1.5;z-index:200;min-width:140px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:opacity .2s ease}.performance-overlay.hidden{opacity:0;pointer-events:none}.performance-overlay .perf-row{display:flex;justify-content:space-between;gap:12px}.performance-overlay .perf-label{color:#aaa}.performance-overlay .perf-value{font-weight:600;text-align:right}.performance-overlay .perf-value.perf-good{color:#4ade80}.performance-overlay .perf-value.perf-warning{color:#fbbf24}.performance-overlay .perf-value.perf-bad{color:#f87171}.annotation-edit-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2000;display:flex;align-items:center;justify-content:center;pointer-events:none}.annotation-edit-modal .modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto;z-index:0}.annotation-edit-modal .modal-content{position:relative;background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000040;width:90%;max-width:400px;z-index:1;animation:modalSlideIn .2s ease-out;pointer-events:auto}.annotation-edit-modal .modal-header{padding:1rem 1.25rem;border-bottom:1px solid #dee2e6}.annotation-edit-modal .modal-header h3{margin:0;font-size:1.1rem;font-weight:600;color:#212529}.annotation-edit-modal .modal-body{padding:1.25rem}.annotation-edit-modal .modal-body .form-group{margin-bottom:1rem}.annotation-edit-modal .modal-body .form-group:last-child{margin-bottom:0}.annotation-edit-modal .modal-body .form-group label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.4rem;color:#495057}.annotation-edit-modal .modal-body .form-group .form-control{width:100%;padding:.5rem .75rem;font-size:.9rem;border:1px solid #ced4da;border-radius:6px;transition:border-color .15s ease,box-shadow .15s ease}.annotation-edit-modal .modal-body .form-group .form-control:focus{outline:none;border-color:#0d6efd;box-shadow:0 0 0 3px #0d6efd1a}.annotation-edit-modal .modal-footer{padding:1rem 1.25rem;border-top:1px solid #dee2e6;display:flex;justify-content:flex-end;gap:.5rem}.annotation-edit-modal .modal-footer .btn{padding:.5rem 1rem;font-size:.9rem;border-radius:6px;border:none;cursor:pointer;transition:all .15s ease;font-weight:500}.annotation-edit-modal .modal-footer .btn.btn-cancel{background:#6c757d;color:#fff}.annotation-edit-modal .modal-footer .btn.btn-cancel:hover{background:#5a6268}.annotation-edit-modal .modal-footer .btn.btn-primary{background:#0d6efd;color:#fff}.annotation-edit-modal .modal-footer .btn.btn-primary:hover{background:#0b5ed7}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.category-with-color .category-color-row{display:flex;align-items:center;gap:.5rem}.category-with-color .category-color-row .form-control{flex:1}.category-with-color .category-color-row .color-picker-compact{width:36px;height:36px;padding:2px;border:1px solid #ced4da;border-radius:6px;cursor:pointer;background:#fff;flex-shrink:0}.category-with-color .category-color-row .color-picker-compact:hover{border-color:#0d6efd}.category-with-color .category-color-row .color-picker-compact:focus{outline:none;border-color:#0d6efd;box-shadow:0 0 0 3px #0d6efd1a}body.headless-mode #settings,body.headless-mode #legend,body.headless-mode .camera-controls-panel,body.headless-mode .panel-toggle,body.headless-mode .loading-indicator,body.headless-mode .performance-overlay{display:none!important}
