.cesium-svgPath-svg{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.cesium-button{display:inline-block;position:relative;background:#303336;border:1px solid #444;color:#edffff;fill:#edffff;border-radius:4px;padding:5px 12px;margin:2px 3px;cursor:pointer;overflow:hidden;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cesium-button:focus{color:#fff;fill:#fff;border-color:#ea4;outline:none}.cesium-button:hover{color:#fff;fill:#fff;background:#48b;border-color:#aef;box-shadow:0 0 8px #fff}.cesium-button:active{color:#000;fill:#000;background:#adf;border-color:#fff;box-shadow:0 0 8px #fff}.cesium-button:disabled,.cesium-button-disabled,.cesium-button-disabled:focus,.cesium-button-disabled:hover,.cesium-button-disabled:active{background:#303336;border-color:#444;color:#646464;fill:#646464;box-shadow:none;cursor:default}.cesium-button option{background-color:#000;color:#eee}.cesium-button option:disabled{color:#777}.cesium-button input,.cesium-button label{cursor:pointer}.cesium-button input{vertical-align:sub}.cesium-toolbar-button{box-sizing:border-box;width:32px;height:32px;border-radius:14%;padding:0;vertical-align:middle;z-index:0}.cesium-performanceDisplay-defaultContainer{position:absolute;top:50px;right:10px;text-align:right}.cesium-performanceDisplay{background-color:#282828b3;padding:7px;border-radius:5px;border:1px solid #444;font:700 12px sans-serif}.cesium-performanceDisplay-fps{color:#e52}.cesium-performanceDisplay-throttled{color:#a42}.cesium-performanceDisplay-ms{color:#de3}.cesium-animation-theme{visibility:hidden;display:block;position:absolute;z-index:-100}.cesium-animation-themeNormal{color:#222}.cesium-animation-themeHover{color:#4488b0}.cesium-animation-themeSelect{color:#242}.cesium-animation-themeDisabled{color:#333}.cesium-animation-themeKnob{color:#222}.cesium-animation-themePointer{color:#2e2}.cesium-animation-themeSwoosh{color:#8ac}.cesium-animation-themeSwooshHover{color:#aef}.cesium-animation-svgText{fill:#edffff;font-family:Sans-Serif;font-size:15px;text-anchor:middle}.cesium-animation-blank{fill:#000;fill-opacity:.01;stroke:none}.cesium-animation-rectButton{cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cesium-animation-rectButton .cesium-animation-buttonGlow{fill:#fff;stroke:none;display:none}.cesium-animation-rectButton:hover .cesium-animation-buttonGlow{display:block}.cesium-animation-rectButton .cesium-animation-buttonPath{fill:#edffff}.cesium-animation-rectButton .cesium-animation-buttonMain{stroke:#444;stroke-width:1.2}.cesium-animation-rectButton:hover .cesium-animation-buttonMain{stroke:#aef}.cesium-animation-rectButton:active .cesium-animation-buttonMain{fill:#abd6ff}.cesium-animation-buttonDisabled{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cesium-animation-buttonDisabled .cesium-animation-buttonMain{stroke:#555}.cesium-animation-buttonDisabled .cesium-animation-buttonPath{fill:#818181}.cesium-animation-buttonDisabled .cesium-animation-buttonGlow{display:none}.cesium-animation-buttonToggled .cesium-animation-buttonGlow{display:block;fill:#2e2}.cesium-animation-buttonToggled .cesium-animation-buttonMain{stroke:#2e2}.cesium-animation-buttonToggled:hover .cesium-animation-buttonGlow{fill:#fff}.cesium-animation-buttonToggled:hover .cesium-animation-buttonMain{stroke:#2e2}.cesium-animation-shuttleRingG,.cesium-animation-shuttleRingPointer,.cesium-animation-shuttleRingPausePointer{cursor:pointer}.cesium-animation-shuttleRingBack{fill:#181818;fill-opacity:.8;stroke:#333;stroke-width:1.2}.cesium-animation-shuttleRingSwoosh line{stroke:#8ac;stroke-width:3;stroke-opacity:.2;stroke-linecap:round}.cesium-animation-knobOuter{cursor:pointer;stroke:#444;stroke-width:1.2}.cesium-animation-knobInner{cursor:pointer}.cesium-baseLayerPicker-selected{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.cesium-baseLayerPicker-dropDown{display:block;position:absolute;box-sizing:content-box;top:auto;right:0;width:320px;max-height:500px;margin-top:5px;background-color:#262626bf;border:1px solid #444;padding:6px;overflow:auto;border-radius:10px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;transform:translateY(-20%);visibility:hidden;opacity:0;transition:visibility 0s .2s,opacity .2s ease-in,transform .2s ease-in}.cesium-baseLayerPicker-dropDown-visible{transform:translate(0);visibility:visible;opacity:1;transition:opacity .2s ease-out,transform .2s ease-out}.cesium-baseLayerPicker-sectionTitle{display:block;font-family:sans-serif;font-size:16pt;text-align:left;color:#edffff;margin-bottom:4px}.cesium-baseLayerPicker-choices{margin-bottom:5px}.cesium-baseLayerPicker-categoryTitle{color:#edffff;font-size:11pt}.cesium-baseLayerPicker-choices{display:block;border:1px solid #888;border-radius:5px;padding:5px 0}.cesium-baseLayerPicker-item{display:inline-block;vertical-align:top;margin:2px 5px;width:64px;text-align:center;cursor:pointer}.cesium-baseLayerPicker-itemLabel{display:block;font-family:sans-serif;font-size:8pt;text-align:center;vertical-align:middle;color:#edffff;cursor:pointer;word-wrap:break-word}.cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemLabel,.cesium-baseLayerPicker-item:focus .cesium-baseLayerPicker-itemLabel{text-decoration:underline}.cesium-baseLayerPicker-itemIcon{display:inline-block;position:relative;width:inherit;height:auto;background-size:100% 100%;border:solid 1px #444;border-radius:9px;color:#edffff;margin:0;padding:0;cursor:pointer;box-sizing:border-box}.cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemIcon{border-color:#fff;box-shadow:0 0 8px #fff,0 0 8px #fff}.cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemLabel{color:#bdecf8}.cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemIcon{border:double 4px rgb(189,236,248)}.cesium-widget{font-family:sans-serif;font-size:16px;overflow:hidden;display:block;position:relative;top:0;left:0;width:100%;height:100%}.cesium-widget,.cesium-widget canvas{width:100%;height:100%;touch-action:none}.cesium-widget-credits{display:block;position:absolute;bottom:0;left:0;color:#fff;font-size:10px;text-shadow:0px 0px 2px #000000;padding-right:5px}.cesium-widget-errorPanel{position:absolute;inset:0;text-align:center;background:#000000b3;z-index:99999}.cesium-widget-errorPanel:before{display:inline-block;vertical-align:middle;height:100%;content:""}.cesium-widget-errorPanel-content{width:75%;max-width:500px;display:inline-block;text-align:left;vertical-align:middle;border:1px solid #510c00;border-radius:7px;background-color:#f0d9d5;font-size:14px;color:#510c00}.cesium-widget-errorPanel-content.expanded{max-width:75%}.cesium-widget-errorPanel-header{font-size:18px;font-family:Open Sans,Verdana,Geneva,sans-serif;background:#d69d93;border-bottom:2px solid #510c00;border-radius:3px 3px 0 0;padding:15px}.cesium-widget-errorPanel-scroll{overflow:auto;font-family:Open Sans,Verdana,Geneva,sans-serif;white-space:pre-wrap;padding:0 15px;margin:10px 0 20px}.cesium-widget-errorPanel-buttonPanel{padding:0 15px;margin:10px 0 20px;text-align:right}.cesium-widget-errorPanel-buttonPanel button{border-color:#510c00;background:#d69d93;color:#202020;margin:0}.cesium-widget-errorPanel-buttonPanel button:focus{border-color:#510c00;background:#f0d9d5;color:#510c00}.cesium-widget-errorPanel-buttonPanel button:hover{border-color:#510c00;background:#f0d9d5;color:#510c00}.cesium-widget-errorPanel-buttonPanel button:active{border-color:#510c00;background:#b17b72;color:#510c00}.cesium-widget-errorPanel-more-details{text-decoration:underline;cursor:pointer}.cesium-widget-errorPanel-more-details:hover{color:#2b0700}.cesium-cesiumInspector{border-radius:5px;transition:width ease-in-out .25s;background:#303336cc;border:1px solid #444;color:#edffff;display:inline-block;position:relative;padding:4px 12px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}.cesium-cesiumInspector-button{text-align:center;font-size:11pt}.cesium-cesiumInspector-visible .cesium-cesiumInspector-button{border-bottom:1px solid #aaa;padding-bottom:3px}.cesium-cesiumInspector input:enabled,.cesium-cesiumInspector-button{cursor:pointer}.cesium-cesiumInspector-visible{width:185px;height:auto}.cesium-cesiumInspector-hidden{width:122px;height:17px}.cesium-cesiumInspector-sectionContent{max-height:600px}.cesium-cesiumInspector-section-collapsed .cesium-cesiumInspector-sectionContent{max-height:0;padding:0!important;overflow:hidden}.cesium-cesiumInspector-dropDown{margin:5px 0;font-family:sans-serif;font-size:10pt;width:185px}.cesium-cesiumInspector-frustumStatistics{padding:5px;background-color:#505050bf}.cesium-cesiumInspector-pickButton{background-color:#0000004d;border:1px solid #444;color:#edffff;border-radius:5px;padding:3px 7px;cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;margin:0 auto}.cesium-cesiumInspector-pickButton:focus{outline:none}.cesium-cesiumInspector-pickButton:active,.cesium-cesiumInspector-pickButtonHighlight{color:#000;background:#adf;border-color:#fff;box-shadow:0 0 8px #fff}.cesium-cesiumInspector-center{text-align:center}.cesium-cesiumInspector-sectionHeader{font-weight:700;font-size:10pt;margin:0;cursor:pointer}.cesium-cesiumInspector-pickSection{border:1px solid #aaa;border-radius:5px;padding:3px;margin-bottom:5px}.cesium-cesiumInspector-sectionContent{margin-bottom:10px;transition:max-height .25s}.cesium-cesiumInspector-tileText{padding-bottom:10px;border-bottom:1px solid #aaa}.cesium-cesiumInspector-relativeText{padding-top:10px}.cesium-cesiumInspector-sectionHeader:before{margin-right:5px;content:"-";width:1ch;display:inline-block}.cesium-cesiumInspector-section-collapsed .cesium-cesiumInspector-sectionHeader:before{content:"+"}ul.cesium-cesiumInspector-statistics{margin:0;padding-top:3px;padding-bottom:3px}ul.cesium-cesiumInspector-statistics+ul.cesium-cesiumInspector-statistics{border-top:1px solid #aaa}.cesium-cesiumInspector-slider{margin-top:5px}.cesium-cesiumInspector-slider input[type=number]{text-align:left;background-color:#222;outline:none;border:1px solid #444;color:#edffff;width:100px;border-radius:3px;padding:1px;margin-left:10px;cursor:auto}.cesium-cesiumInspector-slider input[type=number]::-webkit-outer-spin-button,.cesium-cesiumInspector-slider input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cesium-cesiumInspector-slider input[type=range]{margin-left:5px;vertical-align:middle}.cesium-cesiumInspector-hide .cesium-cesiumInspector-styleEditor{display:none}.cesium-cesiumInspector-styleEditor{padding:10px;border-radius:5px;background:#303336cc;border:1px solid #444}.cesium-cesiumInspector-styleEditor textarea{width:100%;height:300px;background:transparent;color:#edffff;border:none;padding:0;white-space:pre;overflow-wrap:normal;overflow-x:auto}.cesium-3DTilesInspector{width:300px;pointer-events:all}.cesium-3DTilesInspector-statistics{font-size:11px}.cesium-3DTilesInspector-disabledElementsInfo{margin:5px 0 0;padding:0 0 0 20px;color:#eed202}.cesium-3DTilesInspector div,.cesium-3DTilesInspector input[type=range]{width:100%;box-sizing:border-box}.cesium-cesiumInspector-error{color:#ff9e9e;overflow:auto}.cesium-3DTilesInspector .cesium-cesiumInspector-section{margin-top:3px}.cesium-3DTilesInspector .cesium-cesiumInspector-sectionHeader+.cesium-cesiumInspector-show{border-top:1px solid white}input.cesium-cesiumInspector-url{overflow:hidden;white-space:nowrap;overflow-x:scroll;background-color:transparent;color:#fff;outline:none;border:none;height:1em;width:100%}.cesium-cesiumInspector .field-group{display:table}.cesium-cesiumInspector .field-group>label{display:table-cell;font-weight:700}.cesium-cesiumInspector .field-group>.field{display:table-cell;width:100%}.cesium-VoxelInspector{width:300px;pointer-events:all}.cesium-VoxelInspector div,.cesium-VoxelInspector input[type=range]{width:100%;box-sizing:border-box}.cesium-VoxelInspector .cesium-cesiumInspector-section{margin-top:3px}.cesium-VoxelInspector .cesium-cesiumInspector-sectionHeader+.cesium-cesiumInspector-show{border-top:1px solid white}.cesium-button.cesium-fullscreenButton,.cesium-button.cesium-vrButton{display:block;width:100%;height:100%;margin:0;border-radius:0}.cesium-viewer-geocoderContainer .cesium-geocoder-input{border:solid 1px #444;background-color:#282828b3;color:#fff;display:inline-block;vertical-align:middle;width:0;height:32px;margin:0;padding:0 32px 0 0;border-radius:0;box-sizing:border-box;transition:width ease-in-out .25s,background-color .2s ease-in-out;-webkit-appearance:none}.cesium-viewer-geocoderContainer:hover .cesium-geocoder-input{border-color:#aef;box-shadow:0 0 8px #fff}.cesium-viewer-geocoderContainer .cesium-geocoder-input:focus{border-color:#ea4;background-color:#0f0f0fe6;box-shadow:none;outline:none}.cesium-viewer-geocoderContainer:hover .cesium-geocoder-input,.cesium-viewer-geocoderContainer .cesium-geocoder-input:focus,.cesium-viewer-geocoderContainer .cesium-geocoder-input-wide{padding-left:4px;width:250px}.cesium-viewer-geocoderContainer .search-results{position:absolute;background-color:#000;color:#eee;overflow-y:auto;opacity:.8;width:100%}.cesium-viewer-geocoderContainer .search-results ul{list-style-type:none;margin:0;padding:0}.cesium-viewer-geocoderContainer .search-results ul li{font-size:14px;padding:3px 10px}.cesium-viewer-geocoderContainer .search-results ul li:hover{cursor:pointer}.cesium-viewer-geocoderContainer .search-results ul li.active{background:#48b}.cesium-geocoder-searchButton{background-color:#303336;display:inline-block;position:absolute;cursor:pointer;width:32px;top:1px;right:1px;height:30px;vertical-align:middle;fill:#edffff}.cesium-geocoder-searchButton:hover{background-color:#48b}.cesium-infoBox{display:block;position:absolute;top:50px;right:0;width:40%;max-width:480px;background:#262626f2;color:#edffff;border:1px solid #444;border-right:none;border-top-left-radius:7px;border-bottom-left-radius:7px;box-shadow:0 0 10px 1px #000;transform:translate(100%);visibility:hidden;opacity:0;transition:visibility 0s .2s,opacity .2s ease-in,transform .2s ease-in}.cesium-infoBox-visible{transform:translate(0);visibility:visible;opacity:1;transition:opacity .2s ease-out,transform .2s ease-out}.cesium-infoBox-title{display:block;height:20px;padding:5px 30px 5px 25px;background:#545454;border-top-left-radius:7px;text-align:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;box-sizing:content-box}.cesium-infoBox-bodyless .cesium-infoBox-title{border-bottom-left-radius:7px}button.cesium-infoBox-camera{display:block;position:absolute;top:4px;left:4px;width:22px;height:22px;background:transparent;border-color:transparent;border-radius:3px;padding:0 5px;margin:0}button.cesium-infoBox-close{display:block;position:absolute;top:5px;right:5px;height:20px;background:transparent;border:none;border-radius:2px;font-weight:700;font-size:16px;padding:0 5px;margin:0;color:#edffff}button.cesium-infoBox-close:focus{background:#ee880070;outline:none}button.cesium-infoBox-close:hover{background:#888;color:#000}button.cesium-infoBox-close:active{background:#a00;color:#000}.cesium-infoBox-bodyless .cesium-infoBox-iframe{display:none}.cesium-infoBox-iframe{border:none;width:100%;width:calc(100% - 2px)}span.cesium-sceneModePicker-wrapper{display:inline-block;position:relative;margin:0 3px}.cesium-sceneModePicker-visible{visibility:visible;opacity:1;transition:opacity .25s linear}.cesium-sceneModePicker-hidden{visibility:hidden;opacity:0;transition:visibility 0s .25s,opacity .25s linear}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-none{display:none}.cesium-sceneModePicker-slide-svg{transition:left 2s;top:0;left:0}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-dropDown-icon{box-sizing:border-box;padding:0;margin:3px 0}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D,.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView,.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D{margin:0 0 3px}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D .cesium-sceneModePicker-icon2D{left:100%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D .cesium-sceneModePicker-iconColumbusView{left:200%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView .cesium-sceneModePicker-icon3D{left:-200%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView .cesium-sceneModePicker-icon2D,.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D .cesium-sceneModePicker-icon3D{left:-100%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D .cesium-sceneModePicker-iconColumbusView{left:100%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-selected{border-color:#2e2;box-shadow:0 0 8px #fff,0 0 8px #fff}span.cesium-projectionPicker-wrapper{display:inline-block;position:relative;margin:0 3px}.cesium-projectionPicker-visible{visibility:visible;opacity:1;transition:opacity .25s linear}.cesium-projectionPicker-hidden{visibility:hidden;opacity:0;transition:visibility 0s .25s,opacity .25s linear}.cesium-projectionPicker-wrapper .cesium-projectionPicker-none{display:none}.cesium-projectionPicker-wrapper .cesium-projectionPicker-dropDown-icon{box-sizing:border-box;padding:0;margin:3px 0}.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonPerspective,.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonOrthographic{margin:0 0 3px}.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonPerspective .cesium-projectionPicker-iconOrthographic{left:100%}.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonOrthographic .cesium-projectionPicker-iconPerspective{left:-100%}.cesium-projectionPicker-wrapper .cesium-projectionPicker-selected{border-color:#2e2;box-shadow:0 0 8px #fff,0 0 8px #fff}.cesium-performance-watchdog-message-area{position:relative;background-color:#ff0;color:#000;padding:10px}.cesium-performance-watchdog-message{margin-right:30px}.cesium-performance-watchdog-message-dismiss{position:absolute;right:0;margin:0 10px 0 0}.cesium-navigationHelpButton-wrapper{position:relative;display:inline-block}.cesium-navigation-help{visibility:hidden;position:absolute;top:38px;right:2px;width:250px;border-radius:10px;transform:scale(.01);transform-origin:234px -10px;transition:visibility 0s .25s,transform .25s ease-in}.cesium-navigation-help-visible{visibility:visible;transform:scale(1);transition:transform .25s ease-out}.cesium-navigation-help-instructions{border:1px solid #444;background-color:#262626bf;padding-bottom:5px;border-radius:0 0 10px 10px}.cesium-click-navigation-help{display:none}.cesium-touch-navigation-help{display:none;padding-top:5px}.cesium-click-navigation-help-visible,.cesium-touch-navigation-help-visible{display:block}.cesium-navigation-help-pan{color:#6cf;font-weight:700}.cesium-navigation-help-zoom{color:#65fd00;font-weight:700}.cesium-navigation-help-rotate{color:#ffd800;font-weight:700}.cesium-navigation-help-tilt{color:#d800d8;font-weight:700}.cesium-navigation-help-details{color:#fff}.cesium-navigation-button{color:#fff;background-color:transparent;border-bottom:none;border-top:1px solid #444;border-right:1px solid #444;margin:0;width:50%;cursor:pointer}.cesium-navigation-button-icon{vertical-align:middle;padding:5px 1px}.cesium-navigation-button:focus{outline:none}.cesium-navigation-button-left{border-radius:10px 0 0;border-left:1px solid #444}.cesium-navigation-button-right{border-radius:0 10px 0 0;border-left:none}.cesium-navigation-button-selected{background-color:#262626bf}.cesium-navigation-button-unselected{background-color:#000000bf}.cesium-navigation-button-unselected:hover{background-color:#4c4c4cbf}.cesium-selection-wrapper{position:absolute;width:160px;height:160px;pointer-events:none;visibility:hidden;opacity:0;transition:visibility 0s .2s,opacity .2s ease-in}.cesium-selection-wrapper-visible{visibility:visible;opacity:1;transition:opacity .2s ease-out}.cesium-selection-wrapper svg{fill:#2e2;stroke:#000;stroke-width:1.1px}.cesium-timeline-main{position:relative;left:0;bottom:0;overflow:hidden;border:solid 1px #888;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cesium-timeline-trackContainer{width:100%;overflow:auto;border-top:solid 1px #888;position:relative;top:0;left:0}.cesium-timeline-tracks{position:absolute;top:0;left:0;width:100%}.cesium-timeline-needle{position:absolute;left:0;top:1.7em;bottom:0;width:1px;background:red}.cesium-timeline-bar{position:relative;left:0;top:0;overflow:hidden;cursor:pointer;width:100%;height:1.7em;background:linear-gradient(to bottom,#747577cc,#3a4452cc 11%,#2e3238cc 46%,#353535cc 81% 100%)}.cesium-timeline-ruler{visibility:hidden;white-space:nowrap;font-size:80%;z-index:-200}.cesium-timeline-highlight{position:absolute;bottom:0;left:0;background:#08f}.cesium-timeline-ticLabel{position:absolute;top:0;left:0;white-space:nowrap;font-size:80%;color:#eee}.cesium-timeline-ticMain{position:absolute;bottom:0;left:0;width:1px;height:50%;background:#eee}.cesium-timeline-ticSub{position:absolute;bottom:0;left:0;width:1px;height:33%;background:#aaa}.cesium-timeline-ticTiny{position:absolute;bottom:0;left:0;width:1px;height:25%;background:#888}.cesium-timeline-icon16{display:block;position:absolute;width:16px;height:16px;background-image:url(data:text/plain;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAQCAYAAAB3AH1ZAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sIDBITKIVzLEMAAAKNSURBVEjHxdXNSxRhHAfw7zzrqhuoWJnSkrippUVSEKsHI9BTUYdAJA/RoYMREV26rAdn6tAfUARi16hQqkOBQRgUEYFWEC3OwczMjdZd92VmdWfmeelgTjO7q7gb0VzmmZnn85vvPPPMM8B/3qTcE2PPpuTZKB1eWuUQACgXYACYwVFbCTTVeZXB/i55o4LFelcAZfStYD4vpAoPGAGo4GBcQEgSOAUMQyAezwK6iQfDPXnhS/FkHZ+/8VLMWxxqWkfH3gbMRNOYi2roavbja0zHQmoFPYf8ED4Ko4aivm9MOG/u9I8mwrafeK7a/tVrNc/bARYN5noadeq7q0342vXw9CIMU6BmW8rVP9cPBPe52uu+v3O/y9sB4gkTWs6Qsk0mj5ExXMelejvA8WafYmkmGPHanTijdtvif8rx5RiCjdWKs2Cp3jWRDl96KhrbqlBeJqBOLyLQXg0IgbkZDS0dO8EZxZfPSTA9jvDDK3mT0OmP1FXh3XwEEAKdTX5MRWLgjCK4pwH3xt/YnjgLHAv4lHTCAKMMu/wV+KZGob6PoKyMQ0+sgBpZVJZn0NterxQaVqef/DRn+/EXYds/mZx2eVeAW9d65dhCEsaKCb7K8HH0gqTevyh9GDkn0VULRiaLzJKGBu9swfdaiie5RVo9ESURN8E8BE0n7ggACJy8KzghSCzp6DmwWxkaCm24EBXr8wI8Hrkq06QBiRC0t24HALS11IBTCyJl4vb1AXmzpbVYTwoVOXN0h7L8Mwtm8bXPybIQ/5FCX3dA2cr6XowvGCA02CvztAnz9+JiZk1AMxG6fEreSoBiPNmoyNnuWiWVzAIAtISO08E6pZi/3N96AIDn4E3h3P8L/wshP+txtEs4JAAAAABJRU5ErkJggg==);background-repeat:no-repeat}.cesium-viewer{font-family:sans-serif;font-size:16px;overflow:hidden;display:block;position:relative;top:0;left:0;width:100%;height:100%}.cesium-viewer-cesiumWidgetContainer{width:100%;height:100%}.cesium-viewer-bottom{display:block;position:absolute;bottom:0;left:0;padding-right:5px}.cesium-viewer .cesium-widget-credits{display:inline;position:static;bottom:auto;left:auto;padding-right:0;color:#fff;font-size:10px;text-shadow:0 0 2px #000000}.cesium-viewer-timelineContainer{position:absolute;bottom:0;left:169px;right:29px;height:27px;padding:0;margin:0;overflow:hidden;font-size:14px}.cesium-viewer-animationContainer{position:absolute;bottom:0;left:0;padding:0;width:169px;height:112px}.cesium-viewer-fullscreenContainer,.cesium-viewer-vrContainer{position:absolute;bottom:0;right:0;padding:0;width:29px;height:29px;overflow:hidden}.cesium-viewer-toolbar{display:block;position:absolute;top:5px;right:5px}.cesium-viewer-cesiumInspectorContainer{display:block;position:absolute;top:50px;right:10px}.cesium-viewer-geocoderContainer{position:relative;display:inline-block;margin:0 3px}.cesium-viewer-cesium3DTilesInspectorContainer,.cesium-viewer-voxelInspectorContainer{display:block;position:absolute;top:50px;right:10px;max-height:calc(100% - 120px);box-sizing:border-box;overflow-y:auto;overflow-x:hidden}.cesium-viewer-i3s-explorer ul{list-style-type:none}.cesium-viewer-i3s-explorer .layersList{padding:0}.cesium-viewer-i3s-explorer input{margin:0 3px 0 0}.cesium-viewer-i3s-explorer .expandItem{cursor:pointer;user-select:none;width:20px}.cesium-viewer-i3s-explorer .nested,.cesium-viewer-i3s-explorer #bsl-wrapper{display:none}.cesium-viewer-i3s-explorer .active{display:block}.cesium-viewer-i3s-explorer .li-wrapper{display:flex;flex-direction:row;align-content:center}:root{--color-bg-primary: #0a0a1a;--color-bg-secondary: #141428;--color-bg-tertiary: #1e1e3c;--color-text-primary: #ffffff;--color-text-secondary: rgba(255, 255, 255, .7);--color-text-muted: rgba(255, 255, 255, .4);--color-accent: #4a9eff;--color-accent-hover: #6bb3ff;--color-border: rgba(255, 255, 255, .1);--color-error: #ff6b6b;--color-success: #4ecdc4;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--font-family-mono: "SF Mono", "Fira Code", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--header-height: 48px;--timeline-height: 104px;--sidebar-width: 280px;--border-radius: 4px;--border-radius-lg: 8px;--transition-fast: .15s ease;--transition-normal: .25s ease;--z-viewer: 1;--z-ui: 10;--z-panel: 20;--z-modal: 100;--z-loading: 1000}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;font-family:var(--font-family);font-size:var(--font-size-md);color:var(--color-text-primary);background:var(--color-bg-primary)}#app{width:100%;height:100%;display:grid;grid-template-rows:var(--header-height) minmax(0,1fr) auto;grid-template-columns:1fr;grid-template-areas:"header" "main" "timeline";overflow:hidden}#cesium-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:var(--z-viewer)}#ui-overlay{position:relative;z-index:var(--z-ui);display:contents}.gestirne-header{grid-area:header;position:relative;z-index:var(--z-ui);display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-md);background:linear-gradient(180deg,#0a0a1af2,#0a0a1acc);border-bottom:1px solid var(--color-border);pointer-events:auto}.gestirne-header__logo{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:300;letter-spacing:.3em;text-transform:uppercase}.gestirne-header__controls{display:flex;align-items:center;gap:var(--spacing-sm)}.gestirne-main{grid-area:main;position:relative;z-index:var(--z-ui);pointer-events:none}.gestirne-sidebar{position:absolute;top:0;left:0;width:var(--sidebar-width);max-width:var(--sidebar-width);height:100%;background:var(--color-bg-secondary);border-right:1px solid var(--color-border);pointer-events:auto;transform:translate(-100%);transition:transform var(--transition-normal);z-index:var(--z-panel);overflow:hidden;will-change:transform}.gestirne-sidebar:not(.open){transform:translate(-100%)}.gestirne-sidebar.open{transform:translate(0)}.gestirne-timeline{grid-area:timeline;position:relative;z-index:var(--z-ui);pointer-events:auto}.gestirne-info{position:absolute;bottom:var(--spacing-md);left:var(--spacing-md);display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:#0a0a1acc;border:1px solid var(--color-border);border-radius:var(--border-radius);font-size:var(--font-size-sm);font-family:var(--font-family-mono);color:var(--color-text-secondary);pointer-events:auto}.gestirne-info__label{color:var(--color-text-secondary);margin-right:4px;user-select:none}.gestirne-info__input{width:80px;padding:1px 4px;background:transparent;border:1px solid transparent;border-radius:3px;color:var(--color-text-secondary);font-family:var(--font-family-mono);font-size:var(--font-size-sm);text-align:right;outline:none;transition:border-color .15s ease,background-color .15s ease}.gestirne-info__input:hover{border-color:#fff3}.gestirne-info__input:focus{border-color:#4fc3f7;background:#ffffff0d;color:var(--color-text-primary)}.gestirne-info__degree{color:var(--color-text-secondary);margin-right:var(--spacing-sm)}.gestirne-info__degree:last-child{margin-right:0}.gestirne-info__mode-badge{display:none;align-items:center;justify-content:center;padding:6px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;cursor:help;transition:background-color .2s ease,opacity .2s ease;z-index:100;pointer-events:auto}.gestirne-info__mode-badge--both{color:#fff;background:#4a9eff80;border:1px solid rgba(74,158,255,.7)}.gestirne-info__mode-badge--terrain{color:#fff;background:#a68a5b80;border:1px solid rgba(166,138,91,.7)}.gestirne-info__mode-badge--3d-tiles{color:#fff;background:#4ecdc480;border:1px solid rgba(78,205,196,.7)}.gestirne-info__mode-badge:hover{filter:brightness(1.2)}.marker-control-panel{position:absolute;z-index:100;pointer-events:auto;animation:fadeIn .2s ease-out}.marker-control-panel__container{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#0a0a1acc;border:1px solid var(--color-border);border-radius:var(--border-radius);font-size:var(--font-size-sm)}.marker-control-panel__label{font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap}.marker-control-panel__button{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;margin:0;border:1px solid var(--color-border);border-radius:50%;background:#ffffff1a;color:var(--color-text-secondary);font-size:11px;line-height:1;cursor:pointer;transition:all .2s ease;flex-shrink:0;vertical-align:middle}.marker-control-panel__button:hover{background:#fff3;border-color:var(--color-border);color:var(--color-text-primary)}.marker-control-panel__button:active{transform:scale(.95)}@keyframes fadeIn{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.coordinate-logger-panel{position:absolute;z-index:100;pointer-events:auto;animation:fadeIn .2s ease-out;min-width:280px;max-width:320px}.coordinate-logger-panel__container{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background:#0a0a1af2;border:1px solid var(--color-border);border-radius:var(--border-radius);font-size:var(--font-size-sm)}.coordinate-logger-panel__status{font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-secondary);padding:2px 6px;border-radius:3px;display:inline-block;width:fit-content;background:#ffffff1a}.coordinate-logger-panel__status.active{color:#4ade80;background:#4ade8033}.coordinate-logger-panel__mode-group{display:flex;align-items:center;gap:var(--spacing-sm)}.coordinate-logger-panel__mode-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap}.coordinate-logger-panel__mode-buttons{display:flex;gap:4px;flex:1}.coordinate-logger-panel__model-select-group{display:flex;align-items:center;gap:8px;margin-top:8px}.coordinate-logger-panel__model-label{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.coordinate-logger-panel__model-select{flex:1;padding:4px 8px;font-size:var(--font-size-xs);background:#ffffff1a;border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-primary);cursor:pointer}.coordinate-logger-panel__model-select:hover{background:#ffffff26;border-color:var(--color-accent)}.coordinate-logger-panel__model-select:focus{outline:none;border-color:var(--color-accent);background:#ffffff26}.coordinate-logger-panel__mode-btn{flex:1;padding:4px 8px;font-size:var(--font-size-xs);border:1px solid var(--color-border);border-radius:4px;background:#ffffff0d;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.coordinate-logger-panel__mode-btn:hover{background:#ffffff1a;color:var(--color-text-primary)}.coordinate-logger-panel__mode-btn.active{background:#6495ed4d;border-color:#6495ed99;color:var(--color-text-primary)}.coordinate-logger-panel__counts{display:flex;gap:var(--spacing-md);font-size:var(--font-size-xs);font-family:var(--font-family-mono)}.coordinate-logger-panel__count{color:var(--color-text-secondary)}.coordinate-logger-panel__count--texture{color:#4ade80}.coordinate-logger-panel__count--model{color:#ef4444}.coordinate-logger-panel__offsets{display:flex;gap:var(--spacing-md);font-size:var(--font-size-xs);font-family:var(--font-family-mono);padding:var(--spacing-xs) 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}.coordinate-logger-panel__offset{color:var(--color-text-secondary)}.coordinate-logger-panel__offset-value{color:#fbbf24;font-weight:500}.coordinate-logger-panel__actions{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.coordinate-logger-panel__action-btn{flex:1;min-width:70px;padding:6px 10px;font-size:var(--font-size-xs);border:1px solid var(--color-border);border-radius:4px;background:#ffffff1a;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease}.coordinate-logger-panel__action-btn:hover:not(:disabled){background:#fff3;border-color:var(--color-border)}.coordinate-logger-panel__action-btn:active:not(:disabled){transform:scale(.95)}.coordinate-logger-panel__action-btn:disabled{opacity:.5;cursor:not-allowed}.coordinate-logger-panel__action-btn--apply{background:var(--color-accent, #4fc3f7);color:#fff;font-weight:500}.coordinate-logger-panel__action-btn--apply:hover:not(:disabled){background:var(--color-accent-hover, #29b6f6)}.coordinate-logger-panel__instructions{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-style:italic;text-align:center;padding-top:var(--spacing-xs);border-top:1px solid rgba(255,255,255,.1)}select{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--border-radius)}select option{background:var(--color-bg-secondary);color:var(--color-text-primary)}.gestirne-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.gestirne-btn:hover{background:var(--color-accent);border-color:var(--color-accent)}.gestirne-btn--icon{padding:var(--spacing-sm);min-width:32px;min-height:32px}.gestirne-icon{width:16px;height:16px;display:inline-block}.gestirne-panel{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);overflow:hidden}.gestirne-panel__header{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm);font-weight:500;text-transform:uppercase;letter-spacing:.1em}.gestirne-panel__content{padding:var(--spacing-md)}.gestirne-timeline{grid-area:timeline;position:relative;z-index:var(--z-ui);display:flex;flex-direction:column;align-items:stretch;gap:.5rem;padding:.75rem 1rem;min-height:var(--timeline-height);background:#0a0a1af2;backdrop-filter:blur(8px);border-top:1px solid var(--color-border);pointer-events:auto;overflow:visible}.timeline-collapse-toggle{align-self:flex-end;width:24px;height:16px;padding:0;margin:-4px 0 -2px;border:1px solid var(--color-border);border-radius:3px;background:#1e1e3ce6;color:var(--color-text-secondary);font-size:10px;line-height:1;cursor:pointer;flex-shrink:0;transition:background-color .15s,color .15s}.timeline-collapse-toggle:hover{background:#282850f2;color:var(--color-text-primary)}.gestirne-timeline--collapsed{min-height:0;padding:6px 1rem;gap:0}.gestirne-timeline--collapsed .timeline-collapse-toggle{margin:0}.gestirne-timeline--collapsed .timeline-controls,.gestirne-timeline--collapsed .timeline-slider-container{display:none}.timeline-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.timeline-btn{display:flex;align-items:center;justify-content:center;min-width:2.5rem;height:2.5rem;padding:0 .5rem;border:1px solid var(--color-border);border-radius:var(--border-radius);background:#1e1e3ce6;color:var(--color-text-primary);font-size:1rem;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s;box-shadow:0 1px 3px #0000004d}.timeline-btn:hover{background:#282850f2;border-color:var(--color-accent);color:var(--color-text-primary)}.timeline-btn:active{background:#141432f2}.timeline-btn--play,.timeline-btn--reverse{min-width:3rem;font-size:1.25rem}.timeline-btn--active{background:#6496ff4d;color:var(--color-accent);border-color:var(--color-accent)}.timeline-btn--now{font-size:.875rem;padding:0 .75rem}.timeline-solar-events{display:flex;align-items:center;gap:0;margin-left:.5rem}.timeline-solar-events .timeline-btn{min-width:1.75rem;width:1.75rem;padding:0;font-size:.75rem}.timeline-btn--solar-prev{border-radius:var(--border-radius) 0 0 var(--border-radius);border-right:none}.timeline-btn--solar-next{border-radius:0 var(--border-radius) var(--border-radius) 0;border-left:none}.timeline-solar-icon{display:flex;align-items:center;justify-content:center;width:1.75rem;height:2.5rem;background:#1e1e3ce6;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);color:var(--color-accent-warm, #f0a050);font-size:.875rem}.timeline-solar-events:hover .timeline-solar-icon{color:#fc0}.timeline-step-select{height:2.5rem;padding:0 .25rem;border:1px solid var(--color-border);border-radius:var(--border-radius);background:#1e1e3ce6;color:var(--color-text-primary);font-size:.75rem;cursor:pointer;min-width:70px;box-shadow:0 1px 3px #0000004d}.timeline-step-select:focus{outline:none;border-color:var(--color-accent);color:var(--color-text-primary);background:#282850f2}.timeline-speed-control{display:flex;align-items:center;justify-content:center}.timeline-mode-toggle{display:flex;align-items:center;gap:.5rem}.timeline-mode-select,.timeline-daytype-select{height:2rem;padding:0 .5rem;border:1px solid var(--color-border);border-radius:var(--border-radius);background:#1e1e3ce6;color:var(--color-text-primary);font-size:.75rem;cursor:pointer}.timeline-mode-select:focus,.timeline-daytype-select:focus{outline:none;border-color:var(--color-accent)}.timeline-daytype-container{display:flex;align-items:center;gap:.25rem}.timeline-daytype-label{font-size:.7rem;color:var(--color-text-secondary)}.timeline-daily-time{font-family:var(--font-family-mono, monospace);font-size:.85rem;color:var(--color-accent, #64B5F6);cursor:pointer;padding:.2rem .5rem;border-radius:var(--border-radius, 4px);transition:background-color .15s,color .15s;white-space:nowrap;user-select:none}.timeline-daily-time:hover{background:#6496ff26;color:#fff}.timeline-date{position:relative;flex:0 1 auto;min-width:180px;max-width:280px}.timeline-local-time{display:flex;align-items:center;padding:.25rem .5rem;font-size:.8rem;color:var(--color-text-secondary);border-left:1px solid var(--color-border);margin-left:.25rem}.timeline-local-time-value{font-family:var(--font-mono, monospace);white-space:nowrap}.timeline-date-display{display:block;padding:0 .75rem;font-family:var(--font-family-mono);font-size:.9rem;color:var(--color-text-primary);text-align:center;cursor:pointer;border-radius:var(--border-radius);transition:background-color .15s;background:#1e1e3cb3;padding:.5rem .75rem;border:1px solid transparent}.timeline-date-display:hover{background:#282850e6;border-color:var(--color-border)}.timeline-date-input{width:100%;padding:.5rem .75rem;font-family:var(--font-family-mono);font-size:.9rem;color:var(--color-text-primary);background:#1e1e3cf2;border:1px solid var(--color-accent);border-radius:var(--border-radius);text-align:center;outline:none;box-shadow:0 1px 3px #0000004d}.timeline-date-input::placeholder{color:var(--color-text-muted);font-size:.8rem}.timeline-slider-container{width:100%;padding:.25rem 0;position:relative}.timeline-accuracy-markers{position:relative;width:100%;height:20px;margin-bottom:4px}.timeline-accuracy-zone{position:absolute;top:0;height:100%;border-radius:2px;pointer-events:none}.timeline-accuracy-marker{position:absolute;top:0;width:2px;height:100%;cursor:help;z-index:1}.timeline-accuracy-marker:after{content:"";position:absolute;top:-4px;left:-3px;width:8px;height:8px;border-radius:50%}.timeline-accuracy-marker--info{background:#2196f399}.timeline-accuracy-marker--info:after{background:#2196f3}.timeline-accuracy-marker--warning{background:#ffc10799}.timeline-accuracy-marker--warning:after{background:#ffc107}.timeline-accuracy-marker--critical{background:#f4433699}.timeline-accuracy-marker--critical:after{background:#f44336}.timeline-accuracy-tooltip{position:fixed;background:#1e1e32f2;border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:10px 14px;max-width:280px;font-size:12px;color:#fff;z-index:1000;pointer-events:none;box-shadow:0 4px 12px #0006;display:none}.timeline-accuracy-tooltip__title{font-weight:600;font-size:13px;margin-bottom:6px;color:var(--color-accent, #64B5F6)}.timeline-accuracy-tooltip__desc{margin-bottom:8px;line-height:1.4;opacity:.9}.timeline-accuracy-tooltip__modules{font-size:11px;opacity:.7;font-style:italic}.timeline-slider{width:100%;height:6px;border-radius:3px;background:#ffffff26;cursor:pointer;-webkit-appearance:none;appearance:none}.timeline-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--color-accent);cursor:grab;border:2px solid rgba(10,10,26,.95);box-shadow:0 1px 3px #00000080}.timeline-slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.1)}.timeline-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--color-accent);cursor:grab;border:2px solid rgba(10,10,26,.95);box-shadow:0 1px 3px #00000080}.timeline-slider::-moz-range-track{background:#ffffff26;height:6px;border-radius:3px}@media (max-width: 768px){.timeline-controls{justify-content:center}.timeline-date{width:100%;order:-1;margin-bottom:.5rem}.timeline-mode-toggle{flex-wrap:wrap;justify-content:center}}.settings-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;z-index:1000}.settings-overlay.visible{opacity:1;visibility:visible}.settings-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);width:90%;max-width:500px;min-width:320px;min-height:300px;max-height:80vh;background:#1a1a2e;border:1px solid #3a3a5a;border-radius:8px;box-shadow:0 4px 24px #00000080;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease,transform .2s ease;z-index:1001;display:flex;flex-direction:column;overflow:hidden;resize:both}.settings-panel::-webkit-resizer{background:linear-gradient(135deg,transparent 60%,rgba(255,255,255,.15) 60%,rgba(255,255,255,.15) 70%,transparent 70%,transparent 80%,rgba(255,255,255,.15) 80%)}.settings-panel.visible{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}.settings-panel.dragged,.settings-panel.dragged.visible{transform:none}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #3a3a5a;cursor:grab;user-select:none}.settings-header:active{cursor:grabbing}.settings-header h2{margin:0;font-size:18px;font-weight:500;color:#fff}.settings-close{background:none;border:none;color:#888;font-size:24px;cursor:pointer;padding:0;line-height:1;transition:color .15s ease}.settings-close:hover{color:#fff}.settings-tabs{display:flex;border-bottom:1px solid #3a3a5a;padding:0 20px}.settings-tab{background:none;border:none;color:#888;padding:12px 16px;font-size:14px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s ease,border-color .15s ease}.settings-tab:hover{color:#ccc}.settings-tab.active{color:#4fc3f7;border-bottom-color:#4fc3f7}.settings-content{flex:1;overflow-y:auto;padding:20px}.settings-tab-content{display:none}.settings-tab-content.active{display:block}.settings-group{margin-bottom:24px}.settings-group:last-child{margin-bottom:0}.settings-group h3{margin:0 0 12px;font-size:13px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px}.settings-row{display:flex;align-items:center;margin-bottom:12px;gap:12px}.settings-row:last-child{margin-bottom:0}.settings-row label{flex:1;font-size:14px;color:#ddd}.settings-row input[type=range]{width:120px;accent-color:#4fc3f7}.settings-row input[type=checkbox]{width:18px;height:18px;accent-color:#4fc3f7;cursor:pointer}.settings-row select{padding:6px 10px;background:#2a2a4a;border:1px solid #3a3a5a;border-radius:4px;color:#ddd;font-size:14px;cursor:pointer}.settings-row select:focus{outline:none;border-color:#4fc3f7}.settings-value{min-width:60px;text-align:right;font-size:13px;color:#888;font-variant-numeric:tabular-nums}.settings-hint{display:block;font-size:.75rem;color:var(--color-text-secondary, #888);margin-top:0;margin-bottom:0;opacity:.8;flex:1;padding-left:0}.settings-footer{padding:16px 20px;border-top:1px solid #3a3a5a;display:flex;justify-content:flex-end}.settings-tab-reset{background:#3a3a5a;border:none;color:#ddd;padding:8px 16px;border-radius:4px;font-size:14px;cursor:pointer;transition:background .15s ease}.settings-tab-reset:hover{background:#4a4a6a}.settings-content::-webkit-scrollbar{width:8px}.settings-content::-webkit-scrollbar-track{background:#1a1a2e}.settings-content::-webkit-scrollbar-thumb{background:#3a3a5a;border-radius:4px}.settings-content::-webkit-scrollbar-thumb:hover{background:#4a4a6a}.settings-hotkey-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1)}.settings-hotkey-row:last-child{border-bottom:none}.settings-hotkey-description{flex:1;font-size:var(--font-size-sm, 14px);color:var(--color-text-secondary, #ddd)}.settings-hotkey-btn{min-width:80px;padding:6px 12px;font-size:var(--font-size-xs, 12px);font-family:var(--font-family-mono, "Courier New", monospace);border:1px solid var(--color-border, #3a3a5a);border-radius:4px;background:#ffffff1a;color:var(--color-text-primary, #ddd);cursor:pointer;transition:all .2s ease}.settings-hotkey-btn:hover{background:#fff3;border-color:var(--color-accent, #4fc3f7)}.settings-hotkey-btn.recording{background:#ffc1074d;border-color:#ffc107;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.settings-preset-buttons{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.settings-preset-btn{padding:.5rem 1rem;border:1px solid #3a3a5a;border-radius:4px;background:#1e1e3ccc;color:#ddd;font-size:.85rem;cursor:pointer;transition:background-color .15s,border-color .15s}.settings-preset-btn:hover{background:#32325ae6;border-color:#4fc3f7}.settings-help{font-size:.8rem;color:#888;margin-bottom:1rem;line-height:1.4}.settings-accuracy-note{margin-top:.5rem;padding:.5rem;background:#64641e33;border-left:3px solid #997;border-radius:0 4px 4px 0}.settings-year-hint{min-width:100px;text-align:right}input[type=number]{width:120px;padding:.25rem .5rem;border:1px solid #3a3a5a;border-radius:4px;background:#141432e6;color:#ddd;font-family:Courier New,monospace}input[type=number]:focus{outline:none;border-color:#4fc3f7}.settings-row.settings-modified{position:relative}.settings-row.settings-modified:before{content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:5px;height:5px;border-radius:50%;background:#4fc3f7;opacity:.7}.settings-row.settings-disabled{opacity:.5;pointer-events:none}.settings-row.settings-disabled label{color:#888}.settings-accuracy-details,.settings-physics-details{margin-top:8px}.settings-accuracy-details summary,.settings-physics-details summary{cursor:pointer;color:#4fc3f7;font-size:.9em;user-select:none}.settings-accuracy-details[open] summary,.settings-physics-details[open] summary{margin-bottom:8px}.settings-accuracy-details p,.settings-physics-details p{margin:0;padding:8px;font-size:.85em;color:#aaa;line-height:1.4}.settings-dev-section{border-left:2px solid #ff9800;padding-left:12px;margin-left:4px}.settings-dev-section h3{color:#ff9800}.settings-dev-toggle{border-top:1px dashed #3a3a5a;padding-top:16px;margin-top:16px}.settings-ray-configs{display:flex;flex-direction:column;gap:8px;margin-top:4px}.settings-ray-config-row{display:flex;align-items:center;gap:6px;padding:4px 6px;background:#ffffff0a;border-radius:4px}.settings-ray-config-name{width:80px;min-width:60px;padding:2px 4px;border:1px solid rgba(255,255,255,.15);border-radius:3px;background:#0000004d;color:#e0e0e0;font-size:12px;flex-shrink:0}.settings-ray-config-name:focus{outline:1px solid rgba(79,195,247,.5)}.settings-ray-config-pills{display:flex;flex-wrap:wrap;gap:3px;flex:1}.settings-ray-config-pill{padding:1px 5px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:transparent;color:#fff6;cursor:pointer;font-size:10px;transition:all .15s ease}.settings-ray-config-pill--active{background:#4fc3f740;border-color:#4fc3f780;color:#e0e0e0}.settings-ray-config-pill:hover{border-color:#4fc3f799}.settings-ray-config-delete{padding:0 4px;border:none;background:transparent;color:#ffffff4d;cursor:pointer;font-size:12px;flex-shrink:0}.settings-ray-config-delete:hover{color:#ef5350}.settings-ray-config-add{padding:4px 8px;border:1px dashed rgba(255,255,255,.2);border-radius:4px;background:transparent;color:#ffffff80;cursor:pointer;font-size:12px;transition:all .15s ease}.settings-ray-config-add:hover{border-color:#4fc3f780;color:#e0e0e0}.settings-body-colors{display:flex;flex-direction:column;gap:4px;margin-top:4px}.settings-body-color-row{display:flex;align-items:center;gap:8px;padding:3px 6px;background:#ffffff0a;border-radius:4px}.settings-body-color-label{flex:1;font-size:12px;color:#ddd}.settings-body-color-input{width:28px;height:22px;padding:0;border:1px solid rgba(255,255,255,.15);border-radius:3px;background:transparent;cursor:pointer;flex-shrink:0}.settings-body-color-input::-webkit-color-swatch-wrapper{padding:1px}.settings-body-color-input::-webkit-color-swatch{border:none;border-radius:2px}.settings-body-color-reset{padding:0 4px;border:none;background:transparent;color:#ffffff4d;cursor:pointer;font-size:14px;flex-shrink:0;transition:color .15s ease}.settings-body-color-reset:hover:not(:disabled){color:#4fc3f7}.settings-body-color-reset:disabled{opacity:.3;cursor:default}.site-panel{display:flex;flex-direction:column;height:100%;background:#1a1a2e;color:#ddd;pointer-events:auto;position:relative;z-index:1}.site-panel__header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #3a3a5a}.site-panel__title{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#888}.site-panel__count{background:#3a3a5a;color:#aaa;font-size:12px;padding:2px 8px;border-radius:10px}.site-panel__search{padding:12px;border-bottom:1px solid #3a3a5a}.site-panel__search-input{width:100%;padding:8px 12px;background:#2a2a4a;border:1px solid #3a3a5a;border-radius:4px;color:#ddd;font-size:14px}.site-panel__search-input:focus{outline:none;border-color:#4fc3f7}.site-panel__search-input::placeholder{color:#666}.site-panel__filters{display:flex;flex-wrap:wrap;gap:6px;padding:12px;border-bottom:1px solid #3a3a5a}.site-panel__filter-tag{padding:4px 10px;background:#2a2a4a;border:1px solid #3a3a5a;border-radius:12px;color:#888;font-size:12px;cursor:pointer;pointer-events:auto;transition:all .15s ease}.site-panel__filter-tag:hover{border-color:#4fc3f7;color:#ccc}.site-panel__filter-tag.active{background:#4fc3f7;border-color:#4fc3f7;color:#1a1a2e}.site-panel__list{flex:1;overflow-y:auto;padding:8px}.site-panel__empty{padding:24px 16px;text-align:center;color:#666;font-size:14px}.site-card{background:#252540;border:1px solid #3a3a5a;border-radius:6px;margin-bottom:8px;overflow:hidden;transition:border-color .15s ease}.site-card:hover{border-color:#4a4a6a}.site-card.selected{border-color:#4fc3f7}.site-card__header{display:flex;justify-content:space-between;align-items:center;padding:12px;cursor:pointer;pointer-events:auto}.site-card__header:hover{background:#2a2a4a}.site-card__info{flex:1;min-width:0}.site-card__name{margin:0;font-size:14px;font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-card__3d-badge{display:inline-block;margin-left:6px;padding:1px 5px;background:#4fc3f7;color:#1a1a2e;font-size:10px;font-weight:700;border-radius:3px;vertical-align:middle;line-height:1.4}.site-card__year{font-size:12px;color:#888}.site-card__expand{background:none;border:none;color:#666;padding:4px 8px;cursor:pointer;pointer-events:auto;transition:color .15s ease}.site-card__expand:hover{color:#4fc3f7}.site-card__expand-icon{font-size:10px}.site-card__details{padding:0 12px 12px;border-top:1px solid #3a3a5a}.site-card__description{margin:12px 0;font-size:13px;color:#aaa;line-height:1.5}.site-card__meta{display:flex;gap:16px;margin-bottom:12px;font-size:12px;color:#666}.site-card__tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px}.site-card__tag{padding:2px 8px;background:#3a3a5a;border-radius:4px;font-size:11px;color:#aaa}.site-card__section{margin-top:12px}.site-card__section-title{margin:0 0 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#666}.site-card__views,.site-card__dates{display:flex;flex-wrap:wrap;gap:6px}.site-card__view-btn,.site-card__date-btn{padding:6px 10px;background:#2a2a4a;border:1px solid #3a3a5a;border-radius:4px;color:#ccc;font-size:12px;cursor:pointer;pointer-events:auto;transition:all .15s ease}.site-card__view-btn:hover,.site-card__date-btn:hover{background:#3a3a5a;border-color:#4fc3f7}.site-card__date-btn{background:#2d2a3a;border-color:#4a3a5a}.site-card__date-btn:hover{background:#3d3a4a;border-color:#9c7cf7}.site-card__date-btn.has-preset{border-color:#d4a017}.site-card__date-btn.has-preset:hover{border-color:#f0c040}.site-card__preset-icon{margin-right:4px;color:#d4a017;font-size:13px}.site-card__go-btn{width:100%;margin-top:12px;padding:10px;background:#4fc3f7;border:none;border-radius:4px;color:#1a1a2e;font-size:14px;font-weight:500;cursor:pointer;pointer-events:auto;transition:background .15s ease}.site-card__go-btn:hover{background:#7fd4fc}.site-panel__list::-webkit-scrollbar{width:6px}.site-panel__list::-webkit-scrollbar-track{background:#1a1a2e}.site-panel__list::-webkit-scrollbar-thumb{background:#3a3a5a;border-radius:3px}.site-panel__list::-webkit-scrollbar-thumb:hover{background:#4a4a6a}.speed-control{display:inline-flex;align-items:center;height:2.25rem;background:#141432cc;border:1px solid var(--color-border);border-radius:var(--border-radius);overflow:hidden}.speed-control-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:100%;padding:0;border:none;background:transparent;color:var(--color-text-secondary);font-size:.75rem;cursor:pointer;transition:background-color .15s,color .15s}.speed-control-btn:hover:not(:disabled){background:#ffffff1a;color:var(--color-text-primary)}.speed-control-btn:active:not(:disabled){background:#ffffff26}.speed-control-btn:disabled{opacity:.3;cursor:not-allowed}.speed-control-display{display:flex;align-items:center;justify-content:center;min-width:4.5rem;height:100%;padding:0 .5rem;border:none;border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);background:#1e1e3ce6;color:var(--color-text-primary);font-family:var(--font-family-mono);font-size:.85rem;font-weight:600;cursor:pointer;transition:background-color .15s,color .15s}.speed-control-display:hover{background:#282850f2}.speed-control-display:active{background:#141432f2}.speed-control--accelerated .speed-control-display{color:var(--color-accent)}.speed-control-overlay{position:fixed;inset:0;background:#0000004d;display:flex;align-items:flex-start;justify-content:center;padding-top:20vh;z-index:10000}.speed-control-popup{background:#141428fa;border:1px solid var(--color-border);border-radius:var(--border-radius);padding:.75rem;min-width:280px;box-shadow:0 8px 32px #00000080}.speed-control-popup-slider-row{margin-bottom:.75rem}.speed-control-popup-slider{width:100%;height:.5rem;background:#1e1e3ce6;border-radius:var(--border-radius);outline:none;-webkit-appearance:none;appearance:none;cursor:pointer}.speed-control-popup-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:1rem;height:1rem;background:var(--color-accent);border-radius:50%;cursor:pointer;transition:background-color .15s,transform .15s}.speed-control-popup-slider::-webkit-slider-thumb:hover{background:var(--color-accent-hover, #5588ff);transform:scale(1.1)}.speed-control-popup-slider::-moz-range-thumb{width:1rem;height:1rem;background:var(--color-accent);border:none;border-radius:50%;cursor:pointer;transition:background-color .15s,transform .15s}.speed-control-popup-slider::-moz-range-thumb:hover{background:var(--color-accent-hover, #5588ff);transform:scale(1.1)}.speed-control-popup-slider::-webkit-slider-runnable-track{width:100%;height:.5rem;background:#1e1e3ce6;border-radius:var(--border-radius)}.speed-control-popup-slider::-moz-range-track{width:100%;height:.5rem;background:#1e1e3ce6;border-radius:var(--border-radius)}.speed-control-popup-input-row{display:flex;gap:.5rem}.speed-control-popup-input{flex:1;padding:.5rem .75rem;background:#1e1e3ce6;border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-primary);font-family:var(--font-family-mono);font-size:.9rem}.speed-control-popup-input:focus{outline:none;border-color:var(--color-accent)}.speed-control-popup-apply{padding:.5rem 1rem;background:var(--color-accent);border:none;border-radius:var(--border-radius);color:#fff;font-size:.85rem;cursor:pointer;transition:background-color .15s}.speed-control-popup-apply:hover{background:var(--color-accent-hover, #5588ff)}.speed-control-popup-error{margin-top:.5rem;padding:.375rem .5rem;background:#c8323233;border:1px solid rgba(200,50,50,.5);border-radius:var(--border-radius);color:#f66;font-size:.8rem}.speed-control-popup-help{margin-top:.5rem;color:var(--color-text-secondary);font-size:.75rem;opacity:.8}.speed-control-display{white-space:pre-line}@media (max-width: 768px){.speed-control{height:2rem}.speed-control-btn{width:1.75rem;font-size:.65rem}.speed-control-display{min-width:3.5rem;font-size:.75rem;padding:0 .375rem}}.eclipse-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;z-index:1000}.eclipse-overlay.visible{opacity:1;visibility:visible}.eclipse-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);width:420px;min-width:300px;min-height:250px;max-width:90vw;max-height:85vh;background:#0a0a1af2;border:1px solid var(--color-border, rgba(79, 195, 247, .3));border-radius:var(--border-radius, 8px);box-shadow:0 8px 32px #00000080;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease,transform .2s ease;z-index:1001;display:flex;flex-direction:column;overflow:hidden;resize:both}.eclipse-panel::-webkit-resizer{background:linear-gradient(135deg,transparent 60%,rgba(255,255,255,.15) 60%,rgba(255,255,255,.15) 70%,transparent 70%,transparent 80%,rgba(255,255,255,.15) 80%)}.eclipse-panel.visible{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}.eclipse-panel.dragged,.eclipse-panel.dragged.visible{transform:none}.eclipse-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#4fc3f71a;border-bottom:1px solid var(--color-border, rgba(79, 195, 247, .2));cursor:grab;user-select:none}.eclipse-panel__header:active{cursor:grabbing}.eclipse-panel__title{font-size:16px;font-weight:600;color:var(--color-text-primary, #e0e0e0);margin:0;display:flex;align-items:center;gap:8px}.eclipse-panel__close{background:transparent;border:none;color:var(--color-text-secondary, #9e9e9e);font-size:20px;cursor:pointer;padding:4px 8px;line-height:1;border-radius:4px;transition:background .15s ease,color .15s ease}.eclipse-panel__close:hover{background:#ffffff1a;color:var(--color-text-primary, #e0e0e0)}.eclipse-panel__location{padding:12px 16px;background:#0003;border-bottom:1px solid var(--color-border, rgba(79, 195, 247, .15));font-size:13px;color:var(--color-text-secondary, #9e9e9e)}.eclipse-panel__location-label{color:var(--color-accent, #4fc3f7);margin-right:8px}.eclipse-panel__location-value{font-family:var(--font-family-mono, monospace);color:var(--color-text-primary, #e0e0e0)}.eclipse-panel__content{flex:1;overflow-y:auto;padding:8px 0}.eclipse-section{padding:8px 16px}.eclipse-section__header{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--color-accent, #4fc3f7);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.eclipse-section__icon{font-size:16px}.eclipse-section__divider{height:1px;background:var(--color-border, rgba(79, 195, 247, .15));margin:12px 0}.eclipse-subsection{margin-bottom:12px}.eclipse-subsection__label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted, #757575);margin-bottom:6px}.eclipse-list{display:flex;flex-direction:column;gap:4px}.eclipse-entry{display:flex;align-items:center;padding:8px 12px;background:#ffffff08;border-radius:4px;cursor:pointer;transition:background .15s ease}.eclipse-entry:hover{background:#4fc3f726}.eclipse-entry__date{flex:1;font-family:var(--font-family-mono, monospace);font-size:13px;color:var(--color-text-primary, #e0e0e0)}.eclipse-entry__type{font-size:12px;padding:2px 8px;border-radius:3px;margin-right:12px;text-transform:capitalize}.eclipse-entry__type--total{background:#f4433633;color:#ef9a9a}.eclipse-entry__type--annular{background:#ff980033;color:#ffcc80}.eclipse-entry__type--partial{background:#ffeb3b33;color:#fff59d}.eclipse-entry__type--penumbral{background:#9e9e9e33;color:#bdbdbd}.eclipse-entry__type--hybrid{background:#9c27b033;color:#ce93d8}.eclipse-entry__magnitude{font-size:12px;color:var(--color-text-secondary, #9e9e9e);margin-right:8px;min-width:50px;text-align:right}.eclipse-entry__arrow{color:var(--color-text-muted, #757575);font-size:14px}.eclipse-entry:hover .eclipse-entry__arrow{color:var(--color-accent, #4fc3f7)}.eclipse-panel__loading{display:flex;align-items:center;justify-content:center;padding:24px;color:var(--color-text-secondary, #9e9e9e)}.eclipse-panel__loading-spinner{width:20px;height:20px;border:2px solid var(--color-border, rgba(79, 195, 247, .3));border-top-color:var(--color-accent, #4fc3f7);border-radius:50%;animation:eclipse-spin .8s linear infinite;margin-right:12px}@keyframes eclipse-spin{to{transform:rotate(360deg)}}.eclipse-list--empty{padding:12px;text-align:center;color:var(--color-text-muted, #757575);font-size:13px;font-style:italic}.eclipse-panel__content::-webkit-scrollbar{width:6px}.eclipse-panel__content::-webkit-scrollbar-track{background:transparent}.eclipse-panel__content::-webkit-scrollbar-thumb{background:#4fc3f74d;border-radius:3px}.eclipse-panel__content::-webkit-scrollbar-thumb:hover{background:#4fc3f780}.model-editor-panel{position:absolute;right:16px;bottom:150px;z-index:100;min-width:280px;max-width:320px;pointer-events:auto;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.model-editor-panel__container{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background:#0a0a1af2;border:1px solid var(--color-border);border-radius:var(--border-radius);font-size:var(--font-size-sm);min-width:240px;min-height:200px;overflow:hidden;resize:both}.model-editor-panel__container::-webkit-resizer{background:linear-gradient(135deg,transparent 60%,rgba(255,255,255,.15) 60%,rgba(255,255,255,.15) 70%,transparent 70%,transparent 80%,rgba(255,255,255,.15) 80%)}.model-editor-panel__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(100,100,140,.2);cursor:grab;user-select:none}.model-editor-panel__header:active{cursor:grabbing}.model-editor-panel__title{font-weight:600;font-size:14px}.model-editor-panel__header-controls{display:flex;align-items:center;gap:6px}.model-editor-panel__close-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:4px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:13px;cursor:pointer;transition:background-color .15s ease,color .15s ease;line-height:1}.model-editor-panel__close-btn:hover{background:#ffffff1a;color:var(--color-text-primary, #e0e0e0)}.model-editor-panel__browse-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:4px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:13px;cursor:pointer;transition:background-color .15s ease,color .15s ease;line-height:1}.model-editor-panel__browse-btn:hover{background:#ffffff1a;color:var(--color-text-primary, #e0e0e0)}.model-editor-panel__browse-dropdown{max-height:200px;overflow-y:auto;margin-bottom:8px;border:1px solid rgba(100,100,140,.3);border-radius:4px;background:#141428f2;scrollbar-width:thin;scrollbar-color:rgba(100,100,140,.4) transparent}.model-editor-panel__browse-item{display:flex;align-items:center;gap:6px;padding:6px 10px;cursor:pointer;transition:background-color .1s ease;border-bottom:1px solid rgba(100,100,140,.1)}.model-editor-panel__browse-item:last-child{border-bottom:none}.model-editor-panel__browse-item:hover{background:#00b4b426}.model-editor-panel__browse-item--loaded{background:#00b4b40f}.model-editor-panel__browse-name{flex:1;font-size:12px;color:var(--color-text-primary, #e0e0e0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.model-editor-panel__browse-badge{font-size:9px;color:#0cc;background:#00b4b433;padding:1px 5px;border-radius:3px;flex-shrink:0}.model-editor-panel__browse-empty{font-size:11px;color:var(--color-text-secondary, #888);padding:8px 10px;font-style:italic}.model-editor-panel__section{margin-bottom:10px}.model-editor-panel__label{font-size:11px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.model-editor-panel__model-list{display:flex;flex-direction:column;gap:1px;margin-bottom:10px}.model-editor-panel__model-row{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:4px;cursor:pointer;transition:background-color .1s ease;border-left:2px solid transparent}.model-editor-panel__model-row:hover{background:#ffffff0f}.model-editor-panel__model-row--selected{background:#00b4b41f;border-left-color:#0cc}.model-editor-panel__model-eye{width:20px;height:20px;border:none;background:transparent;cursor:pointer;font-size:13px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:3px;transition:background-color .1s ease;flex-shrink:0}.model-editor-panel__model-eye:hover{background:#ffffff1a}.model-editor-panel__model-eye--visible{color:#8f8}.model-editor-panel__model-eye--hidden{color:#666;opacity:.5}.model-editor-panel__model-name{flex:1;font-size:12px;color:var(--color-text-primary, #e0e0e0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.model-editor-panel__model-empty{font-size:11px;color:var(--color-text-secondary, #888);padding:4px 8px;font-style:italic}.model-editor-panel__state-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.model-editor-panel__state-tab{padding:4px 10px;border:1px solid var(--color-border);border-radius:4px;background:#1e1e32cc;color:var(--color-text-secondary);font-size:11px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.model-editor-panel__state-tab:hover{background:#3c3c5ae6;color:#fff}.model-editor-panel__state-tab--active{background:#00b4b440;border-color:#0cc;color:#0ff}.model-editor-panel__state-tab--add{background:#64648c33;color:#ffffff80;border-style:dashed;min-width:28px;text-align:center}.model-editor-panel__state-tab--add:hover{background:#64c89633;color:#8fa;border-color:#8fa}.model-editor-panel__state-actions{display:flex;gap:4px;margin-bottom:8px}.model-editor-panel__state-action-btn{flex:1;padding:3px 8px;border:1px solid rgba(100,100,140,.3);border-radius:3px;background:#28283c99;color:var(--color-text-secondary);font-size:10px;cursor:pointer;transition:all .15s ease}.model-editor-panel__state-action-btn:hover{background:#3c3c5acc;color:#fff}.model-editor-panel__step-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.model-editor-panel__step-label{font-size:11px;color:var(--color-text-secondary)}.model-editor-panel__step-indicator{font-weight:600;font-size:12px;padding:2px 8px;border-radius:4px;cursor:pointer;transition:all .15s ease;user-select:none;background:#6495ed4d;color:#8cf}.model-editor-panel__step-indicator:hover{filter:brightness(1.3)}.model-editor-panel__step-indicator:active{transform:scale(.95)}.model-editor-panel__step-indicator--fine{background:#64c8964d;color:#8fa}.model-editor-panel__step-indicator--normal{background:#6495ed4d;color:#8cf}.model-editor-panel__step-indicator--coarse{background:#edb4644d;color:#fc8}.model-editor-panel__step-indicator--extraCoarse{background:#ed64644d;color:#f88}.model-editor-panel__step-hint{font-size:10px;color:#fff6;margin-left:auto}.model-editor-panel__clip-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.model-editor-panel__clip-label{font-size:11px;color:var(--color-text-secondary)}.model-editor-panel__clip-indicator{font-weight:600;font-size:12px;padding:2px 8px;border-radius:4px;cursor:pointer;transition:all .15s ease;user-select:none;background:#6495ed4d;color:#8cf}.model-editor-panel__clip-indicator:hover{filter:brightness(1.3)}.model-editor-panel__clip-indicator:active{transform:scale(.95)}.model-editor-panel__clip-indicator--auto{background:#6495ed4d;color:#8cf}.model-editor-panel__clip-indicator--polygon{background:#64c8964d;color:#8fa}.model-editor-panel__clip-indicator--plane{background:#edb4644d;color:#fc8}.model-editor-panel__clip-indicator--depth-off{background:#ed8c644d;color:#fa7}.model-editor-panel__clip-indicator--disabled{background:#78788c4d;color:#999}.model-editor-panel__clip-indicator--unsaved{outline:1px dashed rgba(255,204,0,.6);outline-offset:1px}.model-editor-panel__lightness-row{display:flex;align-items:center;gap:8px;padding:0 var(--spacing-sm)}.model-editor-panel__lightness-label{font-size:.8rem;color:var(--color-text-secondary, #aaa);min-width:60px}.model-editor-panel__lightness-slider{flex:1;accent-color:#4fc3f7;height:4px}.model-editor-panel__lightness-value{font-size:.8rem;color:#fc0;min-width:36px;text-align:right}.model-editor-panel__offsets{background:#0000004d;border-radius:4px;padding:8px}.model-editor-panel__offset-row{display:flex;justify-content:space-between;margin-bottom:4px}.model-editor-panel__offset-row:last-child{margin-bottom:0}.model-editor-panel__offset{font-family:var(--font-family-mono);font-size:11px;color:var(--color-text-secondary)}.model-editor-panel__offset-value{color:#fc0;font-weight:500}.model-editor-panel__offset--hidden{color:#f66}.model-editor-panel__save-status{font-size:11px;text-align:center;padding:3px 0;margin-bottom:4px}.model-editor-panel__save-status--unsaved{color:#fc0}.model-editor-panel__save-status--saved{color:#6c6}.model-editor-panel__save-status--none{color:#ffffff4d}.model-editor-panel__actions{display:flex;flex-wrap:wrap;gap:6px}.model-editor-panel__action-btn{flex:1;min-width:70px;padding:6px 12px;border:1px solid var(--color-border);border-radius:4px;background:#28283ccc;color:#ccc;font-size:11px;cursor:pointer;transition:all .15s ease}.model-editor-panel__action-btn:hover:not(:disabled){background:#3c3c5ae6;color:#fff}.model-editor-panel__action-btn:disabled{opacity:.4;cursor:not-allowed}.model-editor-panel__action-btn--apply{background:#00b4b44d;border-color:#0cc;color:#0ff}.model-editor-panel__action-btn--apply:hover:not(:disabled){background:#00c8c880}.model-editor-panel__action-btn--undo{background:#b478004d;border-color:#c90;color:#fc0}.model-editor-panel__action-btn--redo{background:#7878b44d;border-color:#88c;color:#aaf}.model-editor-panel__action-btn--tool{background:#6464c84d;border-color:#88c;color:#aaf}.model-editor-panel__tools{margin-top:4px;padding-top:8px;border-top:1px solid rgba(100,100,140,.2)}.model-editor-panel__tools-label{font-size:10px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.model-editor-panel__tools-row{display:flex;gap:6px;margin-bottom:6px}.model-editor-panel__action-btn--danger{background:#c83c3c4d;border-color:#c44;color:#f88}.model-editor-panel__action-btn--danger:hover:not(:disabled){background:#dc505080;color:#faa}.model-editor-panel__hotkey-hint{font-size:10px;color:var(--color-text-secondary);margin-top:6px}.model-editor-panel__hotkey-hint kbd{display:inline-block;padding:1px 5px;font-family:var(--font-family-mono, monospace);font-size:10px;color:#ddd;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:3px}.compass-band{position:fixed;top:var(--header-height);left:0;width:100%;height:48px;background:#0a0a1ad9;backdrop-filter:blur(8px);border:1px solid var(--color-border);border-radius:0;border-top:none;z-index:5;pointer-events:none;overflow:hidden}.compass-band__strip{position:relative;width:100%;height:100%}.compass-band__cardinal{position:absolute;top:50%;transform:translate(-50%,-50%);font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500;white-space:nowrap}.compass-band__cardinal.major{font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:600}.compass-band__tick{position:absolute;top:50%;transform:translate(-50%,-50%);width:1px;height:12px;background:var(--color-text-muted)}.compass-band__center-line{position:absolute;top:50%;bottom:4px;left:50%;transform:translate(-50%);width:2px;background:var(--color-accent);z-index:2}.compass-band__heading{position:absolute;top:4px;left:50%;transform:translate(-50%);font-size:var(--font-size-xs);font-family:var(--font-family-mono);color:var(--color-accent);font-weight:600;z-index:3;background:#0a0a1ad9;padding:0 4px;line-height:1.2}.compass-band__celestial{position:absolute;top:50%;transform:translate(-50%,-50%);font-size:18px;z-index:1}.compass-band__celestial--sun{color:gold;text-shadow:0 0 8px rgba(255,215,0,.6)}.compass-band__celestial--moon{color:#e0e0e0;text-shadow:0 0 6px rgba(224,224,224,.5)}.celestial-debug-overlay{position:fixed;top:80px;right:16px;width:380px;max-height:calc(100vh - 100px);background:#0a0a14f2;border:1px solid rgba(255,255,255,.2);border-radius:8px;box-shadow:0 4px 24px #0009;font-family:var(--font-family-mono, "Courier New", monospace);font-size:11px;z-index:var(--z-panel, 20);color:#ffffffe6;overflow:hidden;display:flex;flex-direction:column}.celestial-debug-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1);background:#0000004d}.celestial-debug-header h3{margin:0;font-size:13px;font-weight:600;color:#fffffff2;letter-spacing:.5px}.celestial-debug-close{background:transparent;border:none;color:#ffffffb3;font-size:20px;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s,color .2s}.celestial-debug-close:hover{background:#ffffff1a;color:#ffffffe6}.celestial-debug-content{flex:1;overflow-y:auto;padding:12px 16px}.celestial-debug-content::-webkit-scrollbar{width:6px}.celestial-debug-content::-webkit-scrollbar-track{background:#0003}.celestial-debug-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.celestial-debug-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.sun-debug-section,.moon-debug-section{margin-bottom:16px}.sun-debug-section:last-child,.moon-debug-section:last-child{margin-bottom:0}.sun-debug-section h4,.moon-debug-section h4{margin:0 0 8px;font-size:12px;font-weight:600;color:#fffffff2;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.1)}.celestial-debug-data{display:flex;flex-direction:column;gap:2px}.debug-row{display:flex;justify-content:space-between;padding:2px 0;align-items:baseline}.debug-label{color:#fff9;min-width:110px;font-size:10px}.debug-value{color:#ffffffe6;text-align:right;font-variant-numeric:tabular-nums;font-size:10px;word-break:break-all}.discrepancy-good{color:#4ecdc4!important}.discrepancy-ok{color:#ffd93d!important}.discrepancy-bad{color:#ff6b6b!important}.celestial-debug-footer{padding:8px 16px;border-top:1px solid rgba(255,255,255,.1);background:#0003}.celestial-debug-legend{display:flex;gap:12px;justify-content:center;font-size:9px;color:#fff9}.legend-item{display:flex;align-items:center;gap:4px}.legend-color{display:inline-block;width:10px;height:10px;border-radius:2px;border:1px solid rgba(255,255,255,.2)}.legend-color.discrepancy-good{background:#4ecdc4}.legend-color.discrepancy-ok{background:#ffd93d}.legend-color.discrepancy-bad{background:#ff6b6b}.celestial-debug-recording{display:flex;align-items:center;gap:8px;padding:8px 0;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}.record-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#ffffffe6;cursor:pointer;font-family:inherit;font-size:11px;transition:all .2s ease}.record-btn:hover{background:#ffffff26}.record-btn.recording{background:#ff50504d;border-color:#ff505099}.record-btn.recording .record-icon{color:#f44;animation:pulse-record 1s infinite}.record-icon{font-size:12px;color:#ffffffb3}.record-label{font-size:11px}@keyframes pulse-record{0%,to{opacity:1}50%{opacity:.4}}.record-status{flex:1;font-size:11px;color:#fff9}.download-btn{padding:4px 10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#ffffffe6;cursor:pointer;font-family:inherit;font-size:11px;transition:all .2s ease}.download-btn:hover:not(:disabled){background:#ffffff26}.download-btn:disabled{opacity:.4;cursor:not-allowed}.model-editor-hotkey-panel{position:fixed;top:80px;right:350px;width:260px;max-height:calc(100vh - 100px);background:#0a0a14eb;border:1px solid rgba(255,255,255,.15);border-radius:8px;box-shadow:0 4px 24px #0009;font-family:var(--font-family-base, system-ui, sans-serif);font-size:12px;z-index:var(--z-panel, 20);color:#ffffffe6;overflow:hidden;display:flex;flex-direction:column;pointer-events:auto}.hotkey-panel__header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.1);background:#0000004d;cursor:grab;user-select:none}.hotkey-panel__header:active{cursor:grabbing}.hotkey-panel__title{font-size:13px;font-weight:600;color:#fffffff2;letter-spacing:.3px}.hotkey-panel__close{background:transparent;border:none;color:#fff9;font-size:20px;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s,color .2s}.hotkey-panel__close:hover{background:#ffffff1a;color:#ffffffe6}.hotkey-panel__step-indicator{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#0003;border-bottom:1px solid rgba(255,255,255,.08)}.hotkey-panel__step-label{color:#fff9;font-size:11px}.hotkey-panel__step-level{font-weight:600;font-size:13px;padding:2px 8px;border-radius:4px;background:#6495ed4d;color:#8cf}.hotkey-panel__step-level--fine{background:#64c8964d;color:#8fa}.hotkey-panel__step-level--normal{background:#6495ed4d;color:#8cf}.hotkey-panel__step-level--coarse{background:#edb4644d;color:#fc8}.hotkey-panel__step-level--extraCoarse{background:#ed64644d;color:#f88}.hotkey-panel__step-hint{color:#fff6;font-size:10px;margin-left:auto}.hotkey-panel__step-details{padding:6px 12px;background:#00000026;border-bottom:1px solid rgba(255,255,255,.08);font-size:10px;color:#ffffff80;font-family:var(--font-family-mono, monospace)}.hotkey-panel__content{flex:1;overflow-y:auto;padding:8px 0}.hotkey-panel__content::-webkit-scrollbar{width:6px}.hotkey-panel__content::-webkit-scrollbar-track{background:#0003}.hotkey-panel__content::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.hotkey-panel__content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.hotkey-panel__group{margin-bottom:8px}.hotkey-panel__group:last-child{margin-bottom:0}.hotkey-panel__group-title{padding:4px 12px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#ffffff80;background:#0003}.hotkey-panel__hotkey{display:flex;align-items:center;gap:10px;padding:4px 12px}.hotkey-panel__hotkey:hover{background:#ffffff0d}.hotkey-panel__key{display:inline-block;min-width:50px;padding:2px 6px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;font-family:var(--font-family-mono, monospace);font-size:10px;color:#ffffffe6;text-align:center}.hotkey-panel__desc{font-size:11px;color:#ffffffb3}.hotkey-panel__footer{padding:8px 12px;border-top:1px solid rgba(255,255,255,.1);background:#0003;font-size:10px;color:#ffffff80;text-align:center}.hotkey-panel__footer kbd{padding:1px 4px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:3px;font-family:var(--font-family-mono, monospace)}:root{--location-btn-height: 32px}.cesium-viewer-geocoderContainer{position:fixed!important;top:calc(var(--header-height) + var(--spacing-md))!important;right:calc(var(--spacing-md) + var(--location-btn-height) + var(--spacing-sm))!important;z-index:var(--z-ui)!important;margin:0!important;display:block!important}.cesium-viewer-geocoderContainer form{display:flex;align-items:center;height:var(--location-btn-height);margin:0;padding:0}.cesium-viewer-geocoderContainer .cesium-geocoder-input{background:var(--color-bg-secondary)!important;border:1px solid var(--color-border)!important;border-right:none!important;border-radius:var(--border-radius) 0 0 var(--border-radius)!important;color:var(--color-text-primary)!important;font-family:var(--font-family)!important;font-size:var(--font-size-sm)!important;height:var(--location-btn-height)!important;padding:0 var(--spacing-sm)!important;width:180px!important;margin:0!important;vertical-align:top!important;box-shadow:none!important;transition:border-color var(--transition-fast),width ease-in-out .25s!important}.cesium-viewer-geocoderContainer .cesium-geocoder-input::placeholder{color:var(--color-text-muted)}.cesium-viewer-geocoderContainer:hover .cesium-geocoder-input,.cesium-viewer-geocoderContainer .cesium-geocoder-input:focus{border-color:var(--color-accent)!important;box-shadow:none!important;width:180px!important}.cesium-geocoder-searchButton{position:relative!important;top:0!important;right:0!important;display:flex!important;align-items:center!important;justify-content:center!important;width:var(--location-btn-height)!important;height:var(--location-btn-height)!important;background:var(--color-bg-secondary)!important;border:1px solid var(--color-border)!important;border-left:none!important;border-radius:0 var(--border-radius) var(--border-radius) 0!important;color:var(--color-text-secondary)!important;cursor:pointer!important;padding:0!important;margin:0!important;vertical-align:top!important;fill:currentColor!important;transition:background var(--transition-fast),color var(--transition-fast)!important}.cesium-geocoder-searchButton:hover{background:var(--color-bg-tertiary)!important;color:var(--color-text-primary)!important}.cesium-geocoder-searchButton svg{width:16px!important;height:16px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}.cesium-viewer-geocoderContainer .search-results,.cesium-geocoder-results{background:var(--color-bg-secondary)!important;border:1px solid var(--color-border)!important;border-top:none!important;border-radius:0 0 var(--border-radius) var(--border-radius)!important;max-height:300px!important;overflow-y:auto!important;opacity:1!important}.cesium-viewer-geocoderContainer .search-results ul li,.cesium-geocoder-resultItem{color:var(--color-text-secondary)!important;cursor:pointer!important;font-family:var(--font-family)!important;font-size:var(--font-size-sm)!important;padding:var(--spacing-sm) var(--spacing-md)!important;transition:background var(--transition-fast),color var(--transition-fast)!important;border-bottom:1px solid var(--color-border)!important}.cesium-viewer-geocoderContainer .search-results ul li:last-child,.cesium-geocoder-resultItem:last-child{border-bottom:none!important}.cesium-viewer-geocoderContainer .search-results ul li:hover,.cesium-geocoder-resultItem:hover{background:var(--color-bg-tertiary)!important;color:var(--color-text-primary)!important}.cesium-viewer-geocoderContainer .search-results ul li.active,.cesium-geocoder-resultItem.cesium-geocoder-selected{background:var(--color-accent)!important;color:var(--color-bg-primary)!important}.cesium-viewer-geocoderContainer .search-results::-webkit-scrollbar,.cesium-geocoder-results::-webkit-scrollbar{width:6px}.cesium-viewer-geocoderContainer .search-results::-webkit-scrollbar-track,.cesium-geocoder-results::-webkit-scrollbar-track{background:var(--color-bg-secondary)}.cesium-viewer-geocoderContainer .search-results::-webkit-scrollbar-thumb,.cesium-geocoder-results::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.gestirne-locate-btn{position:fixed;top:calc(var(--header-height) + var(--spacing-md));right:var(--spacing-md);z-index:var(--z-ui);display:flex;align-items:center;justify-content:center;width:var(--location-btn-height);height:var(--location-btn-height);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.gestirne-locate-btn:hover{background:var(--color-bg-tertiary);border-color:var(--color-accent);color:var(--color-text-primary)}.gestirne-locate-btn:active{transform:scale(.95)}.gestirne-locate-btn.locating{color:var(--color-accent);animation:pulse 1s ease-in-out infinite}.gestirne-locate-btn.error{color:var(--color-error);border-color:var(--color-error)}.gestirne-locate-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.wheel-picker{--wheel-item-height: 44px;--wheel-visible-items: 5;--wheel-mask-size: 25%;--wheel-bg: rgba(30, 30, 60, .95);--wheel-border: var(--color-border);--wheel-highlight-bg: rgba(74, 158, 255, .1);--wheel-text: var(--color-text-secondary);--wheel-text-selected: var(--color-text-primary);position:relative;width:100%;min-width:100px;overflow:hidden;background:var(--wheel-bg);border:1px solid var(--wheel-border);border-radius:var(--border-radius-lg);touch-action:pan-y;user-select:none;cursor:pointer;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.3) 10%,black var(--wheel-mask-size),black calc(100% - var(--wheel-mask-size)),rgba(0,0,0,.3) 90%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.3) 10%,black var(--wheel-mask-size),black calc(100% - var(--wheel-mask-size)),rgba(0,0,0,.3) 90%,transparent 100%)}.wheel-picker:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #4a9eff40}.wheel-picker:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.wheel-picker__highlight{position:absolute;left:0;right:0;top:calc(50% - var(--wheel-item-height) / 2);height:var(--wheel-item-height);background:var(--wheel-highlight-bg);border-top:1px solid rgba(74,158,255,.3);border-bottom:1px solid rgba(74,158,255,.3);pointer-events:none;z-index:1}.wheel-picker__track{position:relative;width:100%;will-change:transform}.wheel-picker--virtualized .wheel-picker__track{position:relative}.wheel-picker__item{display:flex;align-items:center;justify-content:center;padding:0 var(--spacing-md);font-family:var(--font-family);font-size:var(--font-size-md);color:var(--wheel-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s ease,opacity .15s ease,transform .15s ease;cursor:pointer}.wheel-picker__item:hover:not(.wheel-picker__item--selected):not(.wheel-picker__item--disabled){color:var(--wheel-text-selected)}.wheel-picker__item--selected{color:var(--wheel-text-selected);font-weight:500}.wheel-picker__item--disabled{opacity:.35;cursor:not-allowed}.wheel-picker--small{--wheel-item-height: 36px}.wheel-picker--small .wheel-picker__item{font-size:var(--font-size-sm)}.wheel-picker--large{--wheel-item-height: 52px}.wheel-picker--large .wheel-picker__item{font-size:var(--font-size-lg)}.wheel-picker--compact{--wheel-visible-items: 3;--wheel-mask-size: 20%}.wheel-picker--expanded{--wheel-visible-items: 7;--wheel-mask-size: 30%}.wheel-picker-group{display:flex;gap:4px;background:#141432cc;padding:4px;border-radius:calc(var(--border-radius-lg) + 4px);border:1px solid var(--color-border)}.wheel-picker-group .wheel-picker{border-radius:var(--border-radius)}.wheel-picker-date{display:flex;gap:4px}.wheel-picker-date .wheel-picker--month{flex:1.5;min-width:100px}.wheel-picker-date .wheel-picker--day,.wheel-picker-date .wheel-picker--year{flex:1;min-width:70px}@keyframes wheel-picker-snap{0%{transform:translateY(var(--snap-from))}to{transform:translateY(var(--snap-to))}}@media (prefers-reduced-motion: reduce){.wheel-picker__track,.wheel-picker__item{transition:none!important}}@media (prefers-color-scheme: dark){.wheel-picker{--wheel-bg: rgba(20, 20, 40, .95)}}@media (hover: none) and (pointer: coarse){.wheel-picker{--wheel-item-height: 48px}.wheel-picker__item:hover{color:var(--wheel-text)}}@media (forced-colors: active){.wheel-picker{border:2px solid ButtonText}.wheel-picker__highlight{background:Highlight;border-color:HighlightText}.wheel-picker__item--selected{color:HighlightText}}.wheel-picker-demo{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-lg);max-width:800px;margin:0 auto}.wheel-picker-demo__section{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-md)}.wheel-picker-demo__section h3{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-secondary)}.wheel-picker-demo__row{display:flex;gap:var(--spacing-md);flex-wrap:wrap;align-items:center}.wheel-picker-demo__controls{display:flex;flex-direction:column;gap:var(--spacing-sm)}.wheel-picker-demo__controls label{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.wheel-picker-demo__controls input[type=range]{width:150px}.wheel-picker-demo__output{font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-accent);padding:var(--spacing-sm);background:#4a9eff1a;border-radius:var(--border-radius)}.datetime-picker-backdrop{position:fixed;inset:0;z-index:9999;background:transparent}.datetime-picker-popover{position:fixed;z-index:10000;background:#0f0f23fa;border:1px solid rgba(100,150,255,.3);border-radius:12px;padding:16px;box-shadow:0 8px 32px #00000080,0 0 0 1px #ffffff0d inset;backdrop-filter:blur(12px);min-width:340px;max-width:400px}.datetime-picker-input-section{margin-bottom:16px}.datetime-picker-text-input{width:100%;padding:10px 14px;font-family:var(--font-family-mono, "SF Mono", "Monaco", "Consolas", monospace);font-size:15px;color:var(--color-text-primary, #fff);background:#1e1e3ccc;border:1px solid rgba(100,150,255,.3);border-radius:8px;text-align:center;outline:none;transition:border-color .2s,box-shadow .2s}.datetime-picker-text-input:focus{border-color:#6496ff99;box-shadow:0 0 0 3px #6496ff26}.datetime-picker-text-input::placeholder{color:#ffffff4d;font-size:12px}.datetime-picker-wheels-section{display:flex;justify-content:center;gap:8px;margin-bottom:12px}.datetime-picker-wheel-wrapper{display:flex;flex-direction:column;align-items:center;flex-shrink:0;overflow:hidden}.datetime-picker-wheel-label{font-size:11px;font-weight:500;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.datetime-picker-wheel-container{width:100%;height:180px;background:#14142d99;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}.datetime-picker-wheel-container .wheel-picker{background:transparent;min-width:unset;width:100%;border:none}.datetime-picker-wheel-container .wheel-picker__viewport{background:transparent}.datetime-picker-wheel-container .wheel-picker__item{font-size:14px;color:#fff6;transition:color .15s,transform .15s;padding:0 4px}.datetime-picker-wheel-container .wheel-picker__item--selected{color:#fff;font-weight:500}.datetime-picker-wheel-container .wheel-picker__highlight{background:#6496ff26;border-top:1px solid rgba(100,150,255,.3);border-bottom:1px solid rgba(100,150,255,.3)}.datetime-picker-hint{font-size:11px;color:#ffffff59;text-align:center;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}@keyframes datetime-picker-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.datetime-picker-popover{animation:datetime-picker-fade-in .15s ease-out}@media (max-width: 400px){.datetime-picker-popover{min-width:300px;padding:12px}.datetime-picker-wheels-section{gap:4px}.datetime-picker-wheel-wrapper{width:auto!important;flex:1;min-width:45px}.datetime-picker-wheel-container{height:160px}.datetime-picker-wheel-label{font-size:10px}}@media (prefers-reduced-motion: reduce){.datetime-picker-popover{animation:none}}.time-picker-popover{position:fixed;z-index:10000;background:#0f0f23fa;border:1px solid rgba(100,150,255,.3);border-radius:12px;padding:16px;box-shadow:0 8px 32px #00000080,0 0 0 1px #ffffff0d inset;backdrop-filter:blur(12px);width:180px;animation:time-picker-fade-in .15s ease-out}.time-picker-wheels-section{display:flex;justify-content:center;align-items:flex-start;gap:4px;margin-bottom:12px}.time-picker-wheel-wrapper{display:flex;flex-direction:column;align-items:center;width:60px;overflow:hidden}.time-picker-separator{display:flex;align-items:center;font-size:24px;font-weight:300;color:#ffffff80;padding-top:24px;height:180px;user-select:none}@keyframes time-picker-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.time-picker-popover{animation:none}}.sonification-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;z-index:1000}.sonification-overlay.visible{opacity:1;visibility:visible}.sonification-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);width:880px;min-width:400px;min-height:300px;max-width:95vw;max-height:90vh;background:#0a0a1af2;border:1px solid var(--color-border, rgba(79, 195, 247, .3));border-radius:var(--border-radius-lg, 8px);box-shadow:0 8px 32px #00000080;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease,transform .2s ease;z-index:1001;display:flex;flex-direction:column;overflow-y:auto;resize:both}.sonification-panel::-webkit-resizer{background:linear-gradient(135deg,transparent 60%,rgba(255,255,255,.15) 60%,rgba(255,255,255,.15) 70%,transparent 70%,transparent 80%,rgba(255,255,255,.15) 80%)}.sonification-panel.visible{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}.sonification-panel.dragged,.sonification-panel.dragged.visible{transform:none}.sonification-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#4fc3f71a;border-bottom:1px solid var(--color-border, rgba(79, 195, 247, .2));flex-shrink:0;cursor:grab;user-select:none}.sonification-panel__header:active{cursor:grabbing}.sonification-panel__title{font-size:16px;font-weight:600;color:var(--color-text-primary, #e0e0e0);margin:0;display:flex;align-items:center;gap:8px}.sonification-panel__close{background:transparent;border:none;color:var(--color-text-secondary, #9e9e9e);font-size:20px;cursor:pointer;padding:4px 8px;line-height:1;border-radius:4px;transition:background .15s ease,color .15s ease}.sonification-panel__close:hover{background:#ffffff1a;color:var(--color-text-primary, #e0e0e0)}.sonification-panel__section{padding:10px 16px;border-bottom:1px solid var(--color-border, rgba(79, 195, 247, .1))}.sonification-panel__section:last-child{border-bottom:none}.sonification-panel__label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted, #757575);margin-bottom:6px}.sonification-panel__playback{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sonification-panel__play-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#4fc3f726;border:1px solid rgba(79,195,247,.3);border-radius:6px;color:var(--color-accent, #4fc3f7);cursor:pointer;font-family:inherit;font-size:14px;transition:all .15s ease}.sonification-panel__play-btn:hover{background:#4fc3f740}.sonification-panel__play-btn--active{background:#4fc3f74d;border-color:var(--color-accent, #4fc3f7)}.sonification-panel__play-icon{font-size:12px}.sonification-panel__preset-name{font-size:13px;color:var(--color-text-secondary, #9e9e9e)}.sonification-panel__volume-row{display:flex;align-items:center;gap:8px;margin-left:auto}.sonification-panel__volume-label{font-size:11px;color:var(--color-text-muted, #757575);text-transform:uppercase;letter-spacing:.5px}.sonification-panel__volume-slider{width:80px;height:4px;-webkit-appearance:none;appearance:none;background:#ffffff1a;border-radius:2px;outline:none}.sonification-panel__volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--color-accent, #4fc3f7);cursor:pointer}.sonification-panel__volume-value{font-size:12px;font-family:var(--font-family-mono, monospace);color:var(--color-text-secondary, #9e9e9e);min-width:36px;text-align:right}.sonification-panel__preset-select{width:100%;padding:6px 8px;background:#0000004d;border:1px solid var(--color-border, rgba(79, 195, 247, .2));border-radius:4px;color:var(--color-text-primary, #e0e0e0);font-family:inherit;font-size:13px;cursor:pointer}.sonification-panel__preset-select:focus{outline:none;border-color:var(--color-accent, #4fc3f7)}.sonification-panel__routing-section{padding:10px 12px}.sonification-panel__routing-header{display:flex;align-items:center;justify-content:space-between}.sonification-panel__routing-actions{display:flex;gap:4px}.sonification-panel__routing-action{padding:2px 8px;background:transparent;border:1px solid rgba(79,195,247,.2);border-radius:3px;color:var(--color-text-muted, #757575);font-family:inherit;font-size:10px;cursor:pointer;transition:all .15s ease}.sonification-panel__routing-action:hover{color:var(--color-text-secondary, #9e9e9e);border-color:#4fc3f766;background:#4fc3f70d}.sonification-routing-matrix{display:flex;flex-direction:column;gap:2px;overflow-x:auto}.sonification-routing-matrix__header{display:grid;grid-template-columns:90px repeat(6,1fr);gap:3px;padding-bottom:4px;border-bottom:1px solid rgba(79,195,247,.1)}.sonification-routing-matrix__col-label{font-size:10px;text-transform:uppercase;letter-spacing:.3px;color:var(--color-text-muted, #757575);text-align:center;padding:2px 0;cursor:pointer;user-select:none;display:flex;align-items:center;justify-content:center;gap:2px;transition:color .15s ease}.sonification-routing-matrix__col-label:hover{color:var(--color-text-secondary, #9e9e9e)}.sonification-routing-matrix__col-arrow{font-size:8px;transition:transform .2s ease}.sonification-routing-matrix__col-label.collapsed .sonification-routing-matrix__col-arrow{transform:rotate(-90deg)}.sonification-routing-matrix__col-label.collapsed .sonification-routing-matrix__col-text{opacity:.5}.sonification-routing-matrix__cell.collapsed{visibility:hidden;overflow:hidden;max-width:0;padding:0;gap:0}.sonification-routing-matrix__col-label.collapsed{max-width:30px;overflow:hidden}.sonification-routing-matrix__row{display:grid;grid-template-columns:90px repeat(6,1fr);gap:3px;align-items:center;padding:2px 0}.sonification-routing-matrix__row:hover{background:#4fc3f708;border-radius:3px}.sonification-routing-matrix__row-label{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden}.sonification-routing-matrix__symbol{font-size:14px;flex-shrink:0}.sonification-routing-matrix__name{overflow:hidden;text-overflow:ellipsis}.sonification-routing-matrix__cell{min-width:0;display:flex;flex-direction:row;align-items:center;gap:2px}.sonification-routing-matrix__select{flex:1;min-width:0;padding:3px 2px;background:#0000004d;border:1px solid rgba(79,195,247,.15);border-radius:3px;color:var(--color-text-primary, #e0e0e0);font-family:inherit;font-size:10px;cursor:pointer;text-overflow:ellipsis}.sonification-routing-matrix__select:focus{outline:none;border-color:var(--color-accent, #4fc3f7)}.sonification-routing-matrix__manual-slider{flex:1;min-width:0;height:4px;-webkit-appearance:none;appearance:none;background:#ffffff14;border-radius:2px;outline:none;cursor:pointer}.sonification-routing-matrix__manual-slider::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;border-radius:50%;background:var(--color-accent, #4fc3f7);cursor:grab;border:none}.sonification-routing-matrix__manual-slider::-webkit-slider-thumb:active{cursor:grabbing;background:#81d4fa}.sonification-routing-matrix__manual-slider::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:var(--color-accent, #4fc3f7);cursor:grab;border:none}.sonification-routing-matrix__manual-select{width:42px;flex-shrink:0;padding:3px 2px;background:#0006;border:1px solid rgba(79,195,247,.25);border-radius:3px;color:var(--color-accent, #4fc3f7);font-family:var(--font-family-mono, monospace);font-size:9px;text-align:center;cursor:pointer}.sonification-routing-matrix__manual-select:focus{outline:none;border-color:var(--color-accent, #4fc3f7)}.sonification-panel__voice-list{display:flex;flex-direction:column;gap:4px}.sonification-voice-row{display:flex;align-items:center;gap:8px;padding:3px 0}.sonification-voice-row__name{font-size:11px;font-weight:500;min-width:80px;white-space:nowrap}.sonification-voice-row__bars{flex:1;display:flex;flex-direction:column;gap:2px}.sonification-voice-row__bar-group{display:flex;flex-direction:column;gap:1px}.sonification-voice-row__bar-track{height:3px;background:#ffffff0d;border-radius:2px;overflow:hidden}.sonification-voice-row__bar{height:100%;border-radius:2px;transition:width .1s ease}.sonification-voice-row__bar--freq{background:var(--color-accent, #4fc3f7)}.sonification-voice-row__bar--gain{background:var(--color-success, #4ecdc4)}.sonification-voice-row__pan-track{height:5px;background:#ffffff0d;border-radius:3px;position:relative}.sonification-voice-row__pan-indicator{position:absolute;top:0;left:50%;width:5px;height:5px;background:#fff;border-radius:50%;transform:translate(-50%);transition:left .1s ease}.sonification-voice-row__state{font-size:10px;font-family:var(--font-family-mono, monospace);color:var(--color-text-muted, #757575);min-width:45px;text-align:right}.sonification-panel__toggle-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-secondary, #9e9e9e);cursor:pointer}.sonification-panel__toggle-row input[type=checkbox]{accent-color:var(--color-accent, #4fc3f7)}.sonification-panel__export-controls{display:flex;flex-direction:column;gap:8px}.sonification-panel__export-row{display:flex;align-items:center;gap:8px}.sonification-panel__export-row label{font-size:12px;color:var(--color-text-secondary, #9e9e9e);min-width:70px}.sonification-panel__export-row input[type=number]{flex:1;padding:4px 8px;background:#0000004d;border:1px solid var(--color-border, rgba(79, 195, 247, .2));border-radius:4px;color:var(--color-text-primary, #e0e0e0);font-family:var(--font-family-mono, monospace);font-size:12px}.sonification-panel__export-row input[type=number]:focus{outline:none;border-color:var(--color-accent, #4fc3f7)}.sonification-panel__export-btn{padding:8px 16px;background:#4fc3f726;border:1px solid rgba(79,195,247,.3);border-radius:6px;color:var(--color-accent, #4fc3f7);cursor:pointer;font-family:inherit;font-size:13px;transition:all .15s ease}.sonification-panel__export-btn:hover{background:#4fc3f740}.sonification-panel__export-btn:disabled{opacity:.5;cursor:not-allowed}.sonification-panel__export-progress-container{display:flex;align-items:center;gap:8px}.sonification-panel__export-progress-bar{flex:1;height:6px;background:#ffffff0d;border-radius:3px;overflow:hidden}.sonification-panel__export-progress-fill{height:100%;background:var(--color-accent, #4fc3f7);border-radius:3px;width:0%;transition:width .2s ease}.sonification-panel__export-progress-text{font-size:11px;font-family:var(--font-family-mono, monospace);color:var(--color-text-muted, #757575);min-width:30px}.sonification-panel::-webkit-scrollbar{width:6px}.sonification-panel::-webkit-scrollbar-track{background:transparent}.sonification-panel::-webkit-scrollbar-thumb{background:#4fc3f74d;border-radius:3px}@media (max-width: 720px){.sonification-panel{width:95vw}.sonification-routing-matrix__header,.sonification-routing-matrix__row{grid-template-columns:70px repeat(6,1fr)}.sonification-routing-matrix__name{display:none}.sonification-routing-matrix__select{font-size:9px;padding:2px 1px}.sonification-routing-matrix__manual-select{font-size:8px;padding:1px 2px;width:36px}}.sonification-panel__scale-header{margin-bottom:4px}.sonification-panel__scale-header .sonification-panel__label{margin-bottom:0}.sonification-panel__scale-controls{display:flex;flex-direction:column;gap:6px;margin-top:8px}.sonification-panel__scale-row{display:flex;align-items:center;gap:8px}.sonification-panel__scale-row label{font-size:12px;color:var(--color-text-secondary, #9e9e9e);min-width:42px}.sonification-panel__scale-row select{flex:1;padding:3px 6px;background:#0000004d;border:1px solid var(--color-border, rgba(79, 195, 247, .2));border-radius:4px;color:var(--color-text-primary, #e0e0e0);font-family:inherit;font-size:12px}.sonification-panel__scale-row select:focus{outline:none;border-color:var(--color-accent, #4fc3f7)}.sonification-panel__snap-slider{flex:1;accent-color:var(--color-accent, #4fc3f7)}.sonification-panel__snap-value{font-size:11px;color:var(--color-text-muted, #757575);min-width:32px;text-align:right;font-family:var(--font-family-mono, monospace)}.about-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;z-index:1000}.about-overlay.visible{opacity:1;visibility:visible}.about-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);width:90%;max-width:520px;min-width:300px;min-height:250px;max-height:80vh;background:#1a1a2e;border:1px solid #3a3a5a;border-radius:8px;box-shadow:0 4px 24px #00000080;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease,transform .2s ease;z-index:1001;display:flex;flex-direction:column;overflow:hidden;resize:both}.about-panel::-webkit-resizer{background:linear-gradient(135deg,transparent 60%,rgba(255,255,255,.15) 60%,rgba(255,255,255,.15) 70%,transparent 70%,transparent 80%,rgba(255,255,255,.15) 80%)}.about-panel.visible{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}.about-panel.dragged,.about-panel.dragged.visible{transform:none}.about-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #3a3a5a;cursor:grab;user-select:none}.about-header:active{cursor:grabbing}.about-header h2{margin:0;font-size:18px;font-weight:500;color:#fff;letter-spacing:.5px}.about-close{background:none;border:none;color:#888;font-size:24px;cursor:pointer;padding:0;line-height:1;transition:color .15s ease}.about-close:hover{color:#fff}.about-tabs{display:flex;border-bottom:1px solid #3a3a5a;padding:0 20px}.about-tab{background:none;border:none;color:#888;padding:12px 16px;font-size:14px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s ease,border-color .15s ease}.about-tab:hover{color:#ccc}.about-tab.active{color:#4fc3f7;border-bottom-color:#4fc3f7}.about-content{flex:1;overflow-y:auto;padding:20px}.about-tab-content{display:none}.about-tab-content.active{display:block}.about-section{margin-bottom:20px}.about-section:last-child{margin-bottom:0}.about-section h3{margin:0 0 8px;font-size:13px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px}.about-section p{margin:0 0 8px;font-size:14px;color:#ccc;line-height:1.5}.about-section p:last-child{margin-bottom:0}.about-section strong{color:#ddd}.about-subtitle{font-size:15px!important;color:#aaa!important;font-style:italic}.about-version{font-size:12px!important;color:#666!important;font-family:var(--font-family-mono, "Courier New", monospace)}.about-disclaimer{color:#aaa!important;font-size:13px!important;line-height:1.6!important}.about-qna{margin:0}.about-qna dt{font-size:14px;color:#ddd;font-weight:500;margin-top:10px}.about-qna dt:first-child{margin-top:0}.about-qna dd{margin:2px 0 0;font-size:13px;color:#aaa;line-height:1.5}.about-section kbd{display:inline-block;padding:2px 6px;font-size:12px;font-family:var(--font-family-mono, "Courier New", monospace);color:#ddd;background:#ffffff1a;border:1px solid #3a3a5a;border-radius:3px}.about-credits{margin:0}.about-credits dt{font-size:13px;color:#ccc;font-weight:500;margin-top:8px}.about-credits dt:first-child{margin-top:0}.about-credits dd{margin:2px 0 0;font-size:12px;color:#999;line-height:1.5}.about-credits dd a{color:#4fc3f7;text-decoration:none}.about-credits dd a:hover{text-decoration:underline}.about-credits dd em{font-style:italic;color:#aaa}.about-content::-webkit-scrollbar{width:8px}.about-content::-webkit-scrollbar-track{background:#1a1a2e}.about-content::-webkit-scrollbar-thumb{background:#3a3a5a;border-radius:4px}.about-content::-webkit-scrollbar-thumb:hover{background:#4a4a6a}.confirm-dialog__overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.confirm-dialog{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);max-width:360px;width:90%}.confirm-dialog__title{margin:0 0 var(--spacing-sm);font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary)}.confirm-dialog__message{margin:0 0 var(--spacing-lg);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}.confirm-dialog__actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.confirm-dialog__btn{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.confirm-dialog__btn--secondary{background:transparent;color:var(--color-text-secondary)}.confirm-dialog__btn--secondary:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.confirm-dialog__btn--primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.confirm-dialog__btn--primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.confirm-dialog__btn--danger{background:#dc3c3ce6;border-color:#c33;color:#fff}.confirm-dialog__btn--danger:hover{background:#f04646;border-color:#d44}#loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--color-bg-primary);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:var(--z-loading);transition:opacity .5s ease-out}#loading-screen.hidden{opacity:0;pointer-events:none}.loading-title{font-size:var(--font-size-xl);font-weight:300;letter-spacing:.5rem;margin-bottom:var(--spacing-xl)}.loading-spinner{width:50px;height:50px;border:2px solid var(--color-border);border-top-color:var(--color-text-primary);border-radius:50%;animation:spin 1s linear infinite}.loading-status{margin-top:var(--spacing-lg);font-size:var(--font-size-sm);color:var(--color-text-muted)}@keyframes spin{to{transform:rotate(360deg)}}.cesium-viewer-bottom{display:none!important}.crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:100}.crosshair-h{position:absolute;width:30px;height:2px;background:#fff9;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 3px #00000080}.crosshair-v{position:absolute;width:2px;height:30px;background:#fff9;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 3px #00000080}.crosshair-dot{position:absolute;width:4px;height:4px;background:#fffc;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 3px #00000080}.camera-mode-panel{position:absolute;bottom:56px;left:var(--spacing-md);display:flex;gap:2px;background:#000000b3;border-radius:8px;padding:4px;z-index:100;backdrop-filter:blur(4px);pointer-events:auto}.camera-mode-button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 12px;border:none;background:transparent;color:#ffffffb3;cursor:pointer;border-radius:6px;transition:all .2s ease;font-family:inherit}.camera-mode-button:hover{background:#ffffff1a;color:#fff}.camera-mode-button.active{background:#6495ed99;color:#fff}.camera-mode-button:disabled{opacity:.5;cursor:not-allowed}.camera-mode-button .icon{font-size:1.2em}.camera-mode-button .label{font-size:.7em;text-transform:uppercase;letter-spacing:.5px}.camera-mode-panel.disabled{opacity:.5;pointer-events:none}.camera-reset-btn{display:flex;flex-direction:column;align-items:center;gap:2px;border:none;background:transparent;color:#ffffffb3;cursor:pointer;border-radius:6px;transition:all .2s ease;font-family:inherit;margin-left:4px;border-left:1px solid rgba(255,255,255,.2);padding:8px 12px}.camera-reset-btn:hover{background:#ffffff1a;color:#fff}.camera-reset-btn:active{background:#fff3}.camera-reset-btn:disabled{opacity:.5;cursor:not-allowed}.camera-reset-btn .icon{font-size:1.2em}.camera-reset-btn .label{font-size:.7em;text-transform:uppercase;letter-spacing:.5px}.instrument-assign-popover{position:fixed;min-width:160px;max-width:240px;background:#14141cf5;border:1px solid rgba(255,255,255,.15);border-radius:6px;box-shadow:0 4px 16px #00000080;z-index:1100;padding:4px 0;animation:instrAssignIn .1s ease-out}@keyframes instrAssignIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.instrument-assign-popover__row{display:flex;align-items:center;gap:6px;padding:5px 10px;cursor:pointer;font-size:12px;color:#e2e8f0;transition:background .1s ease;white-space:nowrap}.instrument-assign-popover__row:hover{background:#ffffff14}.instrument-assign-popover__row--current{background:#ffffff0f}.instrument-assign-popover__row--disabled{color:#ffffff59;cursor:default;font-style:italic}.instrument-assign-popover__row--disabled:hover{background:transparent}.instrument-assign-popover__dot{width:10px;height:10px;min-width:10px;border-radius:50%;flex-shrink:0}.instrument-assign-popover__divider{height:1px;background:#ffffff1a;margin:2px 0}.tools-panel{position:fixed;z-index:var(--z-panel);background:#0a0a1af2;backdrop-filter:blur(8px);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);width:256px;max-height:70vh;overflow-y:auto;padding:var(--spacing-sm) 0;box-shadow:0 8px 32px #00000080;font-size:var(--font-size-sm);display:none;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.tools-panel.visible{display:block}.tools-panel__category{padding:var(--spacing-xs) var(--spacing-md);margin-top:var(--spacing-xs)}.tools-panel__category:first-child{margin-top:0}.tools-panel__category-label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);padding-bottom:var(--spacing-xs)}.tools-panel__category-icon{font-size:.9em}.tools-panel__item{display:flex;align-items:center;gap:var(--spacing-sm);padding:6px var(--spacing-md);cursor:pointer;transition:background var(--transition-fast);color:var(--color-text-secondary);user-select:none}.tools-panel__item:hover{background:#ffffff12;color:var(--color-text-primary)}.tools-panel__item--active{color:var(--color-accent)}.tools-panel__item--active:hover{color:var(--color-accent-hover)}.tools-panel__item-icon{width:20px;text-align:center;flex-shrink:0;font-size:1em}.tools-panel__item-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tools-panel__item-state{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:transparent;transition:background var(--transition-fast)}.tools-panel__item-state--on{background:var(--color-accent);box-shadow:0 0 4px var(--color-accent)}.tools-panel__item-hotkey{flex-shrink:0;font-size:var(--font-size-xs);color:var(--color-text-muted);background:#ffffff0f;padding:1px 5px;border-radius:3px;font-family:var(--font-family-mono)}.tools-panel__separator{height:1px;background:var(--color-border);margin:var(--spacing-xs) var(--spacing-md)}.tools-panel__item--danger{color:var(--color-danger, #e55)}.tools-panel__item--danger:hover{background:#ff3c3c1f;color:var(--color-danger, #e55)}.body-config-panel{position:absolute;z-index:1100;width:260px;background:#14141cf5;border:1px solid rgba(255,255,255,.15);border-radius:6px;box-shadow:0 8px 24px #00000080;font-size:12px;color:#e0e0e0}.body-config-panel__header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.08)}.body-config-panel__title{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.body-config-panel__close-btn{background:none;border:none;color:#ffffff80;cursor:pointer;font-size:14px;padding:0 2px;line-height:1}.body-config-panel__close-btn:hover{color:#fff}.body-config-panel__content{padding:8px 10px}.body-config-panel__preset-row{display:flex;align-items:center;gap:6px;margin-bottom:8px}.body-config-panel__preset-label{font-size:11px;color:#ffffff80;flex-shrink:0}.body-config-panel__preset-select{flex:1;padding:2px 4px;border:1px solid rgba(255,255,255,.15);border-radius:3px;background:#0000004d;color:#e0e0e0;font-size:11px;cursor:pointer}.body-config-panel__preset-select:focus{outline:1px solid rgba(79,195,247,.5)}.body-config-panel__group{padding:6px 0;border-top:1px solid rgba(255,255,255,.06)}.body-config-panel__group:first-child{border-top:none;padding-top:0}.body-config-panel__pills{display:flex;flex-wrap:wrap;gap:4px}.body-config-panel__pill{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:transparent;color:#fff6;cursor:pointer;font-size:11px;transition:all .15s ease;line-height:1.4}.body-config-panel__pill--active{background:#4fc3f733;border-color:#4fc3f780;color:#e0e0e0}.body-config-panel__pill:hover{border-color:#4fc3f799}.body-config-panel__pill-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.body-config-panel__custom-section{padding-top:6px;border-top:1px solid rgba(255,255,255,.06)}.body-config-panel__pick-btn{width:100%;padding:4px 8px;border:1px dashed rgba(255,255,255,.2);border-radius:4px;background:transparent;color:#ffffff80;cursor:pointer;font-size:11px;transition:all .15s ease}.body-config-panel__pick-btn:hover{border-color:#4fc3f780;color:#e0e0e0}.body-config-panel__custom-chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.body-config-panel__custom-chip{display:inline-flex;align-items:center;gap:3px;background:#ffffff1a;border-radius:3px;padding:2px 6px;font-size:11px}.body-config-panel__chip-remove{background:none;border:none;color:#aaa;cursor:pointer;padding:0;font-size:10px;line-height:1}.body-config-panel__chip-remove:hover{color:#ef5350}.alignment-marker-panel{position:fixed;top:80px;left:var(--spacing-md, 12px);z-index:100;pointer-events:auto;font-family:var(--font-family, system-ui, sans-serif);font-size:var(--font-size-sm, 13px)}.alignment-marker-panel__badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:#0a0a1ad9;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:16px;color:var(--color-text-secondary, #aaa);cursor:pointer;transition:background-color .15s ease,border-color .15s ease;user-select:none;white-space:nowrap;font-size:var(--font-size-sm, 13px)}.alignment-marker-panel__badge:hover{background:#141428e6;border-color:#ffffff40}.alignment-marker-panel__expanded{width:280px;min-width:220px;min-height:200px;max-height:460px;background:#0a0a1aeb;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:var(--border-radius, 6px);overflow:hidden;display:flex;flex-direction:column;animation:alignPanelIn .15s ease-out;resize:both}.alignment-marker-panel__expanded::-webkit-resizer{background:linear-gradient(135deg,transparent 60%,rgba(255,255,255,.15) 60%,rgba(255,255,255,.15) 70%,transparent 70%,transparent 80%,rgba(255,255,255,.15) 80%)}@keyframes alignPanelIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.alignment-marker-panel__header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.1);cursor:grab;user-select:none}.alignment-marker-panel__header:active{cursor:grabbing}.alignment-marker-panel__title{font-size:var(--font-size-xs, 11px);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary, #aaa)}.alignment-marker-panel__header-actions{display:flex;align-items:center;gap:2px}.alignment-marker-panel__io-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:13px;font-weight:700;line-height:1;cursor:pointer;transition:background-color .15s ease,color .15s ease}.alignment-marker-panel__io-btn:hover{background:#ffffff1a;color:var(--color-text-primary, #fff)}.alignment-marker-panel__collapse-btn,.alignment-marker-panel__close-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:16px;line-height:1;cursor:pointer;transition:background-color .15s ease}.alignment-marker-panel__collapse-btn:hover,.alignment-marker-panel__close-btn:hover{background:#ffffff1a}.alignment-marker-panel__list{overflow-y:auto;max-height:220px;flex:1}.alignment-marker-panel__row{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;border-left:3px solid transparent;transition:background-color .1s ease}.alignment-marker-panel__row:hover{background:#ffffff0d}.alignment-marker-panel__row--selected{background:#ffffff14}.alignment-marker-panel__color-dot{width:12px;height:12px;min-width:12px;border-radius:50%;border:1px solid rgba(255,255,255,.3);cursor:pointer;padding:0;transition:transform .1s ease}.alignment-marker-panel__color-dot:hover{transform:scale(1.2);border-color:#fff9}.alignment-marker-panel__number{color:var(--color-text-secondary, #aaa);font-family:var(--font-family-mono, monospace);font-size:var(--font-size-xs, 11px);min-width:14px;text-align:center}.alignment-marker-panel__name{flex:1;color:var(--color-text-primary, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;outline:none;border-radius:3px;padding:1px 4px;min-width:0}.alignment-marker-panel__name:focus{background:#ffffff1a;outline:1px solid rgba(79,195,247,.5)}.alignment-marker-panel__cog-btn{display:flex;align-items:center;justify-content:center;width:22px;height:20px;padding:0;border:none;border-radius:3px;background:transparent;color:#fff6;cursor:pointer;font-size:14px;line-height:1;flex-shrink:0;transition:all .1s ease}.alignment-marker-panel__cog-btn:hover{background:#ffffff1a;color:#fffc}.alignment-marker-panel__row:hover .alignment-marker-panel__cog-btn{color:#fff9}.alignment-marker-panel__height-mode{padding:2px 4px;border:none;border-radius:3px;background:transparent;cursor:pointer;font-size:13px;line-height:1;transition:background-color .1s ease;flex-shrink:0}.alignment-marker-panel__height-mode:hover{background:#ffffff1a}.alignment-marker-panel__ground-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:13px;cursor:pointer;opacity:.3;transition:opacity .1s ease,background-color .1s ease,color .1s ease;flex-shrink:0}.alignment-marker-panel__row:hover .alignment-marker-panel__ground-btn{opacity:.6}.alignment-marker-panel__ground-btn:hover{opacity:.9;background:#ffffff1a}.alignment-marker-panel__ground-btn--active{opacity:.9;color:#4fc3f7}.alignment-marker-panel__row:hover .alignment-marker-panel__ground-btn--active{opacity:1}.alignment-marker-panel__ground-btn--active:hover{opacity:1;background:#4fc3f726}.alignment-marker-panel__row--disabled{opacity:.5}.alignment-marker-panel__toggle-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:11px;cursor:pointer;opacity:.6;transition:opacity .1s ease;flex-shrink:0}.alignment-marker-panel__toggle-btn:hover{opacity:1}.alignment-marker-panel__fly-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:11px;cursor:pointer;opacity:.3;transition:opacity .1s ease,background-color .1s ease,color .1s ease;flex-shrink:0}.alignment-marker-panel__row:hover .alignment-marker-panel__fly-btn{opacity:.6}.alignment-marker-panel__fly-btn:hover{opacity:1;background:#4fc3f726;color:#4fc3f7}.alignment-marker-panel__delete-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:11px;cursor:pointer;opacity:.4;transition:opacity .1s ease,background-color .1s ease;flex-shrink:0}.alignment-marker-panel__row:hover .alignment-marker-panel__delete-btn{opacity:.8}.alignment-marker-panel__delete-btn:hover{opacity:1;background:#ff646433;color:#ff6b6b}.alignment-marker-panel__footer{padding:8px 12px;border-top:1px solid rgba(255,255,255,.1)}.alignment-marker-panel__add-btn{width:100%;padding:6px 10px;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:4px;background:#ffffff0d;color:var(--color-text-secondary, #aaa);font-size:var(--font-size-xs, 11px);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease;text-align:center}.alignment-marker-panel__add-btn:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff40}.alignment-marker-panel__add-btn--disabled{opacity:.4;cursor:not-allowed}.alignment-marker-panel__add-btn--ready{background:#4caf501f;border-color:#4caf5059;color:#81c784}.alignment-marker-panel__add-btn--ready:hover:not(:disabled){background:#4caf5038;border-color:#4caf5080}.alignment-marker-panel__add-btn--cancel{background:#f4433626;border-color:#f4433666;color:#ef5350}.alignment-marker-panel__add-btn--cancel:hover{background:#f4433640;border-color:#f443368c}.alignment-marker-panel__detail{padding:8px 12px;border-top:1px solid rgba(255,255,255,.1)}.alignment-marker-panel__detail-title{font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.alignment-marker-panel__control-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.alignment-marker-panel__control-label{font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);min-width:60px;flex-shrink:0}.alignment-marker-panel__number-input{width:80px;padding:2px 4px;border:1px solid rgba(255,255,255,.15);border-radius:3px;background:#ffffff0d;color:var(--color-text-primary, #fff);font-size:var(--font-size-xs, 11px);font-family:var(--font-family-mono, monospace);text-align:right}.alignment-marker-panel__number-input:focus{outline:1px solid rgba(79,195,247,.5);border-color:#4fc3f74d}.alignment-marker-panel__control-unit{font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);flex-shrink:0}.sky-pick-banner{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:10000;padding:8px 24px;background:#f44336d9;border:1px solid rgba(255,100,100,.6);border-radius:8px;color:#fff;font-family:var(--font-family, system-ui, sans-serif);font-size:14px;font-weight:500;letter-spacing:.02em;pointer-events:none;animation:skyPickBannerIn .15s ease-out;box-shadow:0 4px 20px #00000080}@keyframes skyPickBannerIn{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.acoustic-panel{position:fixed;top:180px;right:var(--spacing-md, 12px);z-index:100;pointer-events:auto;font-family:var(--font-family, system-ui, sans-serif);font-size:var(--font-size-sm, 13px)}.acoustic-panel__badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:#0a0a1ad9;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:16px;color:var(--color-text-secondary, #aaa);cursor:pointer;transition:background-color .15s ease,border-color .15s ease;user-select:none;white-space:nowrap;font-size:var(--font-size-sm, 13px)}.acoustic-panel__badge:hover{background:#141428e6;border-color:#ffffff40}.acoustic-panel__badge--active{border-color:#9382ff66;color:#b8a9ff}.acoustic-panel__expanded{width:300px;min-width:220px;min-height:200px;max-height:480px;background:#0a0a1aeb;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:var(--border-radius, 6px);overflow:hidden;display:flex;flex-direction:column;animation:acousticPanelIn .15s ease-out;resize:both}.acoustic-panel__expanded::-webkit-resizer{background:linear-gradient(135deg,transparent 60%,rgba(255,255,255,.15) 60%,rgba(255,255,255,.15) 70%,transparent 70%,transparent 80%,rgba(255,255,255,.15) 80%)}@keyframes acousticPanelIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.acoustic-panel__header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.1);cursor:grab;user-select:none}.acoustic-panel__header:active{cursor:grabbing}.acoustic-panel__title{font-size:var(--font-size-xs, 11px);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary, #aaa)}.acoustic-panel__header-actions{display:flex;align-items:center;gap:4px}.acoustic-panel__collapse-btn,.acoustic-panel__close-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:16px;line-height:1;cursor:pointer;transition:background-color .15s ease}.acoustic-panel__collapse-btn:hover,.acoustic-panel__close-btn:hover{background:#ffffff1a}.acoustic-panel__content{padding:8px 12px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:10px}.acoustic-panel__section-label{font-size:var(--font-size-xs, 11px);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary, #aaa);margin-bottom:4px}.acoustic-panel__segment-group{display:flex;gap:0;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:4px;overflow:hidden}.acoustic-panel__segment-btn{flex:1;padding:5px 2px;border:none;border-right:1px solid rgba(255,255,255,.08);background:transparent;color:var(--color-text-secondary, #aaa);font-size:10px;font-weight:500;cursor:pointer;transition:background-color .15s ease,color .15s ease;text-align:center;white-space:nowrap}.acoustic-panel__segment-btn:last-child{border-right:none}.acoustic-panel__segment-btn:hover{background:#ffffff0d}.acoustic-panel__segment-btn--active{background:#9382ff33;color:#b8a9ff}.acoustic-panel__hybrid-controls{display:flex;flex-direction:column;gap:6px;padding:6px 0}.acoustic-panel__hybrid-controls--hidden{display:none}.acoustic-panel__cultural-select{padding:4px 8px;background:#ffffff0d;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:4px;color:var(--color-text-primary, #fff);font-size:var(--font-size-xs, 11px);cursor:pointer}.acoustic-panel__blend-row{display:flex;align-items:center;gap:8px}.acoustic-panel__blend-label{font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);min-width:40px}.acoustic-panel__blend-slider{flex:1;height:4px;-webkit-appearance:none;appearance:none;background:#ffffff1a;border-radius:2px;outline:none}.acoustic-panel__blend-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#b8a9ff;cursor:pointer}.acoustic-panel__blend-value{font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);min-width:30px;text-align:right;font-family:var(--font-family-mono, monospace)}.acoustic-panel__body-list{display:flex;flex-direction:column;gap:2px}.acoustic-panel__body-row{display:flex;align-items:center;gap:6px;padding:4px 0}.acoustic-panel__body-dot{width:8px;height:8px;min-width:8px;border-radius:50%}.acoustic-panel__body-name{font-size:var(--font-size-xs, 11px);color:var(--color-text-primary, #fff);min-width:52px}.acoustic-panel__formant-bars{display:flex;align-items:center;gap:2px;flex:1;height:10px}.acoustic-panel__formant-bar{height:100%;min-width:2px;max-width:40px;border-radius:1px;transition:width .2s ease,background-color .2s ease}.acoustic-panel__formant-bar--f1{background:#ff9664b3}.acoustic-panel__formant-bar--f2{background:#64c8ffb3}.acoustic-panel__formant-bar--f3{background:#b464ffb3}.acoustic-panel__bypass-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:11px;cursor:pointer;opacity:.6;transition:opacity .1s ease,background-color .1s ease;flex-shrink:0}.acoustic-panel__bypass-btn:hover{opacity:1;background:#ffffff14}.acoustic-panel__bypass-btn--bypassed{opacity:.3;color:#ff6b6b}.acoustic-panel__footer{padding:8px 12px;border-top:1px solid rgba(255,255,255,.1)}.acoustic-panel__play-btn{width:100%;padding:6px 10px;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:4px;background:#ffffff0d;color:var(--color-text-secondary, #aaa);font-size:var(--font-size-xs, 11px);cursor:pointer;transition:background-color .15s ease,border-color .15s ease;text-align:center}.acoustic-panel__play-btn:hover{background:#ffffff1a;border-color:#ffffff40}.acoustic-panel__play-btn--playing{background:#9382ff26;border-color:#9382ff66;color:#b8a9ff}.annual-heatmap{position:relative;margin-top:8px;border-radius:4px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}.annual-heatmap__canvas{display:block;width:100%;height:auto}.annual-heatmap__tooltip{position:absolute;top:-20px;left:0;padding:2px 6px;background:#000000d9;border:1px solid rgba(255,255,255,.15);border-radius:3px;font-size:10px;font-family:monospace;color:#fff;white-space:nowrap;pointer-events:none}.receiver-face-view{margin-top:6px;border-radius:4px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}.receiver-face-view__canvas{display:block;width:100%;height:auto}.receiver-presets-wizard__overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center;animation:presetsOverlayIn .15s ease-out}@keyframes presetsOverlayIn{0%{opacity:0}to{opacity:1}}.receiver-presets-wizard{width:380px;max-height:90vh;background:#0a0a1af7;border:1px solid rgba(255,255,255,.15);border-radius:8px;overflow-y:auto;box-shadow:0 8px 32px #00000080}.receiver-presets-wizard__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1)}.receiver-presets-wizard__title{font-size:13px;font-weight:600;color:var(--color-text-primary, #fff)}.receiver-presets-wizard__close-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:14px;cursor:pointer;transition:background-color .15s ease}.receiver-presets-wizard__close-btn:hover{background:#ffffff1a}.receiver-presets-wizard__desc{padding:8px 16px;font-size:11px;color:var(--color-text-secondary, #aaa)}.receiver-presets-wizard__cards{padding:4px 12px 12px;display:flex;flex-direction:column;gap:8px}.receiver-presets-wizard__card{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#ffffff08;transition:border-color .15s ease,background-color .15s ease}.receiver-presets-wizard__card:hover{border-color:#4a90d94d;background:#4a90d90d}.receiver-presets-wizard__card-icon{font-size:20px;line-height:1;color:#4a90d9;min-width:24px;text-align:center;padding-top:2px}.receiver-presets-wizard__card-content{flex:1;min-width:0}.receiver-presets-wizard__card-name{font-size:12px;font-weight:600;color:var(--color-text-primary, #fff);margin-bottom:3px}.receiver-presets-wizard__card-desc{font-size:11px;color:var(--color-text-secondary, #aaa);line-height:1.4;margin-bottom:4px}.receiver-presets-wizard__card-instructions{font-size:10px;color:#fff6;white-space:pre-line;line-height:1.5}.receiver-presets-wizard__apply-btn{align-self:center;padding:4px 10px;border:1px solid rgba(74,144,217,.4);border-radius:4px;background:#4a90d91f;color:#4a90d9;font-size:10px;cursor:pointer;white-space:nowrap;transition:background-color .15s ease;flex-shrink:0}.receiver-presets-wizard__apply-btn:hover{background:#4a90d940}.receiver-panel{position:fixed;top:80px;left:304px;z-index:100;pointer-events:auto;font-family:var(--font-family, system-ui, sans-serif);font-size:var(--font-size-sm, 13px)}.receiver-panel__badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:#0a0a1ad9;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:16px;color:var(--color-text-secondary, #aaa);cursor:pointer;transition:background-color .15s ease,border-color .15s ease;user-select:none;white-space:nowrap;font-size:var(--font-size-sm, 13px)}.receiver-panel__badge:hover{background:#141428e6;border-color:#ffffff40}.receiver-panel__expanded{width:300px;min-width:240px;min-height:200px;max-height:90vh;height:500px;background:#0a0a1aeb;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:var(--border-radius, 6px);overflow:hidden;display:flex;flex-direction:column;animation:receiverPanelIn .15s ease-out;resize:both}.receiver-panel__expanded::-webkit-resizer{background:linear-gradient(135deg,transparent 60%,rgba(255,255,255,.15) 60%,rgba(255,255,255,.15) 70%,transparent 70%,transparent 80%,rgba(255,255,255,.15) 80%)}@keyframes receiverPanelIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.receiver-panel__header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.1);cursor:grab;user-select:none}.receiver-panel__header:active{cursor:grabbing}.receiver-panel__title{font-size:var(--font-size-xs, 11px);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary, #aaa)}.receiver-panel__header-actions{display:flex;align-items:center;gap:4px}.receiver-panel__collapse-btn,.receiver-panel__close-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:16px;line-height:1;cursor:pointer;transition:background-color .15s ease}.receiver-panel__collapse-btn:hover,.receiver-panel__close-btn:hover{background:#ffffff1a}.receiver-panel__body{flex:1;overflow-y:auto;min-height:0}.receiver-panel__list{flex-shrink:0}.receiver-panel__row{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;border-left:3px solid transparent;transition:background-color .1s ease}.receiver-panel__row:hover{background:#ffffff0d}.receiver-panel__row--selected{background:#ffffff14;border-left-color:#4a90d9}.receiver-panel__color-dot{width:12px;height:12px;min-width:12px;border-radius:50%;border:1px solid rgba(255,255,255,.3);cursor:pointer;padding:0;transition:transform .1s ease}.receiver-panel__color-dot:hover{transform:scale(1.2);border-color:#fff9}.receiver-panel__number{color:var(--color-text-secondary, #aaa);font-family:var(--font-family-mono, monospace);font-size:var(--font-size-xs, 11px);min-width:14px;text-align:center}.receiver-panel__name{flex:1;color:var(--color-text-primary, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;outline:none;border-radius:3px;padding:1px 4px;min-width:0}.receiver-panel__name:focus{background:#ffffff1a;outline:1px solid rgba(79,195,247,.5)}.receiver-panel__row--disabled{opacity:.5}.receiver-panel__toggle-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:11px;cursor:pointer;opacity:.6;transition:opacity .1s ease;flex-shrink:0}.receiver-panel__toggle-btn:hover{opacity:1}.receiver-panel__cog-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:12px;cursor:pointer;opacity:.4;transition:opacity .1s ease,background-color .1s ease;flex-shrink:0}.receiver-panel__row:hover .receiver-panel__cog-btn{opacity:.8}.receiver-panel__cog-btn:hover{opacity:1;background:#ffffff1a}.receiver-panel__flyto-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:11px;cursor:pointer;opacity:.3;transition:opacity .1s ease,background-color .1s ease,color .1s ease;flex-shrink:0}.receiver-panel__row:hover .receiver-panel__flyto-btn{opacity:.6}.receiver-panel__flyto-btn:hover{opacity:1;background:#4fc3f726;color:#4fc3f7}.receiver-panel__delete-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:11px;cursor:pointer;opacity:.4;transition:opacity .1s ease,background-color .1s ease;flex-shrink:0}.receiver-panel__row:hover .receiver-panel__delete-btn{opacity:.8}.receiver-panel__delete-btn:hover{opacity:1;background:#ff646433;color:#ff6b6b}.receiver-panel__detail{padding:8px 12px;border-top:1px solid rgba(255,255,255,.1)}.receiver-panel__detail-title{font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.receiver-panel__control-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.receiver-panel__control-label{font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);min-width:60px;flex-shrink:0}.receiver-panel__control-value{font-size:var(--font-size-xs, 11px);color:var(--color-text-primary, #fff);font-family:var(--font-family-mono, monospace);min-width:40px;text-align:right;flex-shrink:0}.receiver-panel__shape-toggle{display:flex;gap:4px}.receiver-panel__shape-btn{padding:3px 8px;border:1px solid rgba(255,255,255,.15);border-radius:3px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:var(--font-size-xs, 11px);cursor:pointer;transition:background-color .1s ease,border-color .1s ease}.receiver-panel__shape-btn:hover{background:#ffffff14}.receiver-panel__shape-btn--active{background:#4a90d933;border-color:#4a90d980;color:#4a90d9}.receiver-panel__range{flex:1;-webkit-appearance:none;appearance:none;height:4px;background:#ffffff26;border-radius:2px;outline:none}.receiver-panel__range::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:#4a90d9;border-radius:50%;cursor:pointer}.receiver-panel__range::-moz-range-thumb{width:12px;height:12px;background:#4a90d9;border-radius:50%;cursor:pointer;border:none}.receiver-panel__number-input{width:60px;padding:2px 4px;border:1px solid rgba(255,255,255,.15);border-radius:3px;background:#ffffff0d;color:var(--color-text-primary, #fff);font-size:var(--font-size-xs, 11px);font-family:var(--font-family-mono, monospace);text-align:right}.receiver-panel__number-input:focus{outline:1px solid rgba(79,195,247,.5);border-color:#4fc3f74d}.receiver-panel__sweep{padding:8px 12px;border-top:1px solid rgba(255,255,255,.1)}.receiver-panel__sweep-title{font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.receiver-panel__sweep-presets{display:flex;gap:4px;margin-bottom:8px}.receiver-panel__preset-btn{flex:1;padding:3px 4px;border:1px solid rgba(255,255,255,.15);border-radius:3px;background:#ffffff0d;color:var(--color-text-secondary, #aaa);font-size:10px;cursor:pointer;transition:background-color .1s ease,border-color .1s ease;text-align:center}.receiver-panel__preset-btn:hover{background:#4a90d926;border-color:#4a90d966;color:#4a90d9}.receiver-panel__sweep-daynight{display:flex;gap:2px;margin-bottom:8px}.receiver-panel__daynight-btn{flex:1;padding:3px 4px;border:1px solid rgba(255,255,255,.15);border-radius:3px;background:#ffffff0d;color:var(--color-text-secondary, #aaa);font-size:10px;cursor:pointer;transition:background-color .1s ease,border-color .1s ease,color .1s ease;text-align:center}.receiver-panel__daynight-btn:hover{background:#4a90d926;border-color:#4a90d966;color:#4a90d9}.receiver-panel__daynight-btn--active{background:#4a90d940;border-color:#4a90d999;color:#4a90d9}.receiver-panel__datetime-input{flex:1;padding:2px 4px;border:1px solid rgba(255,255,255,.15);border-radius:3px;background:#0a0a1ae6;color:var(--color-text-primary, #fff);font-size:var(--font-size-xs, 11px);font-family:var(--font-family-mono, monospace)}.receiver-panel__datetime-input:focus{outline:1px solid rgba(79,195,247,.5);border-color:#4fc3f74d}.receiver-panel__datetime-input::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer}.receiver-panel__sweep-info{font-size:10px;color:var(--color-text-secondary, #aaa);opacity:.7;margin-bottom:6px;text-align:center}.receiver-panel__sweep-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}.receiver-panel__sweep-label{font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);min-width:40px}.receiver-panel__sweep-select{flex:1;padding:2px 4px;border:1px solid rgba(255,255,255,.15);border-radius:3px;background:#0a0a1ae6;color:var(--color-text-primary, #fff);font-size:var(--font-size-xs, 11px)}.receiver-panel__sweep-checkboxes{display:flex;gap:12px;margin-bottom:6px}.receiver-panel__sweep-checkbox{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);cursor:pointer}.receiver-panel__sweep-checkbox input{cursor:pointer}.receiver-panel__progress{width:100%;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden;margin-bottom:6px}.receiver-panel__progress-bar{height:100%;background:#4a90d9;border-radius:2px;transition:width .2s ease}.receiver-panel__sweep-actions{display:flex;gap:6px}.receiver-panel__sweep-btn{flex:1;padding:5px 8px;border:1px solid rgba(255,255,255,.15);border-radius:4px;background:#ffffff0d;color:var(--color-text-secondary, #aaa);font-size:var(--font-size-xs, 11px);cursor:pointer;transition:background-color .15s ease,border-color .15s ease;text-align:center}.receiver-panel__sweep-btn:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff40}.receiver-panel__sweep-btn--primary{background:#4a90d926;border-color:#4a90d966;color:#4a90d9}.receiver-panel__sweep-btn--primary:hover:not(:disabled){background:#4a90d940}.receiver-panel__sweep-btn:disabled{opacity:.4;cursor:not-allowed}.receiver-panel__footer{padding:8px 12px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:4px;flex-shrink:0}.receiver-panel__scenarios-btn{width:100%;padding:5px 10px;border:1px solid rgba(255,255,255,.12);border-radius:4px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:var(--font-size-xs, 11px);cursor:pointer;transition:background-color .15s ease,border-color .15s ease;text-align:center}.receiver-panel__scenarios-btn:hover{background:#ffffff0f;border-color:#fff3}.receiver-panel__add-btn{width:100%;padding:6px 10px;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:4px;background:#ffffff0d;color:var(--color-text-secondary, #aaa);font-size:var(--font-size-xs, 11px);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease;text-align:center}.receiver-panel__add-btn:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff40}.receiver-panel__add-btn--disabled{opacity:.4;cursor:not-allowed}.receiver-panel__add-btn--ready{background:#4caf501f;border-color:#4caf5059;color:#81c784}.receiver-panel__add-btn--ready:hover:not(:disabled){background:#4caf5038;border-color:#4caf5080}.receiver-panel__add-btn--cancel{background:#f4433626;border-color:#f4433666;color:#ef5350}.receiver-panel__add-btn--cancel:hover{background:#f4433640;border-color:#f443368c}.receiver-panel__results{margin-top:8px;border-top:1px solid rgba(255,255,255,.08);padding-top:6px}.receiver-panel__results-header{font-size:10px;color:var(--color-text-secondary, #aaa);margin-bottom:4px;text-align:center}.receiver-panel__results-scroll{max-height:200px;overflow-y:auto}.receiver-panel__results-date{font-size:10px;font-weight:600;color:#4a90d9;padding:4px 0 2px;border-bottom:1px solid rgba(74,144,217,.15);margin-bottom:2px;font-family:var(--font-family-mono, monospace)}.receiver-panel__results-row{display:flex;align-items:center;gap:6px;padding:2px 0;font-size:10px;color:var(--color-text-primary, #fff)}.receiver-panel__results-path{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.receiver-panel__results-time{font-family:var(--font-family-mono, monospace);color:var(--color-text-secondary, #aaa);white-space:nowrap;flex-shrink:0}.receiver-panel__results-duration{font-family:var(--font-family-mono, monospace);color:var(--color-text-secondary, #aaa);min-width:28px;text-align:right;flex-shrink:0}.receiver-panel__results-badge{display:inline-block;padding:0 4px;border-radius:3px;font-size:9px;font-weight:600;text-transform:uppercase;flex-shrink:0}.receiver-panel__results-badge--incoming{background:#4caf5033;color:#81c784}.receiver-panel__results-badge--outgoing{background:#ff980033;color:#ffb74d}.receiver-panel__results-angle{font-family:var(--font-family-mono, monospace);font-size:10px;color:var(--color-text-secondary, #aaa);min-width:40px;text-align:right;flex-shrink:0}.celestial-trails-panel{position:fixed;top:130px;left:var(--spacing-md, 12px);z-index:100;pointer-events:auto;font-family:var(--font-family, system-ui, sans-serif);font-size:var(--font-size-sm, 13px)}.celestial-trails-panel__badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:#0a0a1ad9;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:16px;color:var(--color-text-secondary, #aaa);cursor:pointer;transition:background-color .15s ease,border-color .15s ease;user-select:none;white-space:nowrap;font-size:var(--font-size-sm, 13px)}.celestial-trails-panel__badge:hover{background:#141428e6;border-color:#ffffff40}.celestial-trails-panel__expanded{width:260px;min-width:200px;background:#0a0a1aeb;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:var(--border-radius, 6px);overflow:hidden;display:flex;flex-direction:column;animation:trailPanelIn .15s ease-out}@keyframes trailPanelIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.celestial-trails-panel__header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.1);cursor:grab;user-select:none}.celestial-trails-panel__header:active{cursor:grabbing}.celestial-trails-panel__title{color:var(--color-text-primary, #ddd);font-weight:500;font-size:var(--font-size-sm, 13px)}.celestial-trails-panel__header-actions{display:flex;align-items:center;gap:4px}.celestial-trails-panel__collapse-btn,.celestial-trails-panel__close-btn,.celestial-trails-panel__clear-btn{background:none;border:1px solid transparent;color:var(--color-text-secondary, #aaa);cursor:pointer;padding:2px 6px;border-radius:3px;font-size:13px;line-height:1}.celestial-trails-panel__collapse-btn:hover,.celestial-trails-panel__close-btn:hover,.celestial-trails-panel__clear-btn:hover{background:#ffffff14;border-color:#ffffff26}.celestial-trails-panel__global-row{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;border-bottom:1px solid rgba(255,255,255,.06)}.celestial-trails-panel__global-label{display:flex;align-items:center;gap:6px;color:var(--color-text-secondary, #aaa);font-size:12px;cursor:pointer}.celestial-trails-panel__global-label input[type=checkbox]{margin:0;cursor:pointer}.celestial-trails-panel__body-list{max-height:300px;overflow-y:auto;padding:4px 0}.celestial-trails-panel__body-list::-webkit-scrollbar{width:4px}.celestial-trails-panel__body-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.celestial-trails-panel__body-row{display:flex;align-items:center;gap:6px;padding:5px 12px;transition:background-color .1s}.celestial-trails-panel__body-row:hover{background:#ffffff0a}.celestial-trails-panel__body-check{margin:0;cursor:pointer;flex-shrink:0}.celestial-trails-panel__body-symbol{width:16px;text-align:center;font-size:14px;flex-shrink:0}.celestial-trails-panel__body-name{flex:1;color:var(--color-text-primary, #ddd);font-size:12px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.celestial-trails-panel__color-picker{width:22px;height:18px;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:3px;cursor:pointer;background:none;flex-shrink:0}.celestial-trails-panel__color-picker::-webkit-color-swatch-wrapper{padding:1px}.celestial-trails-panel__color-picker::-webkit-color-swatch{border:none;border-radius:2px}.celestial-trails-panel__duration-input{width:42px;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:3px;color:var(--color-text-primary, #ddd);font-size:11px;padding:2px 4px;text-align:right;flex-shrink:0}.celestial-trails-panel__duration-input:focus{outline:none;border-color:#64c8ff66}.celestial-trails-panel__duration-unit{color:var(--color-text-secondary, #888);font-size:10px;flex-shrink:0}.maya-calendar-panel{position:fixed;top:80px;right:var(--spacing-md, 12px);z-index:100;pointer-events:auto;font-family:var(--font-family, system-ui, sans-serif);font-size:var(--font-size-sm, 13px)}.maya-calendar-panel__badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:#0a0a1ad9;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:16px;color:var(--color-text-secondary, #aaa);cursor:pointer;transition:background-color .15s ease,border-color .15s ease;user-select:none;white-space:nowrap;font-size:var(--font-size-sm, 13px);font-family:Courier New,Courier,monospace;letter-spacing:.5px}.maya-calendar-panel__badge:hover{background:#141428e6;border-color:#ffffff40}.maya-calendar-panel__expanded{width:280px;min-width:220px;background:#0a0a1aeb;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:var(--border-radius, 6px);overflow:hidden;display:flex;flex-direction:column;animation:mayaPanelIn .15s ease-out}@keyframes mayaPanelIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.maya-calendar-panel__header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.1);cursor:grab;user-select:none}.maya-calendar-panel__header:active{cursor:grabbing}.maya-calendar-panel__title{color:var(--color-text-primary, #ddd);font-weight:500;font-size:var(--font-size-sm, 13px)}.maya-calendar-panel__header-actions{display:flex;align-items:center;gap:4px}.maya-calendar-panel__collapse-btn,.maya-calendar-panel__close-btn{background:none;border:1px solid transparent;color:var(--color-text-secondary, #aaa);cursor:pointer;padding:2px 6px;border-radius:3px;font-size:13px;line-height:1}.maya-calendar-panel__collapse-btn:hover,.maya-calendar-panel__close-btn:hover{background:#ffffff14;border-color:#ffffff26}.maya-calendar-panel__body{padding:6px 0}.maya-calendar-panel__row{display:flex;align-items:center;justify-content:space-between;padding:4px 12px}.maya-calendar-panel__label{color:var(--color-text-secondary, #888);font-size:12px;flex-shrink:0}.maya-calendar-panel__value{color:var(--color-text-primary, #ddd);font-family:Courier New,Courier,monospace;font-size:13px;text-align:right;letter-spacing:.3px}.maya-calendar-panel__correlation{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;border-top:1px solid rgba(255,255,255,.06)}.maya-calendar-panel__correlation-label{color:var(--color-text-secondary, #888);font-size:11px}.maya-calendar-panel__correlation-select{background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:3px;color:var(--color-text-primary, #ddd);font-size:11px;padding:2px 6px;cursor:pointer}.maya-calendar-panel__correlation-select:focus{outline:none;border-color:#64c8ff66}.solar-system-panel{position:fixed;top:80px;left:var(--spacing-md, 12px);z-index:100;pointer-events:auto;font-family:var(--font-family, system-ui, sans-serif);font-size:var(--font-size-sm, 13px)}.solar-system-panel__badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:#0a0a1ad9;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:16px;color:var(--color-text-secondary, #aaa);cursor:pointer;transition:background-color .15s ease,border-color .15s ease;user-select:none;white-space:nowrap;font-size:var(--font-size-sm, 13px)}.solar-system-panel__badge:hover{background:#141428e6;border-color:#ffffff40}.solar-system-panel__expanded{width:320px;min-width:280px;background:#0a0a1aeb;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:var(--border-radius, 6px);overflow:hidden;display:flex;flex-direction:column;animation:solarPanelIn .15s ease-out}@keyframes solarPanelIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.solar-system-panel__header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.1);cursor:grab;user-select:none}.solar-system-panel__header:active{cursor:grabbing}.solar-system-panel__title{color:var(--color-text-primary, #ddd);font-weight:500;font-size:var(--font-size-sm, 13px)}.solar-system-panel__header-actions{display:flex;align-items:center;gap:4px}.solar-system-panel__collapse-btn,.solar-system-panel__close-btn{background:none;border:1px solid transparent;color:var(--color-text-secondary, #aaa);cursor:pointer;padding:2px 6px;border-radius:3px;font-size:13px;line-height:1}.solar-system-panel__collapse-btn:hover,.solar-system-panel__close-btn:hover{background:#ffffff14;border-color:#ffffff26}.solar-system-panel__canvas-wrap{position:relative;padding:4px}.solar-system-panel__canvas{display:block;width:100%;cursor:grab;border-radius:0 0 4px 4px}.solar-system-panel__canvas:active{cursor:grabbing}.solar-system-panel__tooltip{position:absolute;pointer-events:none;background:#000000d9;border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:4px 8px;color:#ddd;font-size:11px;white-space:nowrap;z-index:10;display:none}.solar-system-panel__alignment{border-top:1px solid rgba(255,255,255,.1)}.solar-system-panel__alignment-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:7px 12px;background:none;border:none;color:var(--color-text-secondary, #aaa);cursor:pointer;font-size:12px;text-align:left}.solar-system-panel__alignment-toggle:hover{background:#ffffff0a;color:var(--color-text-primary, #ddd)}.solar-system-panel__alignment-toggle__arrow{transition:transform .15s ease;font-size:10px}.solar-system-panel__alignment-toggle__arrow--open{transform:rotate(90deg)}.solar-system-panel__alignment-body{padding:6px 12px 10px}.solar-system-panel__mode-row{display:flex;gap:4px;margin-bottom:6px}.solar-system-panel__mode-btn{padding:3px 8px;border:1px solid rgba(255,255,255,.15);border-radius:3px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:11px;cursor:pointer;transition:background .12s ease,border-color .12s ease}.solar-system-panel__mode-btn:hover{background:#ffffff0f}.solar-system-panel__mode-btn--active{background:#6488cc33;border-color:#6488cc80;color:#8ad}.solar-system-panel__planet-grid{display:flex;flex-wrap:wrap;gap:2px 8px;margin-bottom:8px}.solar-system-panel__planet-cb{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--color-text-secondary, #aaa);cursor:pointer;user-select:none}.solar-system-panel__planet-cb input{margin:0;accent-color:#6688cc}.solar-system-panel__align-controls{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.solar-system-panel__align-row{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--color-text-secondary, #aaa)}.solar-system-panel__align-row label{min-width:52px;flex-shrink:0}.solar-system-panel__align-row input[type=range]{flex:1;height:4px;accent-color:#6688cc}.solar-system-panel__align-row .spread-value{min-width:48px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.solar-system-panel__search-btn{width:100%;padding:5px 0;background:#5078c840;border:1px solid rgba(80,120,200,.4);border-radius:4px;color:#acf;font-size:12px;cursor:pointer;transition:background .15s ease}.solar-system-panel__search-btn:hover{background:#5078c859}.solar-system-panel__search-btn:disabled{opacity:.5;cursor:not-allowed}.solar-system-panel__search-btn--cancel{background:#c8645040;border-color:#c8645066;color:#fa9}.solar-system-panel__search-btn--cancel:hover{background:#c8645059}.solar-system-panel__progress{height:3px;background:#ffffff0f;border-radius:2px;margin-top:6px;overflow:hidden;display:none}.solar-system-panel__progress--active{display:block}.solar-system-panel__progress-bar{height:100%;background:#68c;border-radius:2px;width:0%;transition:width .1s ease}.solar-system-panel__results{margin-top:8px;max-height:160px;overflow-y:auto}.solar-system-panel__results::-webkit-scrollbar{width:4px}.solar-system-panel__results::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.solar-system-panel__result-entry{display:flex;align-items:center;justify-content:space-between;padding:4px 6px;border-radius:3px;cursor:pointer;font-size:11px;color:var(--color-text-secondary, #aaa);transition:background .1s ease}.solar-system-panel__result-entry:hover{background:#ffffff0f;color:var(--color-text-primary, #ddd)}.solar-system-panel__result-date{flex:1}.solar-system-panel__result-spread{font-variant-numeric:tabular-nums;color:#8ad;margin-left:8px}.solar-system-panel__no-results{padding:8px 6px;font-size:11px;color:#ffffff59;text-align:center}.user-model-panel{position:fixed;top:80px;right:12px;width:280px;min-width:220px;min-height:200px;background:#0a0a1af2;border:1px solid rgba(255,255,255,.15);border-radius:8px;box-shadow:0 4px 24px #0006;z-index:var(--z-panel, 20);color:#ffffffe6;display:none;flex-direction:column;max-height:70vh;font-size:12px;overflow:hidden;resize:both}.user-model-panel::-webkit-resizer{background:linear-gradient(135deg,transparent 60%,rgba(255,255,255,.15) 60%,rgba(255,255,255,.15) 70%,transparent 70%,transparent 80%,rgba(255,255,255,.15) 80%)}.user-model-panel--visible{display:flex}.user-model-panel__header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.1);cursor:grab;user-select:none}.user-model-panel__title{font-size:13px;font-weight:600}.user-model-panel__close-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:14px;cursor:pointer;transition:background-color .15s ease}.user-model-panel__close-btn:hover{background:#ffffff1a}.user-model-panel__body{padding:10px 14px;overflow-y:auto;flex:1}.user-model-panel__upload-btn{width:100%;padding:8px;border:1px dashed rgba(74,144,217,.4);border-radius:6px;background:#4a90d914;color:#4a90d9;font-size:12px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease;margin-bottom:10px}.user-model-panel__upload-btn:hover{background:#4a90d92e;border-color:#4a90d999}.user-model-panel__hint{font-size:10px;color:#ffffff59;text-align:center;margin-bottom:10px;margin-top:-6px}.user-model-panel__empty{text-align:center;color:#fff6;font-size:11px;padding:16px 0}.user-model-panel__list{display:flex;flex-direction:column;gap:6px}.user-model-panel__item{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid rgba(255,255,255,.08);border-radius:4px;background:#ffffff08;transition:border-color .15s ease}.user-model-panel__item:hover{border-color:#ffffff26}.user-model-panel__item--selected{border-color:#4a90d966;background:#4a90d914}.user-model-panel__item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.user-model-panel__item-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:3px;background:transparent;color:#ffffff80;font-size:12px;cursor:pointer;transition:background-color .15s ease,color .15s ease;flex-shrink:0}.user-model-panel__item-btn:hover{background:#ffffff1a;color:#ffffffe6}.user-model-panel__item-btn--delete:hover{background:#ff505026;color:#ff6b6b}.celestial-search{position:fixed;top:56px;left:50%;transform:translate(-50%);width:360px;max-width:calc(100vw - 32px);background:#0a0a1aeb;backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:0 8px 32px #00000080;z-index:var(--z-modal);opacity:0;pointer-events:none;transition:opacity var(--transition-fast);display:flex;flex-direction:column}.celestial-search--visible{opacity:1;pointer-events:auto}.celestial-search__header{display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);gap:var(--spacing-sm)}.celestial-search__icon{color:var(--color-text-muted);font-size:var(--font-size-md);flex-shrink:0}.celestial-search__input{flex:1;background:transparent;border:none;outline:none;color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-md);padding:var(--spacing-xs) 0}.celestial-search__input::placeholder{color:var(--color-text-muted)}.celestial-search__results{max-height:50vh;overflow-y:auto;padding:var(--spacing-xs) 0}.celestial-search__item{display:flex;align-items:center;padding:var(--spacing-xs) var(--spacing-md);cursor:pointer;gap:var(--spacing-sm);transition:background var(--transition-fast);min-height:32px}.celestial-search__item:hover{background:#4a9eff1a}.celestial-search__item--below-horizon{color:var(--color-text-muted)}.celestial-search__item--pinned{border-left:2px solid #ffd700}.celestial-search__type-icon{width:20px;text-align:center;flex-shrink:0;font-size:var(--font-size-sm)}.celestial-search__name{flex:1;font-size:var(--font-size-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.celestial-search__detail{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-left:var(--spacing-xs)}.celestial-search__status{font-size:var(--font-size-xs);color:var(--color-text-muted);flex-shrink:0}.celestial-search__pin{background:none;border:none;cursor:pointer;padding:2px 4px;font-size:var(--font-size-xs);opacity:.4;transition:opacity var(--transition-fast);flex-shrink:0;color:var(--color-text-primary)}.celestial-search__pin:hover{opacity:1}.celestial-search__pin--active{opacity:1;color:gold}.celestial-search__unpin{background:none;border:none;cursor:pointer;padding:2px 6px;font-size:var(--font-size-xs);opacity:.4;transition:opacity var(--transition-fast);flex-shrink:0;color:var(--color-text-muted);line-height:1}.celestial-search__unpin:hover{opacity:1;color:#ff6b6b}.celestial-search__empty{padding:var(--spacing-md);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.celestial-search__group-label{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.celestial-search-badge{position:fixed;top:56px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:6px;padding:6px 14px;background:#0a0a1ae0;backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:20px;box-shadow:0 4px 16px #0006;z-index:var(--z-modal);cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--transition-fast)}.celestial-search-badge--visible{opacity:1;pointer-events:auto}.celestial-search-badge:hover{background:#0a0a1af5;border-color:gold}.celestial-search-badge__icon{font-size:var(--font-size-sm);color:gold;line-height:1}.celestial-search-badge__count{font-size:var(--font-size-sm);color:var(--color-text-primary);font-family:var(--font-family);font-weight:500;min-width:1ch;text-align:center}.celestial-search__results::-webkit-scrollbar{width:4px}.celestial-search__results::-webkit-scrollbar-track{background:transparent}.celestial-search__results::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.custom-constellation-panel{position:absolute;top:120px;right:16px;z-index:1000;font-family:sans-serif;font-size:12px;color:#e0e0e0;pointer-events:auto}.custom-constellation-panel__badge{background:#000000b3;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:4px 10px;cursor:pointer;user-select:none;font-size:13px}.custom-constellation-panel__expanded{background:#000000d9;border:1px solid rgba(255,255,255,.15);border-radius:8px;width:260px;max-height:400px;overflow-y:auto}.custom-constellation-panel__header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.1)}.custom-constellation-panel__title{font-weight:600;font-size:13px}.custom-constellation-panel__header-actions{display:flex;gap:4px}.custom-constellation-panel__header-actions button{background:none;border:none;color:#aaa;cursor:pointer;font-size:14px;padding:0 4px;line-height:1}.custom-constellation-panel__header-actions button:hover{color:#fff}.custom-constellation-panel__list{padding:4px 0}.custom-constellation-panel__row{display:flex;align-items:center;gap:6px;padding:4px 10px;cursor:pointer;border-left:3px solid transparent}.custom-constellation-panel__row:hover{background:#ffffff0d}.custom-constellation-panel__row--selected{background:#ffffff14}.custom-constellation-panel__color-picker{width:22px;height:18px;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:3px;cursor:pointer;background:none;flex-shrink:0}.custom-constellation-panel__color-picker::-webkit-color-swatch-wrapper{padding:1px}.custom-constellation-panel__color-picker::-webkit-color-swatch{border:none;border-radius:2px}.custom-constellation-panel__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-constellation-panel__name[contenteditable]{cursor:text;padding:1px 4px;border-radius:2px}.custom-constellation-panel__name[contenteditable]:focus{background:#ffffff1a;outline:1px solid rgba(100,149,237,.5)}.custom-constellation-panel__vis-btn,.custom-constellation-panel__delete-btn{background:none;border:none;color:#aaa;cursor:pointer;padding:0 2px;font-size:12px;line-height:1}.custom-constellation-panel__vis-btn:hover,.custom-constellation-panel__delete-btn:hover{color:#fff}.custom-constellation-panel__vis-btn--hidden{opacity:.4}.custom-constellation-panel__detail{border-top:1px solid rgba(255,255,255,.1);padding:8px 10px}.custom-constellation-panel__detail-title{font-weight:600;margin-bottom:6px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#999}.custom-constellation-panel__line-item{display:flex;align-items:center;gap:4px;padding:2px 0;font-size:11px;color:#ccc}.custom-constellation-panel__closed-toggle{background:none;border:1px solid rgba(255,255,255,.15);border-radius:3px;color:#aaa;cursor:pointer;padding:0 3px;font-size:11px;line-height:1.2;flex-shrink:0}.custom-constellation-panel__closed-toggle:hover{color:#fff;border-color:#ffffff4d}.custom-constellation-panel__point-chip{display:inline-flex;align-items:center;gap:2px;background:#ffffff1a;border-radius:3px;padding:1px 5px;font-size:10px}.custom-constellation-panel__drawing-status{padding:8px 10px;border-top:1px solid rgba(255,255,255,.1);font-size:11px;color:#aaa}.custom-constellation-panel__drawing-points{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}.custom-constellation-panel__footer{padding:6px 10px;border-top:1px solid rgba(255,255,255,.1);display:flex;gap:4px}.custom-constellation-panel__btn{flex:1;padding:5px 8px;border:1px solid rgba(255,255,255,.2);border-radius:4px;background:#ffffff0d;color:#e0e0e0;cursor:pointer;font-size:11px;text-align:center}.custom-constellation-panel__btn:hover{background:#ffffff1f}.custom-constellation-panel__btn--primary{background:#6495ed40;border-color:#6495ed66}.custom-constellation-panel__btn--primary:hover{background:#6495ed66}.custom-constellation-panel__btn--danger{background:#ef444426;border-color:#ef44444d;color:#f87171}.custom-constellation-panel__btn--danger:hover{background:#ef44444d}.custom-constellation-panel__btn--cancel{background:#ef444433;border-color:#ef444466;color:#fca5a5}.custom-constellation-panel__empty{padding:12px 10px;color:#888;font-style:italic;text-align:center}.drawing-panel{position:fixed;top:80px;left:936px;z-index:100;pointer-events:auto;font-family:var(--font-family, system-ui, sans-serif);font-size:var(--font-size-sm, 13px)}.drawing-panel__badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:#0a0a1ad9;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:16px;color:var(--color-text-secondary, #aaa);cursor:pointer;transition:background-color .15s ease,border-color .15s ease;user-select:none;white-space:nowrap;font-size:var(--font-size-sm, 13px)}.drawing-panel__badge:hover{background:#141428e6;border-color:#ffffff40}.drawing-panel__expanded{width:300px;min-width:240px;min-height:200px;max-height:90vh;height:520px;background:#0a0a1aeb;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:var(--border-radius, 6px);overflow:hidden;display:flex;flex-direction:column;animation:drawingPanelIn .15s ease-out;resize:both}.drawing-panel__expanded::-webkit-resizer{background:linear-gradient(135deg,transparent 60%,rgba(255,255,255,.15) 60%,rgba(255,255,255,.15) 70%,transparent 70%,transparent 80%,rgba(255,255,255,.15) 80%)}@keyframes drawingPanelIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.drawing-panel__header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.1);cursor:grab;user-select:none}.drawing-panel__header:active{cursor:grabbing}.drawing-panel__title{font-size:var(--font-size-xs, 11px);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary, #aaa)}.drawing-panel__header-actions{display:flex;align-items:center;gap:4px}.drawing-panel__collapse-btn,.drawing-panel__close-btn,.drawing-panel__io-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:16px;line-height:1;cursor:pointer;transition:background-color .15s ease}.drawing-panel__io-btn{font-size:12px}.drawing-panel__collapse-btn:hover,.drawing-panel__close-btn:hover,.drawing-panel__io-btn:hover{background:#ffffff1a}.drawing-panel__body{flex:1;overflow-y:auto;min-height:0}.drawing-panel__list{flex-shrink:0}.drawing-panel__row{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;border-left:3px solid transparent;transition:background-color .1s ease}.drawing-panel__row:hover{background:#ffffff0d}.drawing-panel__row--selected{background:#ffffff14;border-left-color:#ef4444}.drawing-panel__color-dot{width:10px;height:10px;min-width:10px;border-radius:50%;flex-shrink:0}.drawing-panel__number{color:var(--color-text-secondary, #aaa);font-family:var(--font-family-mono, monospace);font-size:var(--font-size-xs, 11px);min-width:14px;text-align:center}.drawing-panel__name{flex:1;color:var(--color-text-primary, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;outline:none;border-radius:3px;padding:1px 4px;min-width:0}.drawing-panel__name:focus{background:#ffffff1a;outline:1px solid rgba(79,195,247,.5)}.drawing-panel__vertex-count{font-size:9px;color:var(--color-text-secondary, #aaa);background:#ffffff0f;padding:1px 4px;border-radius:3px;font-family:var(--font-family-mono, monospace)}.drawing-panel__closed-badge{font-size:10px;color:var(--color-text-secondary, #aaa);opacity:.5}.drawing-panel__row--disabled{opacity:.5}.drawing-panel__toggle-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:11px;cursor:pointer;opacity:.6;transition:opacity .1s ease;flex-shrink:0}.drawing-panel__toggle-btn:hover{opacity:1}.drawing-panel__fly-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:11px;cursor:pointer;opacity:.3;transition:opacity .1s ease,background-color .1s ease,color .1s ease;flex-shrink:0}.drawing-panel__row:hover .drawing-panel__fly-btn{opacity:.6}.drawing-panel__fly-btn:hover{opacity:1;background:#4fc3f726;color:#4fc3f7}.drawing-panel__delete-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:11px;cursor:pointer;opacity:.4;transition:opacity .1s ease,background-color .1s ease;flex-shrink:0}.drawing-panel__row:hover .drawing-panel__delete-btn{opacity:.8}.drawing-panel__delete-btn:hover{opacity:1;background:#ff646433;color:#ff6b6b}.drawing-panel__detail{padding:8px 12px;border-top:1px solid rgba(255,255,255,.1)}.drawing-panel__detail-title{font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.drawing-panel__control-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.drawing-panel__control-label{font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);min-width:60px;flex-shrink:0}.drawing-panel__control-value{font-size:var(--font-size-xs, 11px);color:var(--color-text-primary, #fff);font-family:var(--font-family-mono, monospace);min-width:40px;text-align:right;flex-shrink:0}.drawing-panel__color-swatches{display:flex;gap:3px;flex-wrap:wrap}.drawing-panel__color-swatch{width:16px;height:16px;border:2px solid transparent;border-radius:50%;cursor:pointer;padding:0;transition:border-color .1s ease,transform .1s ease}.drawing-panel__color-swatch:hover{transform:scale(1.2)}.drawing-panel__color-swatch--active{border-color:#fffc}.drawing-panel__toggle-group{display:flex;gap:2px}.drawing-panel__toggle-btn{padding:2px 8px;border:1px solid rgba(255,255,255,.15);border-radius:3px;background:#ffffff0d;color:var(--color-text-secondary, #aaa);font-size:10px;cursor:pointer;transition:background-color .1s ease,border-color .1s ease;font-family:var(--font-family-mono, monospace)}.drawing-panel__toggle-btn:hover{background:#ffffff1a}.drawing-panel__toggle-btn--active{background:#ef444426;border-color:#ef444466;color:#ef4444}.drawing-panel__checkbox-label{display:flex;align-items:center;gap:6px;font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);cursor:pointer}.drawing-panel__checkbox-label input{cursor:pointer;accent-color:#ef4444}.drawing-panel__computed{padding:6px 0;border-top:1px solid rgba(255,255,255,.06);margin-top:4px}.drawing-panel__computed-row{display:flex;justify-content:space-between;align-items:center;padding:1px 0}.drawing-panel__computed-label{font-size:10px;color:var(--color-text-secondary, #aaa)}.drawing-panel__computed-value{font-size:10px;color:var(--color-text-primary, #fff);font-family:var(--font-family-mono, monospace)}.drawing-panel__vertex-section{margin-top:6px;border-top:1px solid rgba(255,255,255,.06);padding-top:6px}.drawing-panel__vertex-list{max-height:150px;overflow-y:auto}.drawing-panel__vertex-row{display:flex;align-items:center;gap:6px;padding:2px 0;font-size:10px}.drawing-panel__vertex-idx{color:var(--color-text-secondary, #aaa);font-family:var(--font-family-mono, monospace);min-width:16px;text-align:right}.drawing-panel__vertex-coords{flex:1;color:var(--color-text-primary, #fff);font-family:var(--font-family-mono, monospace);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawing-panel__vertex-seg{color:var(--color-text-secondary, #aaa);font-family:var(--font-family-mono, monospace);font-size:9px;white-space:nowrap}.drawing-panel__vertex-delete{width:14px;height:14px;padding:0;border:none;border-radius:2px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:9px;cursor:pointer;opacity:.3;transition:opacity .1s ease;flex-shrink:0}.drawing-panel__vertex-row:hover .drawing-panel__vertex-delete{opacity:.8}.drawing-panel__vertex-delete:hover{opacity:1;color:#ff6b6b}.drawing-panel__range{flex:1;-webkit-appearance:none;appearance:none;height:4px;background:#ffffff26;border-radius:2px;outline:none}.drawing-panel__range::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:#ef4444;border-radius:50%;cursor:pointer}.drawing-panel__range::-moz-range-thumb{width:12px;height:12px;background:#ef4444;border-radius:50%;cursor:pointer;border:none}.drawing-panel__placement-banner{padding:8px 12px;background:#ef44441f;border-bottom:1px solid rgba(239,68,68,.2);font-size:var(--font-size-xs, 11px);color:#ef4444;text-align:center;font-weight:500}.drawing-panel__footer{padding:8px 12px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:4px;flex-shrink:0}.drawing-panel__add-btn{width:100%;padding:6px 10px;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:4px;background:#ffffff0d;color:var(--color-text-secondary, #aaa);font-size:var(--font-size-xs, 11px);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease;text-align:center}.drawing-panel__add-btn:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff40}.drawing-panel__add-btn--disabled{opacity:.4;cursor:not-allowed}.drawing-panel__add-btn--ready{background:#4caf501f;border-color:#4caf5059;color:#81c784}.drawing-panel__add-btn--ready:hover:not(:disabled){background:#4caf5038;border-color:#4caf5080}.drawing-panel__add-btn--cancel{background:#f4433626;border-color:#f4433666;color:#ef5350}.drawing-panel__add-btn--cancel:hover{background:#f4433640;border-color:#f443368c}.analysis-timeline{position:relative;width:100%;margin:4px 0}.analysis-timeline__canvas{display:block;width:100%;cursor:crosshair}.analysis-timeline__tooltip{position:absolute;top:-24px;left:0;background:#000000d9;color:#e2e8f0;font-size:10px;padding:2px 6px;border-radius:3px;pointer-events:none;white-space:nowrap;z-index:10}.body-stats__card{border:1px solid rgba(255,255,255,.06);border-radius:4px;padding:5px 6px;margin-bottom:4px;background:#ffffff05}.body-stats__card-header{display:flex;align-items:center;gap:5px;margin-bottom:4px}.body-stats__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.body-stats__name{flex:1;font-size:11px;font-weight:600;color:#fffc}.body-stats__count{font-size:10px;color:#ffd700b3;font-variant-numeric:tabular-nums}.body-stats__grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 8px}.body-stats__cell{display:flex;justify-content:space-between;align-items:baseline;gap:4px}.body-stats__cell-label{font-size:9px;color:#ffffff59;text-transform:uppercase;letter-spacing:.3px}.body-stats__cell-value{font-size:10px;color:#ffffffa6;font-variant-numeric:tabular-nums}.widget-card{border:1px solid rgba(255,255,255,.08);border-radius:5px;background:#ffffff05;margin-bottom:6px;overflow:hidden}.widget-card__header{display:flex;align-items:center;gap:4px;padding:4px 6px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.06);user-select:none}.widget-card--collapsed .widget-card__header{border-bottom:none}.widget-card__collapse-btn{background:none;border:none;color:#fff6;cursor:pointer;font-size:8px;padding:0 2px;line-height:1;flex-shrink:0}.widget-card__collapse-btn:hover{color:#ffffffb3}.widget-card__label{flex:1;font-size:10px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;color:#ffffff80;cursor:pointer}.widget-card__label:hover{color:#ffffffb3}.widget-card__remove-btn{background:none;border:none;color:#ffffff4d;cursor:pointer;font-size:12px;padding:0 2px;line-height:1;flex-shrink:0}.widget-card__remove-btn:hover{color:#ff6464cc}.widget-card__content{padding:6px}.widget-host{margin-top:6px}.widget-host__cards{display:flex;flex-direction:column}.widget-host__add-row{margin-top:4px}.widget-host__add-select{width:100%;background:#ffffff0a;border:1px dashed rgba(255,255,255,.12);border-radius:4px;color:#ffffff73;font-size:10px;padding:4px 6px;cursor:pointer}.widget-host__add-select:hover{background:#ffffff14;color:#fff9}.widget-event-list__label{font-size:10px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:#ffffff73;margin-bottom:4px}.widget-event-list__group{margin-top:4px}.widget-event-list__group-header{font-size:11px;font-weight:600;color:#ffffffb3;margin:4px 0 2px;display:flex;align-items:center;gap:4px}.widget-event-list__group-count{font-size:10px;color:#fff6;font-weight:400}.widget-event-list__row{display:flex;align-items:baseline;gap:4px;padding:2px 4px;border-radius:3px;cursor:pointer;font-size:10px;color:#ffffffa6}.widget-event-list__row:hover{background:#ffffff0f;color:#e2e8f0}.widget-event-list__tool{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-event-list__date{font-variant-numeric:tabular-nums;white-space:nowrap}.widget-event-list__dur{color:#ffd70099;font-variant-numeric:tabular-nums;white-space:nowrap}.inst-analysis{position:fixed;top:80px;right:320px;width:310px;max-height:calc(100vh - 120px);background:#0a0a1aeb;border:1px solid rgba(255,255,255,.12);border-radius:8px;backdrop-filter:blur(12px);z-index:900;display:flex;flex-direction:column;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:12px;color:#e2e8f0}.inst-analysis__header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.08);cursor:grab;user-select:none}.inst-analysis__title{font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:#ffffffb3}.inst-analysis__close-btn{background:none;border:none;color:#ffffff80;cursor:pointer;font-size:14px;padding:0 2px;line-height:1}.inst-analysis__close-btn:hover{color:#fff}.inst-analysis__selector{display:flex;align-items:center;gap:6px;padding:6px 10px;border-bottom:1px solid rgba(255,255,255,.06)}.inst-analysis__color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.inst-analysis__select{flex:1;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:4px;color:#e2e8f0;font-size:11px;padding:3px 6px;cursor:pointer}.inst-analysis__body{flex:1;overflow-y:auto;padding:6px 10px 10px}.inst-analysis__section-label{font-size:10px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:#ffffff73;margin:8px 0 4px}.inst-analysis__member{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:11px}.inst-analysis__member-kind{font-size:10px;color:#fff6;background:#ffffff0f;padding:1px 5px;border-radius:3px}.inst-analysis__member-name{flex:1;color:#fffc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inst-analysis__member-count{font-size:10px;color:#ffd700b3;font-variant-numeric:tabular-nums}.inst-analysis__sweep-container{margin-top:6px}.inst-analysis__sweep-title{font-size:10px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:#ffffff73;margin:4px 0}.inst-analysis__sweep-presets{display:flex;gap:4px;margin-bottom:4px}.inst-analysis__preset-btn{flex:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#e2e8f0;font-size:10px;padding:3px 0;cursor:pointer}.inst-analysis__preset-btn:hover{background:#ffffff1f}.inst-analysis__sweep-row{display:flex;align-items:center;gap:6px;margin:3px 0}.inst-analysis__sweep-label{font-size:10px;color:#ffffff80;width:32px}.inst-analysis__datetime-input{flex:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:3px;color:#e2e8f0;font-size:10px;padding:2px 4px}.inst-analysis__sweep-daynight{display:flex;gap:2px;margin:4px 0}.inst-analysis__daynight-btn{flex:1;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:3px;color:#ffffff80;font-size:10px;padding:2px 0;cursor:pointer}.inst-analysis__daynight-btn:hover{background:#ffffff1a}.inst-analysis__daynight-btn--active{background:#ffd70026;border-color:#ffd7004d;color:gold}.inst-analysis__sweep-checkboxes{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0}.inst-analysis__sweep-checkbox{font-size:11px;cursor:pointer;color:#fff9;display:flex;align-items:center;gap:2px}.inst-analysis__sweep-info{font-size:10px;color:#ffffff59;margin:3px 0}.inst-analysis__progress{height:3px;background:#ffffff0f;border-radius:2px;margin:4px 0;overflow:hidden}.inst-analysis__progress-bar{height:100%;background:gold;border-radius:2px;transition:width .15s}.inst-analysis__sweep-actions{display:flex;gap:6px;margin:6px 0 4px}.inst-analysis__sweep-btn{flex:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:4px;color:#e2e8f0;font-size:11px;padding:4px 0;cursor:pointer}.inst-analysis__sweep-btn:hover{background:#ffffff1f}.inst-analysis__sweep-btn--primary{background:#ffd70026;border-color:#ffd7004d;color:gold}.inst-analysis__sweep-btn--primary:hover{background:#ffd70040}.inst-analysis__timeline-section,.inst-analysis__event-group{margin-top:6px}.inst-analysis__group-header{font-size:11px;font-weight:600;color:#ffffffb3;margin:4px 0 2px;display:flex;align-items:center;gap:4px}.inst-analysis__group-count{font-size:10px;color:#fff6;font-weight:400}.inst-analysis__event-row{display:flex;align-items:baseline;gap:4px;padding:2px 4px;border-radius:3px;cursor:pointer;font-size:10px;color:#ffffffa6}.inst-analysis__event-row:hover{background:#ffffff0f;color:#e2e8f0}.inst-analysis__event-tool{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inst-analysis__event-date{font-variant-numeric:tabular-nums;white-space:nowrap}.inst-analysis__event-dur{color:#ffd70099;font-variant-numeric:tabular-nums;white-space:nowrap}.inst-analysis__empty{text-align:center;color:#ffffff59;font-size:11px;padding:16px 0}.instrument-panel{position:fixed;top:80px;left:1388px;z-index:100;pointer-events:auto;font-family:var(--font-family, system-ui, sans-serif);font-size:var(--font-size-sm, 13px)}.instrument-panel__badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:#0a0a1ad9;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:16px;color:var(--color-text-secondary, #aaa);cursor:pointer;transition:background-color .15s ease,border-color .15s ease;user-select:none;white-space:nowrap;font-size:var(--font-size-sm, 13px)}.instrument-panel__badge:hover{background:#141428e6;border-color:#ffffff40}.instrument-panel__expanded{width:320px;min-width:260px;min-height:240px;max-height:90vh;height:560px;background:#0a0a1aeb;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:var(--border-radius, 6px);overflow:hidden;display:flex;flex-direction:column;animation:instrumentPanelIn .15s ease-out;resize:both}.instrument-panel__expanded::-webkit-resizer{background:linear-gradient(135deg,transparent 60%,rgba(255,255,255,.15) 60%,rgba(255,255,255,.15) 70%,transparent 70%,transparent 80%,rgba(255,255,255,.15) 80%)}@keyframes instrumentPanelIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.instrument-panel__header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.1);cursor:grab;user-select:none}.instrument-panel__header:active{cursor:grabbing}.instrument-panel__title{font-size:var(--font-size-xs, 11px);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary, #aaa)}.instrument-panel__header-actions{display:flex;align-items:center;gap:4px}.instrument-panel__collapse-btn,.instrument-panel__close-btn,.instrument-panel__io-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--color-text-secondary, #aaa);cursor:pointer;font-size:14px;line-height:1;transition:background-color .1s ease,color .1s ease}.instrument-panel__collapse-btn:hover,.instrument-panel__close-btn:hover,.instrument-panel__io-btn:hover{background:#ffffff1a;color:#fff}.instrument-panel__close-btn:hover{background:#ef44444d;color:#ef4444}.instrument-panel__placement-banner{padding:8px 12px;background:#8b5cf626;border-bottom:1px solid rgba(139,92,246,.3);color:#c4b5fd;font-size:var(--font-size-xs, 11px);text-align:center;animation:instrumentBannerPulse 2s ease-in-out infinite}@keyframes instrumentBannerPulse{0%,to{background:#8b5cf626}50%{background:#8b5cf640}}.instrument-panel__body{flex:1;overflow-y:auto;padding:4px 0}.instrument-panel__body::-webkit-scrollbar{width:5px}.instrument-panel__body::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.instrument-panel__body::-webkit-scrollbar-track{background:transparent}.instrument-panel__section-label{padding:6px 12px 4px;font-size:var(--font-size-xs, 11px);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary, #aaa);opacity:.7}.instrument-panel__templates{padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.06)}.instrument-panel__template-btn{display:flex;align-items:center;gap:10px;width:calc(100% - 16px);margin:3px 8px;padding:8px 10px;border:1px solid rgba(139,92,246,.2);border-radius:6px;background:#8b5cf60f;color:#e2e8f0;font-size:var(--font-size-sm, 13px);cursor:pointer;transition:background-color .15s ease,border-color .15s ease;text-align:left}.instrument-panel__template-btn:hover:not(:disabled){background:#8b5cf626;border-color:#8b5cf666}.instrument-panel__template-btn--disabled{opacity:.4;cursor:not-allowed}.instrument-panel__template-btn--cancel{justify-content:center;background:#ef444426;border-color:#ef44444d;color:#fca5a5}.instrument-panel__template-btn--cancel:hover{background:#ef444440;border-color:#ef444480;color:#fecaca}.instrument-panel__template-icon{font-size:18px;width:24px;text-align:center;flex-shrink:0}.instrument-panel__template-info{display:flex;flex-direction:column;gap:2px;min-width:0}.instrument-panel__template-name{font-weight:500;color:#e2e8f0}.instrument-panel__template-desc{font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.instrument-panel__list{display:flex;flex-direction:column}.instrument-panel__row{display:flex;align-items:center;gap:6px;padding:6px 12px;cursor:pointer;transition:background-color .1s ease;border-left:3px solid transparent}.instrument-panel__row:hover{background:#ffffff0d}.instrument-panel__row--selected{background:#8b5cf61f;border-left-color:#8b5cf6}.instrument-panel__inst-icon{font-size:16px;width:20px;text-align:center;flex-shrink:0}.instrument-panel__number{color:var(--color-text-secondary, #aaa);font-size:var(--font-size-xs, 11px);min-width:14px;text-align:right;flex-shrink:0}.instrument-panel__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e2e8f0;font-size:var(--font-size-sm, 13px);cursor:text}.instrument-panel__comp-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#8b5cf633;color:#c4b5fd;font-size:10px;font-weight:600;flex-shrink:0}.instrument-panel__fly-btn,.instrument-panel__del-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--color-text-secondary, #aaa);cursor:pointer;font-size:14px;flex-shrink:0;transition:background-color .1s ease,color .1s ease}.instrument-panel__fly-btn:hover{background:#3b82f633;color:#60a5fa}.instrument-panel__del-btn:hover{background:#ef444433;color:#ef4444}.instrument-panel__detail{padding:8px 12px;border-top:1px solid rgba(255,255,255,.08)}.instrument-panel__detail-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0;gap:8px}.instrument-panel__detail-row--position{flex-direction:column;align-items:flex-start;gap:2px}.instrument-panel__detail-label{color:var(--color-text-secondary, #aaa);font-size:var(--font-size-xs, 11px);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.instrument-panel__detail-value{color:#e2e8f0;font-size:var(--font-size-sm, 13px)}.instrument-panel__detail-value--mono{font-family:JetBrains Mono,Fira Code,monospace;font-size:11px;color:var(--color-text-secondary, #aaa);line-height:1.5}.instrument-panel__comp-list{display:flex;gap:4px;flex-wrap:wrap;padding-top:2px}.instrument-panel__comp-tag{display:inline-block;padding:2px 6px;border-radius:4px;background:#8b5cf626;color:#c4b5fd;font-size:10px;font-weight:500;text-transform:capitalize}.instrument-panel__control-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.instrument-panel__control-label{font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);min-width:60px;flex-shrink:0}.instrument-panel__control-value{font-size:var(--font-size-xs, 11px);color:var(--color-text-primary, #fff);font-family:var(--font-family-mono, monospace);min-width:40px;text-align:right}.instrument-panel__range{flex:1;-webkit-appearance:none;appearance:none;height:4px;background:#ffffff26;border-radius:2px;outline:none}.instrument-panel__range::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:#8b5cf6;border-radius:50%;cursor:pointer}.instrument-panel__range::-moz-range-thumb{width:12px;height:12px;background:#8b5cf6;border-radius:50%;cursor:pointer}.instrument-panel__color-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0;border:1px solid rgba(255,255,255,.2)}.instrument-panel__member-row{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:var(--font-size-xs, 11px);color:#e2e8f0}.instrument-panel__member-kind{color:var(--color-text-secondary, #aaa);text-transform:capitalize;min-width:52px}.instrument-panel__member-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.instrument-panel__member-badge{font-size:9px;color:var(--color-text-secondary, #aaa);opacity:.6}.instrument-panel__member-unassign{width:16px;height:16px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--color-text-secondary, #aaa);cursor:pointer;font-size:11px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.instrument-panel__member-unassign:hover{background:#ef444433;color:#ef4444}.instrument-badge{display:inline-flex;align-items:center;gap:2px;padding:1px 6px;border-radius:8px;font-size:10px;font-weight:600;color:#fff;white-space:nowrap;flex-shrink:0;line-height:1.4}.instrument-panel__custom-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:calc(100% - 16px);margin:3px 8px;padding:6px 10px;border:1px dashed rgba(156,163,175,.3);border-radius:6px;background:#9ca3af0f;color:#9ca3af;font-size:var(--font-size-sm, 13px);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.instrument-panel__custom-btn:hover{background:#9ca3af1f;border-color:#9ca3af80;color:#e2e8f0}.mirror-panel{position:fixed;top:80px;left:340px;z-index:100;pointer-events:auto;font-family:var(--font-family, system-ui, sans-serif);font-size:var(--font-size-sm, 13px)}.mirror-panel__badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:#0a0a1ad9;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:16px;color:var(--color-text-secondary, #aaa);cursor:pointer;transition:background-color .15s ease,border-color .15s ease;user-select:none;white-space:nowrap;font-size:var(--font-size-sm, 13px)}.mirror-panel__badge:hover{background:#141428e6;border-color:#ffffff40}.mirror-panel__expanded{width:300px;min-width:240px;min-height:200px;max-height:90vh;height:500px;background:#0a0a1aeb;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:var(--border-radius, 6px);overflow:hidden;display:flex;flex-direction:column;animation:mirrorPanelIn .15s ease-out;resize:both}.mirror-panel__expanded::-webkit-resizer{background:linear-gradient(135deg,transparent 60%,rgba(255,255,255,.15) 60%,rgba(255,255,255,.15) 70%,transparent 70%,transparent 80%,rgba(255,255,255,.15) 80%)}@keyframes mirrorPanelIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.mirror-panel__header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.1);cursor:grab;user-select:none}.mirror-panel__header:active{cursor:grabbing}.mirror-panel__title{font-size:var(--font-size-xs, 11px);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary, #aaa)}.mirror-panel__header-actions{display:flex;align-items:center;gap:4px}.mirror-panel__collapse-btn,.mirror-panel__close-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:16px;line-height:1;cursor:pointer;transition:background-color .15s ease}.mirror-panel__collapse-btn:hover,.mirror-panel__close-btn:hover{background:#ffffff1a}.mirror-panel__body{flex:1;overflow-y:auto;min-height:0}.mirror-panel__list{flex-shrink:0}.mirror-panel__row{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;border-left:3px solid transparent;transition:background-color .1s ease}.mirror-panel__row:hover{background:#ffffff0d}.mirror-panel__row--selected{background:#ffffff14;border-left-color:#b0bec5}.mirror-panel__mode-icon{width:14px;height:14px;min-width:14px;display:flex;align-items:center;justify-content:center;color:#b0bec5;font-size:12px}.mirror-panel__number{color:var(--color-text-secondary, #aaa);font-family:var(--font-family-mono, monospace);font-size:var(--font-size-xs, 11px);min-width:14px;text-align:center}.mirror-panel__name{flex:1;color:var(--color-text-primary, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;outline:none;border-radius:3px;padding:1px 4px;min-width:0}.mirror-panel__name:focus{background:#ffffff1a;outline:1px solid rgba(176,190,197,.5)}.mirror-panel__row--disabled{opacity:.5}.mirror-panel__toggle-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:11px;cursor:pointer;opacity:.6;transition:opacity .1s ease;flex-shrink:0}.mirror-panel__toggle-btn:hover{opacity:1}.mirror-panel__cog-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:12px;cursor:pointer;opacity:.4;transition:opacity .1s ease,background-color .1s ease;flex-shrink:0}.mirror-panel__row:hover .mirror-panel__cog-btn{opacity:.8}.mirror-panel__cog-btn:hover{opacity:1;background:#ffffff1a}.mirror-panel__flyto-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:11px;cursor:pointer;opacity:.3;transition:opacity .1s ease,background-color .1s ease,color .1s ease;flex-shrink:0}.mirror-panel__row:hover .mirror-panel__flyto-btn{opacity:.6}.mirror-panel__flyto-btn:hover{opacity:1;background:#4fc3f726;color:#4fc3f7}.mirror-panel__delete-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:11px;cursor:pointer;opacity:.4;transition:opacity .1s ease,background-color .1s ease;flex-shrink:0}.mirror-panel__row:hover .mirror-panel__delete-btn{opacity:.8}.mirror-panel__delete-btn:hover{opacity:1;background:#ff646433;color:#ff6b6b}.mirror-panel__detail{padding:8px 12px;border-top:1px solid rgba(255,255,255,.1)}.mirror-panel__detail-title{font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.mirror-panel__control-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.mirror-panel__control-label{font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);min-width:60px;flex-shrink:0}.mirror-panel__control-value{font-size:var(--font-size-xs, 11px);color:var(--color-text-primary, #fff);font-family:var(--font-family-mono, monospace);min-width:40px;text-align:right;flex-shrink:0}.mirror-panel__mode-toggle{display:flex;gap:4px}.mirror-panel__mode-btn{padding:3px 8px;border:1px solid rgba(255,255,255,.15);border-radius:3px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:var(--font-size-xs, 11px);cursor:pointer;transition:background-color .1s ease,border-color .1s ease}.mirror-panel__mode-btn:hover{background:#ffffff14}.mirror-panel__mode-btn--active{background:#b0bec533;border-color:#b0bec580;color:#b0bec5}.mirror-panel__shape-toggle{display:flex;gap:4px}.mirror-panel__shape-btn{padding:3px 8px;border:1px solid rgba(255,255,255,.15);border-radius:3px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:var(--font-size-xs, 11px);cursor:pointer;transition:background-color .1s ease,border-color .1s ease}.mirror-panel__shape-btn:hover{background:#ffffff14}.mirror-panel__shape-btn--active{background:#b0bec533;border-color:#b0bec580;color:#b0bec5}.mirror-panel__marker-select{flex:1;padding:2px 4px;border:1px solid rgba(255,255,255,.15);border-radius:3px;background:#0a0a1ae6;color:var(--color-text-primary, #fff);font-size:var(--font-size-xs, 11px)}.mirror-panel__body-selector{flex-wrap:wrap}.mirror-panel__body-checkboxes{display:flex;flex-wrap:wrap;gap:8px}.mirror-panel__body-checkbox{display:flex;align-items:center;gap:3px;font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);cursor:pointer}.mirror-panel__body-checkbox input{cursor:pointer}.mirror-panel__range{flex:1;-webkit-appearance:none;appearance:none;height:4px;background:#ffffff26;border-radius:2px;outline:none}.mirror-panel__range::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:#b0bec5;border-radius:50%;cursor:pointer}.mirror-panel__range::-moz-range-thumb{width:12px;height:12px;background:#b0bec5;border-radius:50%;cursor:pointer;border:none}.mirror-panel__number-input{width:60px;padding:2px 4px;border:1px solid rgba(255,255,255,.15);border-radius:3px;background:#ffffff0d;color:var(--color-text-primary, #fff);font-size:var(--font-size-xs, 11px);font-family:var(--font-family-mono, monospace);text-align:right}.mirror-panel__number-input:focus{outline:1px solid rgba(176,190,197,.5);border-color:#b0bec54d}.mirror-panel__sweep{padding:8px 12px;border-top:1px solid rgba(255,255,255,.1)}.mirror-panel__sweep-title{font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.mirror-panel__sweep-presets{display:flex;gap:4px;margin-bottom:8px}.mirror-panel__preset-btn{flex:1;padding:3px 4px;border:1px solid rgba(255,255,255,.15);border-radius:3px;background:#ffffff0d;color:var(--color-text-secondary, #aaa);font-size:10px;cursor:pointer;transition:background-color .1s ease,border-color .1s ease;text-align:center}.mirror-panel__preset-btn:hover{background:#b0bec526;border-color:#b0bec566;color:#b0bec5}.mirror-panel__sweep-daynight{display:flex;gap:2px;margin-bottom:8px}.mirror-panel__daynight-btn{flex:1;padding:3px 4px;border:1px solid rgba(255,255,255,.15);border-radius:3px;background:#ffffff0d;color:var(--color-text-secondary, #aaa);font-size:10px;cursor:pointer;transition:background-color .1s ease,border-color .1s ease,color .1s ease;text-align:center}.mirror-panel__daynight-btn:hover{background:#b0bec526;border-color:#b0bec566;color:#b0bec5}.mirror-panel__daynight-btn--active{background:#b0bec540;border-color:#b0bec599;color:#b0bec5}.mirror-panel__datetime-input{flex:1;padding:2px 4px;border:1px solid rgba(255,255,255,.15);border-radius:3px;background:#0a0a1ae6;color:var(--color-text-primary, #fff);font-size:var(--font-size-xs, 11px);font-family:var(--font-family-mono, monospace)}.mirror-panel__datetime-input:focus{outline:1px solid rgba(176,190,197,.5);border-color:#b0bec54d}.mirror-panel__datetime-input::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer}.mirror-panel__sweep-info{font-size:10px;color:var(--color-text-secondary, #aaa);opacity:.7;margin-bottom:6px;text-align:center}.mirror-panel__sweep-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}.mirror-panel__sweep-label{font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);min-width:40px}.mirror-panel__sweep-select{flex:1;padding:2px 4px;border:1px solid rgba(255,255,255,.15);border-radius:3px;background:#0a0a1ae6;color:var(--color-text-primary, #fff);font-size:var(--font-size-xs, 11px)}.mirror-panel__sweep-checkboxes{display:flex;gap:12px;margin-bottom:6px}.mirror-panel__sweep-checkbox{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);cursor:pointer}.mirror-panel__sweep-checkbox input{cursor:pointer}.mirror-panel__progress{width:100%;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden;margin-bottom:6px}.mirror-panel__progress-bar{height:100%;background:#b0bec5;border-radius:2px;transition:width .2s ease}.mirror-panel__sweep-actions{display:flex;gap:6px}.mirror-panel__sweep-btn{flex:1;padding:5px 8px;border:1px solid rgba(255,255,255,.15);border-radius:4px;background:#ffffff0d;color:var(--color-text-secondary, #aaa);font-size:var(--font-size-xs, 11px);cursor:pointer;transition:background-color .15s ease,border-color .15s ease;text-align:center}.mirror-panel__sweep-btn:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff40}.mirror-panel__sweep-btn--primary{background:#b0bec526;border-color:#b0bec566;color:#b0bec5}.mirror-panel__sweep-btn--primary:hover:not(:disabled){background:#b0bec540}.mirror-panel__sweep-btn:disabled{opacity:.4;cursor:not-allowed}.mirror-panel__footer{padding:8px 12px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:4px;flex-shrink:0}.mirror-panel__add-btn{width:100%;padding:6px 10px;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:4px;background:#ffffff0d;color:var(--color-text-secondary, #aaa);font-size:var(--font-size-xs, 11px);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease;text-align:center}.mirror-panel__add-btn:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff40}.mirror-panel__add-btn--disabled{opacity:.4;cursor:not-allowed}.mirror-panel__add-btn--ready{background:#4caf501f;border-color:#4caf5059;color:#81c784}.mirror-panel__add-btn--ready:hover:not(:disabled){background:#4caf5038;border-color:#4caf5080}.mirror-panel__add-btn--cancel{background:#f4433626;border-color:#f4433666;color:#ef5350}.mirror-panel__add-btn--cancel:hover{background:#f4433640;border-color:#f443368c}.mirror-panel__results{margin-top:8px;border-top:1px solid rgba(255,255,255,.08);padding-top:6px}.mirror-panel__results-header{font-size:10px;color:var(--color-text-secondary, #aaa);margin-bottom:4px;text-align:center}.mirror-panel__results-scroll{max-height:200px;overflow-y:auto}.mirror-panel__results-date{font-size:10px;font-weight:600;color:#b0bec5;padding:4px 0 2px;border-bottom:1px solid rgba(176,190,197,.15);margin-bottom:2px;font-family:var(--font-family-mono, monospace)}.mirror-panel__results-row{display:flex;align-items:center;gap:6px;padding:2px 0;font-size:10px;color:var(--color-text-primary, #fff)}.mirror-panel__results-path{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.mirror-panel__results-time{font-family:var(--font-family-mono, monospace);color:var(--color-text-secondary, #aaa);white-space:nowrap;flex-shrink:0}.mirror-panel__results-duration{font-family:var(--font-family-mono, monospace);color:var(--color-text-secondary, #aaa);min-width:28px;text-align:right;flex-shrink:0}.placement-toast{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:1000;pointer-events:none;padding:7px 20px;background:#0a0a1ae0;border:1px solid rgba(255,255,255,.18);border-radius:20px;backdrop-filter:blur(6px);font-family:var(--font-family, system-ui, sans-serif);font-size:13px;font-weight:500;color:#fff;white-space:nowrap;user-select:none;animation:placementToastIn .2s ease-out}@keyframes placementToastIn{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.primitive-panel{position:fixed;top:80px;left:1248px;z-index:100;pointer-events:auto;font-family:var(--font-family, system-ui, sans-serif);font-size:var(--font-size-sm, 13px)}.primitive-panel__badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:#0a0a1ad9;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:16px;color:var(--color-text-secondary, #aaa);cursor:pointer;transition:background-color .15s ease,border-color .15s ease;user-select:none;white-space:nowrap;font-size:var(--font-size-sm, 13px)}.primitive-panel__badge:hover{background:#141428e6;border-color:#ffffff40}.primitive-panel__expanded{width:300px;min-width:240px;min-height:200px;max-height:90vh;height:520px;background:#0a0a1aeb;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:var(--border-radius, 6px);overflow:hidden;display:flex;flex-direction:column;animation:primitivePanelIn .15s ease-out;resize:both}.primitive-panel__expanded::-webkit-resizer{background:linear-gradient(135deg,transparent 60%,rgba(255,255,255,.15) 60%,rgba(255,255,255,.15) 70%,transparent 70%,transparent 80%,rgba(255,255,255,.15) 80%)}@keyframes primitivePanelIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.primitive-panel__header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.1);cursor:grab;user-select:none}.primitive-panel__header:active{cursor:grabbing}.primitive-panel__title{font-size:var(--font-size-xs, 11px);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary, #aaa)}.primitive-panel__header-actions{display:flex;align-items:center;gap:4px}.primitive-panel__collapse-btn,.primitive-panel__close-btn,.primitive-panel__io-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--color-text-secondary, #aaa);cursor:pointer;font-size:14px;line-height:1;transition:background-color .1s ease,color .1s ease}.primitive-panel__collapse-btn:hover,.primitive-panel__close-btn:hover,.primitive-panel__io-btn:hover{background:#ffffff1a;color:#fff}.primitive-panel__close-btn:hover{background:#ef44444d;color:#ef4444}.primitive-panel__placement-banner{padding:8px 12px;background:#3b82f626;border-bottom:1px solid rgba(59,130,246,.3);color:#93c5fd;font-size:var(--font-size-xs, 11px);text-align:center;animation:primitiveBannerPulse 2s ease-in-out infinite}@keyframes primitiveBannerPulse{0%,to{background:#3b82f626}50%{background:#3b82f640}}.primitive-panel__body{flex:1;overflow-y:auto;padding:4px 0}.primitive-panel__body::-webkit-scrollbar{width:5px}.primitive-panel__body::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.primitive-panel__body::-webkit-scrollbar-track{background:transparent}.primitive-panel__list{display:flex;flex-direction:column}.primitive-panel__row{display:flex;align-items:center;gap:6px;padding:6px 12px;cursor:pointer;transition:background-color .1s ease;border-left:3px solid transparent}.primitive-panel__row:hover{background:#ffffff0d}.primitive-panel__row--selected{background:#3b82f61f;border-left-color:#3b82f6}.primitive-panel__color-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.3)}.primitive-panel__number{color:var(--color-text-secondary, #aaa);font-size:var(--font-size-xs, 11px);min-width:14px;text-align:right;flex-shrink:0}.primitive-panel__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e2e8f0;font-size:var(--font-size-sm, 13px);cursor:text}.primitive-panel__shape-badge{color:var(--color-text-secondary, #aaa);font-size:14px;flex-shrink:0;width:18px;text-align:center}.primitive-panel__row--disabled{opacity:.5}.primitive-panel__toggle-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:11px;cursor:pointer;opacity:.6;transition:opacity .1s ease;flex-shrink:0}.primitive-panel__toggle-btn:hover{opacity:1}.primitive-panel__fly-btn,.primitive-panel__del-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--color-text-secondary, #aaa);cursor:pointer;font-size:14px;flex-shrink:0;transition:background-color .1s ease,color .1s ease}.primitive-panel__fly-btn:hover{background:#3b82f633;color:#60a5fa}.primitive-panel__del-btn:hover{background:#ef444433;color:#ef4444}.primitive-panel__detail{padding:8px 12px;border-top:1px solid rgba(255,255,255,.08)}.primitive-panel__detail-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0;gap:8px}.primitive-panel__detail-row--position{flex-direction:column;align-items:flex-start;gap:2px}.primitive-panel__detail-label{color:var(--color-text-secondary, #aaa);font-size:var(--font-size-xs, 11px);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.primitive-panel__detail-value{color:#e2e8f0;font-size:var(--font-size-sm, 13px)}.primitive-panel__detail-value--mono{font-family:JetBrains Mono,Fira Code,monospace;font-size:11px;color:var(--color-text-secondary, #aaa);line-height:1.5}.primitive-panel__swatches{display:flex;gap:4px;flex-wrap:wrap}.primitive-panel__swatch{width:18px;height:18px;border-radius:4px;border:2px solid transparent;cursor:pointer;transition:border-color .1s ease,transform .1s ease;padding:0}.primitive-panel__swatch:hover{border-color:#ffffff80;transform:scale(1.15)}.primitive-panel__swatch--active{border-color:#fff;transform:scale(1.15)}.primitive-panel__footer{display:flex;gap:4px;padding:8px 12px;border-top:1px solid rgba(255,255,255,.08)}.primitive-panel__shape-btn{flex:1;padding:6px 8px;border:1px solid rgba(59,130,246,.3);border-radius:6px;background:#3b82f61a;color:#93c5fd;font-size:var(--font-size-sm, 13px);cursor:pointer;transition:background-color .15s ease,border-color .15s ease;white-space:nowrap}.primitive-panel__shape-btn:hover:not(:disabled){background:#3b82f633;border-color:#3b82f680;color:#bfdbfe}.primitive-panel__shape-btn--disabled{opacity:.4;cursor:not-allowed}.primitive-panel__shape-btn--cancel{background:#ef444426;border-color:#ef44444d;color:#fca5a5}.primitive-panel__shape-btn--cancel:hover{background:#ef444440;border-color:#ef444480;color:#fecaca}.primitive-panel__control-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.primitive-panel__control-label{font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);min-width:60px;flex-shrink:0}.primitive-panel__control-value{font-size:var(--font-size-xs, 11px);color:var(--color-text-primary, #fff);font-family:var(--font-family-mono, monospace);min-width:40px;text-align:right}.primitive-panel__range{flex:1;-webkit-appearance:none;appearance:none;height:4px;background:#ffffff26;border-radius:2px;outline:none}.primitive-panel__range::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:#3b82f6;border-radius:50%;cursor:pointer}.primitive-panel__range::-moz-range-thumb{width:12px;height:12px;background:#3b82f6;border-radius:50%;cursor:pointer}.sightline-panel{position:fixed;top:80px;left:616px;z-index:100;pointer-events:auto;font-family:var(--font-family, system-ui, sans-serif);font-size:var(--font-size-sm, 13px)}.sightline-panel__badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:#0a0a1ad9;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:16px;color:var(--color-text-secondary, #aaa);cursor:pointer;transition:background-color .15s ease,border-color .15s ease;user-select:none;white-space:nowrap;font-size:var(--font-size-sm, 13px)}.sightline-panel__badge:hover{background:#141428e6;border-color:#ffffff40}.sightline-panel__expanded{width:300px;min-width:240px;min-height:200px;max-height:90vh;height:520px;background:#0a0a1aeb;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:var(--border-radius, 6px);overflow:hidden;display:flex;flex-direction:column;animation:sightlinePanelIn .15s ease-out;resize:both}.sightline-panel__expanded::-webkit-resizer{background:linear-gradient(135deg,transparent 60%,rgba(255,255,255,.15) 60%,rgba(255,255,255,.15) 70%,transparent 70%,transparent 80%,rgba(255,255,255,.15) 80%)}@keyframes sightlinePanelIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sightline-panel__header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.1);cursor:grab;user-select:none}.sightline-panel__header:active{cursor:grabbing}.sightline-panel__title{font-size:var(--font-size-xs, 11px);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary, #aaa)}.sightline-panel__header-actions{display:flex;align-items:center;gap:4px}.sightline-panel__collapse-btn,.sightline-panel__close-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:16px;line-height:1;cursor:pointer;transition:background-color .15s ease}.sightline-panel__collapse-btn:hover,.sightline-panel__close-btn:hover{background:#ffffff1a}.sightline-panel__body{flex:1;overflow-y:auto;min-height:0}.sightline-panel__list{flex-shrink:0}.sightline-panel__row{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;border-left:3px solid transparent;transition:background-color .1s ease}.sightline-panel__row:hover{background:#ffffff0d}.sightline-panel__row--selected{background:#ffffff14;border-left-color:#f59e0b}.sightline-panel__color-dot{width:12px;height:12px;min-width:12px;border-radius:50%;border:1px solid rgba(255,255,255,.3);cursor:pointer;padding:0;flex-shrink:0;transition:transform .1s ease}.sightline-panel__color-dot:hover{transform:scale(1.2);border-color:#fff9}.sightline-panel__number{color:var(--color-text-secondary, #aaa);font-family:var(--font-family-mono, monospace);font-size:var(--font-size-xs, 11px);min-width:14px;text-align:center}.sightline-panel__name{flex:1;color:var(--color-text-primary, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;outline:none;border-radius:3px;padding:1px 4px;min-width:0}.sightline-panel__name:focus{background:#ffffff1a;outline:1px solid rgba(79,195,247,.5)}.sightline-panel__delete-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:11px;cursor:pointer;opacity:.4;transition:opacity .1s ease,background-color .1s ease;flex-shrink:0}.sightline-panel__row:hover .sightline-panel__delete-btn{opacity:.8}.sightline-panel__delete-btn:hover{opacity:1;background:#ff646433;color:#ff6b6b}.sightline-panel__row--disabled{opacity:.5}.sightline-panel__toggle-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:11px;cursor:pointer;opacity:.6;transition:opacity .1s ease;flex-shrink:0}.sightline-panel__toggle-btn:hover{opacity:1}.sightline-panel__cog-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--color-text-secondary, #aaa);font-size:12px;cursor:pointer;opacity:.4;transition:opacity .1s ease,background-color .1s ease;flex-shrink:0}.sightline-panel__row:hover .sightline-panel__cog-btn{opacity:.8}.sightline-panel__cog-btn:hover{opacity:1;background:#ffffff1a}.sightline-panel__detail{padding:8px 12px;border-top:1px solid rgba(255,255,255,.1)}.sightline-panel__detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.sightline-panel__detail-title{font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);text-transform:uppercase;letter-spacing:.06em}.sightline-panel__flyto-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid rgba(255,255,255,.15);border-radius:4px;background:#ffffff0d;color:var(--color-text-secondary, #aaa);font-size:12px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.sightline-panel__flyto-btn:hover{background:#f59e0b26;border-color:#f59e0b66}.sightline-panel__body-summary{font-size:10px;color:var(--color-text-secondary, #aaa);padding:3px 0;opacity:.8}.sightline-panel__control-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.sightline-panel__control-label{font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);min-width:60px;flex-shrink:0}.sightline-panel__control-value{font-size:var(--font-size-xs, 11px);color:var(--color-text-primary, #fff);font-family:var(--font-family-mono, monospace);min-width:40px;text-align:right;flex-shrink:0}.sightline-panel__computed{padding:6px 0;border-top:1px solid rgba(255,255,255,.06);margin-top:4px}.sightline-panel__computed-row{display:flex;justify-content:space-between;align-items:center;padding:1px 0}.sightline-panel__computed-label{font-size:10px;color:var(--color-text-secondary, #aaa)}.sightline-panel__computed-value{font-size:10px;color:var(--color-text-primary, #fff);font-family:var(--font-family-mono, monospace)}.sightline-panel__matches{margin-top:4px;padding:4px 6px;background:#ffd70014;border:1px solid rgba(255,215,0,.15);border-radius:4px;font-size:10px;color:gold}.sightline-panel__matches--empty{background:transparent;border-color:#ffffff0f;color:var(--color-text-secondary, #aaa)}.sightline-panel__range{flex:1;-webkit-appearance:none;appearance:none;height:4px;background:#ffffff26;border-radius:2px;outline:none}.sightline-panel__range::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:#f59e0b;border-radius:50%;cursor:pointer}.sightline-panel__range::-moz-range-thumb{width:12px;height:12px;background:#f59e0b;border-radius:50%;cursor:pointer;border:none}.sightline-panel__number-input{width:60px;padding:2px 4px;border:1px solid rgba(255,255,255,.15);border-radius:3px;background:#ffffff0d;color:var(--color-text-primary, #fff);font-size:var(--font-size-xs, 11px);font-family:var(--font-family-mono, monospace);text-align:right}.sightline-panel__number-input:focus{outline:1px solid rgba(79,195,247,.5);border-color:#4fc3f74d}.sightline-panel__placement-banner{padding:8px 12px;background:#f59e0b1f;border-bottom:1px solid rgba(245,158,11,.2);font-size:var(--font-size-xs, 11px);color:#f59e0b;text-align:center;font-weight:500}.sightline-panel__sweep{padding:8px 12px;border-top:1px solid rgba(255,255,255,.1)}.sightline-panel__sweep-title{font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.sightline-panel__sweep-presets{display:flex;gap:4px;margin-bottom:8px}.sightline-panel__preset-btn{flex:1;padding:3px 4px;border:1px solid rgba(255,255,255,.15);border-radius:3px;background:#ffffff0d;color:var(--color-text-secondary, #aaa);font-size:10px;cursor:pointer;transition:background-color .1s ease,border-color .1s ease;text-align:center}.sightline-panel__preset-btn:hover{background:#f59e0b26;border-color:#f59e0b66;color:#f59e0b}.sightline-panel__sweep-daynight{display:flex;gap:2px;margin-bottom:8px}.sightline-panel__daynight-btn{flex:1;padding:3px 4px;border:1px solid rgba(255,255,255,.15);border-radius:3px;background:#ffffff0d;color:var(--color-text-secondary, #aaa);font-size:10px;cursor:pointer;transition:background-color .1s ease,border-color .1s ease,color .1s ease;text-align:center}.sightline-panel__daynight-btn:hover{background:#f59e0b26;border-color:#f59e0b66;color:#f59e0b}.sightline-panel__daynight-btn--active{background:#f59e0b40;border-color:#f59e0b99;color:#f59e0b}.sightline-panel__sweep-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}.sightline-panel__sweep-label{font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);min-width:40px}.sightline-panel__datetime-input{flex:1;padding:2px 4px;border:1px solid rgba(255,255,255,.15);border-radius:3px;background:#0a0a1ae6;color:var(--color-text-primary, #fff);font-size:var(--font-size-xs, 11px);font-family:var(--font-family-mono, monospace)}.sightline-panel__datetime-input:focus{outline:1px solid rgba(79,195,247,.5);border-color:#4fc3f74d}.sightline-panel__datetime-input::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer}.sightline-panel__sweep-select{flex:1;padding:2px 4px;border:1px solid rgba(255,255,255,.15);border-radius:3px;background:#0a0a1ae6;color:var(--color-text-primary, #fff);font-size:var(--font-size-xs, 11px)}.sightline-panel__sweep-checkboxes{display:flex;gap:12px;margin-bottom:6px}.sightline-panel__sweep-checkbox{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);cursor:pointer}.sightline-panel__sweep-checkbox input{cursor:pointer}.sightline-panel__sweep-info{font-size:10px;color:var(--color-text-secondary, #aaa);opacity:.7;margin-bottom:6px;text-align:center}.sightline-panel__progress{width:100%;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden;margin-bottom:6px}.sightline-panel__progress-bar{height:100%;background:#f59e0b;border-radius:2px;transition:width .2s ease}.sightline-panel__sweep-actions{display:flex;gap:6px}.sightline-panel__sweep-btn{flex:1;padding:5px 8px;border:1px solid rgba(255,255,255,.15);border-radius:4px;background:#ffffff0d;color:var(--color-text-secondary, #aaa);font-size:var(--font-size-xs, 11px);cursor:pointer;transition:background-color .15s ease,border-color .15s ease;text-align:center}.sightline-panel__sweep-btn:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff40}.sightline-panel__sweep-btn--primary{background:#f59e0b26;border-color:#f59e0b66;color:#f59e0b}.sightline-panel__sweep-btn--primary:hover:not(:disabled){background:#f59e0b40}.sightline-panel__sweep-btn:disabled{opacity:.4;cursor:not-allowed}.sightline-panel__footer{padding:8px 12px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:4px;flex-shrink:0}.sightline-panel__add-btn{width:100%;padding:6px 10px;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:4px;background:#ffffff0d;color:var(--color-text-secondary, #aaa);font-size:var(--font-size-xs, 11px);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease;text-align:center}.sightline-panel__add-btn:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff40}.sightline-panel__add-btn--disabled{opacity:.4;cursor:not-allowed}.sightline-panel__add-btn--ready{background:#4caf501f;border-color:#4caf5059;color:#81c784}.sightline-panel__add-btn--ready:hover:not(:disabled){background:#4caf5038;border-color:#4caf5080}.sightline-panel__add-btn--cancel{background:#f4433626;border-color:#f4433666;color:#ef5350}.sightline-panel__add-btn--cancel:hover{background:#f4433640;border-color:#f443368c}.sightline-panel__results{margin-top:8px;border-top:1px solid rgba(255,255,255,.08);padding-top:6px}.sightline-panel__results-header{font-size:10px;color:var(--color-text-secondary, #aaa);margin-bottom:4px;text-align:center}.sightline-panel__results-scroll{max-height:200px;overflow-y:auto}.sightline-panel__results-date{font-size:10px;font-weight:600;color:#f59e0b;padding:4px 0 2px;border-bottom:1px solid rgba(245,158,11,.15);margin-bottom:2px;font-family:var(--font-family-mono, monospace)}.sightline-panel__results-row{display:flex;align-items:center;gap:6px;padding:2px 0;font-size:10px;color:var(--color-text-primary, #fff)}.sightline-panel__results-path{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sightline-panel__results-time{font-family:var(--font-family-mono, monospace);color:var(--color-text-secondary, #aaa);white-space:nowrap;flex-shrink:0}.sightline-panel__results-duration{font-family:var(--font-family-mono, monospace);color:var(--color-text-secondary, #aaa);min-width:28px;text-align:right;flex-shrink:0}.ve-panel{position:fixed;top:120px;right:360px;width:460px;z-index:101;background:#0a0a1af0;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:var(--border-radius, 6px);font-family:var(--font-family, system-ui, sans-serif);font-size:var(--font-size-sm, 13px);color:#ffffffd9;overflow:hidden;display:flex;flex-direction:column;max-height:90vh;pointer-events:auto;animation:vePanelIn .15s ease-out}@keyframes vePanelIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ve-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.1);cursor:grab;user-select:none;flex-shrink:0}.ve-header__name{font-size:14px;font-weight:600;color:#daa520;letter-spacing:.3px}.ve-header__close{background:none;border:none;color:#ffffff80;font-size:18px;cursor:pointer;padding:0 4px;line-height:1}.ve-header__close:hover{color:#fffc}.ve-section{padding:6px 12px;border-bottom:1px solid rgba(255,255,255,.05)}.ve-section:last-of-type{border-bottom:none}.ve-section-title{font-size:11px;font-weight:600;color:#fff6;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.ve-source-section{max-height:260px;overflow-y:auto}.ve-source-section::-webkit-scrollbar{width:4px}.ve-source-section::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.ve-formant-table{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:6px}.ve-formant-table th{font-size:10px;font-weight:600;color:#fff6;text-transform:uppercase;padding:2px 4px;text-align:left}.ve-formant-label{color:#ffffff80;font-weight:600;font-size:11px;padding-right:6px}.ve-formant-input{width:68px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:3px;color:#fffc;padding:2px 4px;font-size:11px;font-family:inherit}.ve-formant-input:focus{border-color:#daa52080;outline:none}.ve-formant-presets{display:flex;flex-direction:column;gap:3px}.ve-preset-row{display:flex;align-items:center;gap:3px}.ve-preset-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#ffffff80;padding:2px 8px;border-radius:3px;cursor:pointer;font-size:11px;font-family:inherit;transition:background .1s,color .1s,border-color .1s}.ve-preset-btn:hover{background:#ffffff1a;color:#ffffffb3}.ve-preset-btn--active{background:#daa52033;border-color:#daa52080;color:#daa520}.ve-preset-btn--reset{margin-left:auto;font-size:10px;padding:2px 6px}.ve-slider-row{display:flex;align-items:center;gap:6px;margin-bottom:2px}.ve-slider-label{color:#fff6;font-size:11px;min-width:70px;flex-shrink:0}.ve-slider{flex:1;height:3px;accent-color:#daa520;cursor:pointer}.ve-slider-value{color:#ffffff80;font-size:11px;min-width:52px;text-align:right;flex-shrink:0}.ve-analyzer-section{padding-bottom:8px}.ve-spectrum-canvas{width:100%;min-height:140px;height:140px;display:block;border-radius:3px}.ve-preset-bar{display:flex;flex-direction:column;gap:4px}.ve-preset-header{display:flex;align-items:center;gap:6px}.ve-preset-bar-title{font-size:11px;font-weight:600;color:#fff6;text-transform:uppercase;letter-spacing:.5px;flex:1}.ve-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#fff9;padding:3px 8px;border-radius:3px;cursor:pointer;font-size:11px;font-family:inherit;transition:background .1s}.ve-btn:hover{background:#ffffff1a}.ve-btn--sm{padding:2px 6px;font-size:10px}.ve-preset-update{color:#daa520;border-color:#daa5204d}.ve-preset-update--dirty{background:#daa52026}.ve-preset-name-input{display:flex;align-items:center;gap:4px}.ve-preset-name{flex:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.2);border-radius:3px;color:#fffc;padding:3px 6px;font-size:11px;font-family:inherit}.ve-preset-name:focus{border-color:#daa52080;outline:none}.ve-preset-cards{display:flex;flex-wrap:wrap;gap:3px}.ve-preset-card{display:flex;align-items:center;gap:2px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:3px;padding:2px 6px;font-size:11px;cursor:pointer;transition:border-color .1s,background .1s}.ve-preset-card:hover{background:#ffffff14}.ve-preset-card--active{border-color:#daa52080;background:#daa5201a}.ve-preset-card--dirty{border-style:dashed}.ve-preset-card-name{color:#ffffffb3}.ve-preset-card--active .ve-preset-card-name{color:#daa520}.ve-preset-delete{background:none;border:none;color:#ffffff4d;font-size:12px;cursor:pointer;padding:0 2px;line-height:1}.ve-preset-delete:hover{color:#ff6464cc}.ve-preset-delete--confirm{color:#ff6b6b;font-weight:700}.ve-disabled-overlay{position:absolute;inset:0;background:#0a0a1ad9;display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff6;z-index:10;pointer-events:all}.vocal-panel{position:fixed;top:130px;right:var(--spacing-md, 12px);z-index:100;pointer-events:auto;font-family:var(--font-family, system-ui, sans-serif);font-size:var(--font-size-sm, 13px)}.vocal-panel__badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:#0a0a1ad9;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:16px;color:var(--color-text-secondary, #aaa);cursor:pointer;transition:background-color .15s ease,border-color .15s ease;user-select:none;white-space:nowrap}.vocal-panel__badge:hover{background:#141428e6;border-color:#ffffff40}.vocal-panel__badge--active{border-color:#daa52080;color:#daa520}.vocal-panel__expanded{width:340px;min-width:260px;min-height:200px;max-height:560px;background:#0a0a1aeb;border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:var(--border-radius, 6px);overflow:hidden;display:flex;flex-direction:column;animation:vocalPanelIn .15s ease-out;resize:both}.vocal-panel__expanded::-webkit-resizer{background:linear-gradient(135deg,transparent 60%,rgba(255,255,255,.15) 60%,rgba(255,255,255,.15) 70%,transparent 70%,transparent 80%,rgba(255,255,255,.15) 80%)}@keyframes vocalPanelIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.vocal-panel__header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.1);cursor:grab;user-select:none}.vocal-panel__title{font-size:14px;font-weight:600;color:#daa520;letter-spacing:.3px}.vocal-panel__header-actions{display:flex;align-items:center;gap:4px}.vocal-panel__collapse-btn,.vocal-panel__close-btn{background:none;border:none;color:#ffffff80;font-size:18px;cursor:pointer;padding:0 4px;line-height:1}.vocal-panel__collapse-btn:hover,.vocal-panel__close-btn:hover{color:#fffc}.vocal-panel__master{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.07)}.vocal-panel__play-btn{background:#daa52026;border:1px solid rgba(218,165,32,.3);color:#daa520;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;transition:background .12s,border-color .12s;white-space:nowrap}.vocal-panel__play-btn:hover{background:#daa52040;border-color:#daa52080}.vocal-panel__play-btn--active{background:#daa5204d;border-color:#daa520}.vocal-panel__master-label{color:#ffffff80;font-size:11px;flex-shrink:0}.vocal-panel__master-slider{flex:1;height:4px;accent-color:#daa520;cursor:pointer}.vocal-panel__master-value{color:#fff9;font-size:11px;min-width:30px;text-align:right}.vocal-panel__body-list{flex:1;overflow-y:auto;padding:4px 0}.vocal-panel__body-list::-webkit-scrollbar{width:5px}.vocal-panel__body-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.vocal-voice{padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.05)}.vocal-voice:last-child{border-bottom:none}.vocal-voice__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.vocal-voice__name{font-weight:600;font-size:13px}.vocal-voice__symbol{margin-right:4px}.vocal-voice__cog{background:none;border:none;color:#ffffff4d;font-size:13px;cursor:pointer;padding:0 3px;line-height:1;transition:color .12s}.vocal-voice__cog:hover{color:#daa520}.vocal-voice__remove{background:none;border:none;color:#ffffff4d;font-size:14px;cursor:pointer;padding:0 4px;line-height:1}.vocal-voice__remove:hover{color:#ff6464cc}.vocal-voice__vowel-row{display:flex;align-items:center;gap:6px;margin-bottom:5px}.vocal-voice__vowels{display:flex;gap:2px}.vocal-voice__vowel-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#ffffff80;padding:2px 8px;border-radius:3px;cursor:pointer;font-size:12px;font-family:inherit;transition:background .1s,color .1s,border-color .1s}.vocal-voice__vowel-btn:hover{background:#ffffff1a;color:#ffffffb3}.vocal-voice__vowel-btn--active{background:#daa52033;border-color:#daa52080;color:#daa520}.vocal-voice__gender-btns{display:flex;gap:2px;margin-left:auto}.vocal-voice__gender-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#ffffff80;padding:2px 6px;border-radius:3px;cursor:pointer;font-size:12px;transition:background .1s,color .1s,border-color .1s}.vocal-voice__gender-btn:hover{background:#ffffff1a;color:#ffffffb3}.vocal-voice__gender-btn--active{background:#daa52033;border-color:#daa52080;color:#daa520}.vocal-voice__mute-btn{background:none;border:none;font-size:14px;cursor:pointer;padding:0 2px;opacity:.7;transition:opacity .1s}.vocal-voice__mute-btn:hover{opacity:1}.vocal-voice__mute-btn--muted{opacity:.3}.vocal-voice__slider-row{display:flex;align-items:center;gap:6px;margin-bottom:3px}.vocal-voice__slider-label{color:#fff6;font-size:11px;min-width:32px}.vocal-voice__slider{flex:1;height:3px;accent-color:#daa520;cursor:pointer}.vocal-voice__slider-value{color:#ffffff80;font-size:11px;min-width:40px;text-align:right}.vocal-voice__slider-value--range{min-width:64px}.vocal-voice__auto-toggle{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#ffffff59;width:20px;height:18px;padding:0;border-radius:3px;cursor:pointer;font-size:10px;font-weight:700;font-family:inherit;line-height:18px;text-align:center;flex-shrink:0;transition:background .1s,color .1s,border-color .1s}.vocal-voice__auto-toggle:hover{background:#ffffff1a;color:#fff9}.vocal-voice__auto-toggle--active{background:#daa52033;border-color:#daa52080;color:#daa520}.vocal-voice__auto-toggle--active:hover{background:#daa5204d}.vocal-voice__range-slider{position:relative;flex:1;height:14px;cursor:pointer;touch-action:none}.vocal-voice__range-track{position:absolute;top:50%;left:0;right:0;height:3px;transform:translateY(-50%);background:#ffffff1f;border-radius:2px}.vocal-voice__range-fill{position:absolute;top:50%;height:3px;transform:translateY(-50%);background:#daa52066;border-radius:2px}.vocal-voice__range-thumb{position:absolute;top:50%;width:10px;height:10px;margin-left:-5px;margin-top:-5px;background:#daa520;border-radius:50%;z-index:1;touch-action:none;cursor:grab;transition:transform .08s,box-shadow .08s}.vocal-voice__range-thumb:hover{transform:scale(1.2);box-shadow:0 0 4px #daa52080}.vocal-voice__range-thumb--dragging{cursor:grabbing;transform:scale(1.3);box-shadow:0 0 6px #daa52099}.vocal-voice__activity{width:6px;height:6px;border-radius:50%;background:#ffffff1a;margin-left:4px;transition:background .2s}.vocal-voice__activity--active{background:#daa520;box-shadow:0 0 4px #daa52080}.vocal-panel__footer{padding:8px 12px;border-top:1px solid rgba(255,255,255,.07)}.vocal-panel__add-row{display:flex;align-items:center;gap:6px}.vocal-panel__add-select{flex:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:4px;color:#ffffffb3;padding:4px 8px;font-size:12px;font-family:inherit}.vocal-panel__add-btn{background:#daa5201a;border:1px solid rgba(218,165,32,.25);color:#daa520;padding:4px 10px;border-radius:4px;cursor:pointer;font-size:12px;transition:background .12s}.vocal-panel__add-btn:hover{background:#daa52033}body.drawing-mode{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cline x1='16' y1='0' x2='16' y2='12' stroke='%23e53e3e' stroke-width='1.5'/%3E%3Cline x1='16' y1='20' x2='16' y2='32' stroke='%23e53e3e' stroke-width='1.5'/%3E%3Cline x1='0' y1='16' x2='12' y2='16' stroke='%23e53e3e' stroke-width='1.5'/%3E%3Cline x1='20' y1='16' x2='32' y2='16' stroke='%23e53e3e' stroke-width='1.5'/%3E%3C/svg%3E") 16 16,crosshair}body.drawing-mode .cesium-viewer canvas{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cline x1='16' y1='0' x2='16' y2='12' stroke='%23e53e3e' stroke-width='1.5'/%3E%3Cline x1='16' y1='20' x2='16' y2='32' stroke='%23e53e3e' stroke-width='1.5'/%3E%3Cline x1='0' y1='16' x2='12' y2='16' stroke='%23e53e3e' stroke-width='1.5'/%3E%3Cline x1='20' y1='16' x2='32' y2='16' stroke='%23e53e3e' stroke-width='1.5'/%3E%3C/svg%3E") 16 16,crosshair!important}.global-hotkey-panel{position:fixed;top:80px;left:20px;width:240px;max-height:calc(100vh - 100px);background:#0a0a14eb;border:1px solid rgba(255,255,255,.15);border-radius:8px;box-shadow:0 4px 24px #0009;font-family:var(--font-family-base, system-ui, sans-serif);font-size:12px;z-index:var(--z-panel, 20);color:#ffffffe6;overflow:hidden;display:flex;flex-direction:column;pointer-events:auto}.global-hotkey-panel__context{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#0003;border-bottom:1px solid rgba(255,255,255,.08)}.global-hotkey-panel__context-label{color:#fff9;font-size:10px}.global-hotkey-panel__context-mode{font-weight:600;font-size:11px;padding:2px 8px;border-radius:4px;text-transform:uppercase}.global-hotkey-panel__context-mode--globe{background:#6495ed4d;color:#8cf}.global-hotkey-panel__context-mode--ground{background:#64c8964d;color:#8fa}
