@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Sans:wght@400;500;700&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{flex-direction:column;width:100%;height:100vh;display:flex}body{background:#060810;margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.cesium-svgPath-svg{width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.cesium-button{color:#edffff;fill:#edffff;cursor:pointer;-webkit-user-select:none;user-select:none;background:#303336;border:1px solid #444;border-radius:4px;margin:2px 3px;padding:5px 12px;display:inline-block;position:relative;overflow:hidden}.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{color:#646464;fill:#646464;box-shadow:none;cursor:default;background:#303336;border-color:#444}.cesium-button option{color:#eee;background-color:#000}.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;vertical-align:middle;z-index:0;border-radius:14%;width:32px;height:32px;padding:0}.cesium-performanceDisplay-defaultContainer{text-align:right;position:absolute;top:50px;right:10px}.cesium-performanceDisplay{background-color:#282828b3;border:1px solid #444;border-radius:5px;padding:7px;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;z-index:-100;display:block;position:absolute}.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;text-anchor:middle;font-family:sans-serif;font-size:15px}.cesium-animation-blank{fill:#000;fill-opacity:.01;stroke:none}.cesium-animation-rectButton{cursor:pointer;-webkit-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.2px}.cesium-animation-rectButton:hover .cesium-animation-buttonMain{stroke:#aef}.cesium-animation-rectButton:active .cesium-animation-buttonMain{fill:#abd6ff}.cesium-animation-buttonDisabled{-webkit-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{fill:#2e2;display:block}.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.2px}.cesium-animation-shuttleRingSwoosh line{stroke:#8ac;stroke-width:3px;stroke-opacity:.2;stroke-linecap:round}.cesium-animation-knobOuter{cursor:pointer;stroke:#444;stroke-width:1.2px}.cesium-animation-knobInner{cursor:pointer}.cesium-baseLayerPicker-selected{border:none;width:100%;height:100%;position:absolute;top:0;left:0}.cesium-baseLayerPicker-dropDown{box-sizing:content-box;-webkit-user-select:none;user-select:none;visibility:hidden;opacity:0;background-color:#262626bf;border:1px solid #444;border-radius:10px;width:320px;max-height:500px;margin-top:5px;padding:6px;transition:visibility 0s .2s,opacity .2s ease-in,transform .2s ease-in;display:block;position:absolute;top:auto;right:0;overflow:auto;transform:translateY(-20%)}.cesium-baseLayerPicker-dropDown-visible{visibility:visible;opacity:1;transition:opacity .2s ease-out,transform .2s ease-out;transform:translate(0)}.cesium-baseLayerPicker-sectionTitle{text-align:left;color:#edffff;margin-bottom:4px;font-family:sans-serif;font-size:16pt;display:block}.cesium-baseLayerPicker-choices{margin-bottom:5px}.cesium-baseLayerPicker-categoryTitle{color:#edffff;font-size:11pt}.cesium-baseLayerPicker-choices{border:1px solid #888;border-radius:5px;padding:5px 0;display:block}.cesium-baseLayerPicker-item{vertical-align:top;text-align:center;cursor:pointer;width:64px;margin:2px 5px;display:inline-block}.cesium-baseLayerPicker-itemLabel{text-align:center;vertical-align:middle;color:#edffff;cursor:pointer;word-wrap:break-word;font-family:sans-serif;font-size:8pt;display:block}.cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemLabel,.cesium-baseLayerPicker-item:focus .cesium-baseLayerPicker-itemLabel{text-decoration:underline}.cesium-baseLayerPicker-itemIcon{width:inherit;color:#edffff;cursor:pointer;box-sizing:border-box;background-size:100% 100%;border:1px solid #444;border-radius:9px;height:auto;margin:0;padding:0;display:inline-block;position:relative}.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:4px double #bdecf8}.cesium-widget{width:100%;height:100%;font-family:sans-serif;font-size:16px;display:block;position:relative;top:0;left:0;overflow:hidden}.cesium-widget,.cesium-widget canvas{touch-action:none;width:100%;height:100%}.cesium-widget-credits{color:#fff;text-shadow:0 0 2px #000;padding-right:5px;font-size:10px;display:block;position:absolute;bottom:0;left:0}.cesium-widget-errorPanel{text-align:center;z-index:99999;background:#000000b3;position:absolute;inset:0}.cesium-widget-errorPanel:before{vertical-align:middle;content:"";height:100%;display:inline-block}.cesium-widget-errorPanel-content{text-align:left;vertical-align:middle;color:#510c00;background-color:#f0d9d5;border:1px solid #510c00;border-radius:7px;width:75%;max-width:500px;font-size:14px;display:inline-block}.cesium-widget-errorPanel-content.expanded{max-width:75%}.cesium-widget-errorPanel-header{background:#d69d93;border-bottom:2px solid #510c00;border-radius:3px 3px 0 0;padding:15px;font-family:Open Sans,Verdana,Geneva,sans-serif;font-size:18px}.cesium-widget-errorPanel-scroll{white-space:pre-wrap;margin:10px 0 20px;padding:0 15px;font-family:Open Sans,Verdana,Geneva,sans-serif;overflow:auto}.cesium-widget-errorPanel-buttonPanel{text-align:right;margin:10px 0 20px;padding:0 15px}.cesium-widget-errorPanel-buttonPanel button{color:#202020;background:#d69d93;border-color:#510c00;margin:0}.cesium-widget-errorPanel-buttonPanel button:focus,.cesium-widget-errorPanel-buttonPanel button:hover{color:#510c00;background:#f0d9d5;border-color:#510c00}.cesium-widget-errorPanel-buttonPanel button:active{color:#510c00;background:#b17b72;border-color:#510c00}.cesium-widget-errorPanel-more-details{cursor:pointer;text-decoration:underline}.cesium-widget-errorPanel-more-details:hover{color:#2b0700}.cesium-cesiumInspector{color:#edffff;-webkit-user-select:none;user-select:none;background:#303336cc;border:1px solid #444;border-radius:5px;padding:4px 12px;transition:width .25s ease-in-out;display:inline-block;position:relative;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;overflow:hidden;padding:0!important}.cesium-cesiumInspector-dropDown{width:185px;margin:5px 0;font-family:sans-serif;font-size:10pt}.cesium-cesiumInspector-frustumStatistics{background-color:#505050bf;padding:5px}.cesium-cesiumInspector-pickButton{color:#edffff;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:#0000004d;border:1px solid #444;border-radius:5px;margin:0 auto;padding:3px 7px}.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{cursor:pointer;margin:0;font-size:10pt;font-weight:700}.cesium-cesiumInspector-pickSection{border:1px solid #aaa;border-radius:5px;margin-bottom:5px;padding:3px}.cesium-cesiumInspector-sectionContent{margin-bottom:10px;transition:max-height .25s}.cesium-cesiumInspector-tileText{border-bottom:1px solid #aaa;padding-bottom:10px}.cesium-cesiumInspector-relativeText{padding-top:10px}.cesium-cesiumInspector-sectionHeader:before{content:"-";width:1ch;margin-right:5px;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;color:#edffff;cursor:auto;background-color:#222;border:1px solid #444;border-radius:3px;outline:none;width:100px;margin-left:10px;padding:1px}.cesium-cesiumInspector-slider input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cesium-cesiumInspector-slider input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cesium-cesiumInspector-slider input[type=range]{vertical-align:middle;margin-left:5px}.cesium-cesiumInspector-hide .cesium-cesiumInspector-styleEditor{display:none}.cesium-cesiumInspector-styleEditor{background:#303336cc;border:1px solid #444;border-radius:5px;padding:10px}.cesium-cesiumInspector-styleEditor textarea{color:#edffff;white-space:pre;overflow-wrap:normal;background:0 0;border:none;width:100%;height:300px;padding:0;overflow-x:auto}.cesium-3DTilesInspector{pointer-events:all;width:300px}.cesium-3DTilesInspector-statistics{font-size:11px}.cesium-3DTilesInspector-disabledElementsInfo{color:#eed202;margin:5px 0 0;padding:0 0 0 20px}.cesium-3DTilesInspector div,.cesium-3DTilesInspector input[type=range]{box-sizing:border-box;width:100%}.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 #fff}input.cesium-cesiumInspector-url{white-space:nowrap;color:#fff;background-color:#0000;border:none;outline:none;width:100%;height:1em;overflow:scroll hidden}.cesium-cesiumInspector .field-group{display:table}.cesium-cesiumInspector .field-group>label{font-weight:700;display:table-cell}.cesium-cesiumInspector .field-group>.field{width:100%;display:table-cell}.cesium-VoxelInspector{pointer-events:all;width:300px}.cesium-VoxelInspector div,.cesium-VoxelInspector input[type=range]{box-sizing:border-box;width:100%}.cesium-VoxelInspector .cesium-cesiumInspector-section{margin-top:3px}.cesium-VoxelInspector .cesium-cesiumInspector-sectionHeader+.cesium-cesiumInspector-show{border-top:1px solid #fff}.cesium-button.cesium-fullscreenButton,.cesium-button.cesium-vrButton{border-radius:0;width:100%;height:100%;margin:0;display:block}.cesium-viewer-geocoderContainer .cesium-geocoder-input{color:#fff;vertical-align:middle;box-sizing:border-box;-webkit-appearance:none;background-color:#282828b3;border:1px solid #444;border-radius:0;width:0;height:32px;margin:0;padding:0 32px 0 0;transition:width .25s ease-in-out,background-color .2s ease-in-out;display:inline-block}.cesium-viewer-geocoderContainer:hover .cesium-geocoder-input{border-color:#aef;box-shadow:0 0 8px #fff}.cesium-viewer-geocoderContainer .cesium-geocoder-input:focus{box-shadow:none;background-color:#0f0f0fe6;border-color:#ea4;outline:none}.cesium-viewer-geocoderContainer:hover .cesium-geocoder-input,.cesium-viewer-geocoderContainer .cesium-geocoder-input:focus,.cesium-viewer-geocoderContainer .cesium-geocoder-input-wide{width:250px;padding-left:4px}.cesium-viewer-geocoderContainer .search-results{color:#eee;opacity:.8;background-color:#000;width:100%;position:absolute;overflow-y:auto}.cesium-viewer-geocoderContainer .search-results ul{margin:0;padding:0;list-style-type:none}.cesium-viewer-geocoderContainer .search-results ul li{padding:3px 10px;font-size:14px}.cesium-viewer-geocoderContainer .search-results ul li:hover{cursor:pointer}.cesium-viewer-geocoderContainer .search-results ul li.active{background:#48b}.cesium-geocoder-searchButton{cursor:pointer;vertical-align:middle;fill:#edffff;background-color:#303336;width:32px;height:30px;display:inline-block;position:absolute;top:1px;right:1px}.cesium-geocoder-searchButton:hover{background-color:#48b}.cesium-infoBox{color:#edffff;visibility:hidden;opacity:0;background:#262626f2;border:1px solid #444;border-right:none;border-top-left-radius:7px;border-bottom-left-radius:7px;width:40%;max-width:480px;transition:visibility 0s .2s,opacity .2s ease-in,transform .2s ease-in;display:block;position:absolute;top:50px;right:0;transform:translate(100%);box-shadow:0 0 10px 1px #000}.cesium-infoBox-visible{visibility:visible;opacity:1;transition:opacity .2s ease-out,transform .2s ease-out;transform:translate(0)}.cesium-infoBox-title{text-align:center;text-overflow:ellipsis;white-space:nowrap;box-sizing:content-box;background:#545454;border-top-left-radius:7px;height:20px;padding:5px 30px 5px 25px;display:block;overflow:hidden}.cesium-infoBox-bodyless .cesium-infoBox-title{border-bottom-left-radius:7px}button.cesium-infoBox-camera{background:0 0;border-color:#0000;border-radius:3px;width:22px;height:22px;margin:0;padding:0 5px;display:block;position:absolute;top:4px;left:4px}button.cesium-infoBox-close{color:#edffff;background:0 0;border:none;border-radius:2px;height:20px;margin:0;padding:0 5px;font-size:16px;font-weight:700;display:block;position:absolute;top:5px;right:5px}button.cesium-infoBox-close:focus{background:#ee880070;outline:none}button.cesium-infoBox-close:hover{color:#000;background:#888}button.cesium-infoBox-close:active{color:#000;background:#a00}.cesium-infoBox-bodyless .cesium-infoBox-iframe{display:none}.cesium-infoBox-iframe{border:none;width:calc(100% - 2px)}span.cesium-sceneModePicker-wrapper{margin:0 3px;display:inline-block;position:relative}.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;margin:3px 0;padding: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{margin:0 3px;display:inline-block;position:relative}.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;margin:3px 0;padding: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{color:#000;background-color:#ff0;padding:10px;position:relative}.cesium-performance-watchdog-message{margin-right:30px}.cesium-performance-watchdog-message-dismiss{margin:0 10px 0 0;position:absolute;right:0}.cesium-navigationHelpButton-wrapper{display:inline-block;position:relative}.cesium-navigation-help{visibility:hidden;transform-origin:234px -10px;border-radius:10px;width:250px;transition:visibility 0s .25s,transform .25s ease-in;position:absolute;top:38px;right:2px;transform:scale(.01)}.cesium-navigation-help-visible{visibility:visible;transition:transform .25s ease-out;transform:scale(1)}.cesium-navigation-help-instructions{background-color:#262626bf;border:1px solid #444;border-radius:0 0 10px 10px;padding-bottom:5px}.cesium-click-navigation-help{display:none}.cesium-touch-navigation-help{padding-top:5px;display:none}.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;cursor:pointer;background-color:#0000;border-top:1px solid #444;border-bottom:none;border-right:1px solid #444;width:50%;margin:0}.cesium-navigation-button-icon{vertical-align:middle;padding:5px 1px}.cesium-navigation-button:focus{outline:none}.cesium-navigation-button-left{border-left:1px solid #444;border-radius:10px 0 0}.cesium-navigation-button-right{border-left:none;border-radius:0 10px 0 0}.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{pointer-events:none;visibility:hidden;opacity:0;width:160px;height:160px;transition:visibility 0s .2s,opacity .2s ease-in;position:absolute}.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{-webkit-user-select:none;user-select:none;border:1px solid #888;position:relative;bottom:0;left:0;overflow:hidden}.cesium-timeline-trackContainer{border-top:1px solid #888;width:100%;position:relative;top:0;left:0;overflow:auto}.cesium-timeline-tracks{width:100%;position:absolute;top:0;left:0}.cesium-timeline-needle{background:red;width:1px;position:absolute;top:1.7em;bottom:0;left:0}.cesium-timeline-bar{cursor:pointer;background:linear-gradient(#747577cc 0%,#3a4452cc 11%,#2e3238cc 46%,#353535cc 81% 100%);width:100%;height:1.7em;position:relative;top:0;left:0;overflow:hidden}.cesium-timeline-ruler{visibility:hidden;white-space:nowrap;z-index:-200;font-size:80%}.cesium-timeline-highlight{background:#08f;position:absolute;bottom:0;left:0}.cesium-timeline-ticLabel{white-space:nowrap;color:#eee;font-size:80%;position:absolute;top:0;left:0}.cesium-timeline-ticMain{background:#eee;width:1px;height:50%;position:absolute;bottom:0;left:0}.cesium-timeline-ticSub{background:#aaa;width:1px;height:33%;position:absolute;bottom:0;left:0}.cesium-timeline-ticTiny{background:#888;width:1px;height:25%;position:absolute;bottom:0;left:0}.cesium-timeline-icon16{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;width:16px;height:16px;display:block;position:absolute}.cesium-viewer{width:100%;height:100%;font-family:sans-serif;font-size:16px;display:block;position:relative;top:0;left:0;overflow:hidden}.cesium-viewer-cesiumWidgetContainer{width:100%;height:100%}.cesium-viewer-bottom{padding-right:5px;display:block;position:absolute;bottom:0;left:0}.cesium-viewer .cesium-widget-credits{color:#fff;text-shadow:0 0 2px #000;padding-right:0;font-size:10px;display:inline;position:static;bottom:auto;left:auto}.cesium-viewer-timelineContainer{height:27px;margin:0;padding:0;font-size:14px;position:absolute;bottom:0;left:169px;right:29px;overflow:hidden}.cesium-viewer-animationContainer{width:169px;height:112px;padding:0;position:absolute;bottom:0;left:0}.cesium-viewer-fullscreenContainer,.cesium-viewer-vrContainer{width:29px;height:29px;padding:0;position:absolute;bottom:0;right:0;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{margin:0 3px;display:inline-block;position:relative}.cesium-viewer-cesium3DTilesInspectorContainer,.cesium-viewer-voxelInspectorContainer{box-sizing:border-box;max-height:calc(100% - 120px);display:block;position:absolute;top:50px;right:10px;overflow:hidden auto}.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;-webkit-user-select:none;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{flex-direction:row;align-content:center;display:flex}:root{--bg-base:#eff3f7;--bg-panel:#fff;--bg-surface:#fff;--bg-elevated:#f8fafc;--bg-hover:#eff6ff;--border:#e2e8f0;--border-hover:#94a3b8;--accent:#0369a1;--accent-dim:#dbeafe;--accent-glow:#0369a11f;--success:#16a34a;--warning:#d97706;--error:#dc2626;--text-primary:#0f172a;--text-muted:#475569;--text-faint:#94a3b8;--sidebar-w:296px;--header-h:60px}*{box-sizing:border-box;margin:0;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}:focus:not(:focus-visible){outline:none}body{background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Noto Sans JP,Hiragino Sans,sans-serif;font-size:15px;line-height:1.5}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-header{height:var(--header-h);background:var(--bg-surface);border-bottom:2px solid var(--border);z-index:300;flex-shrink:0;align-items:center;gap:12px;padding:0 18px;display:flex;box-shadow:0 2px 8px #0000000f}.header-left{flex-shrink:0;align-items:center;gap:12px;display:flex}.app-logo{background:var(--accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.app-logo svg{color:#fff;width:22px;height:22px}.header-title-wrap h1{color:var(--text-primary);letter-spacing:-.02em;font-size:17px;font-weight:700;line-height:1.1}.header-sub{color:var(--text-faint);margin-top:1px;font-size:11px;display:block}.header-center{flex:1;max-width:380px}.header-right{flex-shrink:0;align-items:center;gap:10px;margin-left:auto;display:flex}.header-city-name{color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:4px 10px;font-size:14px;font-weight:600}.sim-indicator{color:#15803d;background:#dcfce7;border:1px solid #86efac;border-radius:20px;align-items:center;gap:6px;padding:4px 12px;font-size:13px;font-weight:700;display:flex}.sim-indicator-dot{background:#16a34a;border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.header-return-btn,.header-help-btn{background:var(--bg-elevated);border:1.5px solid var(--border);cursor:pointer;min-width:40px;height:40px;color:var(--text-muted);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.header-return-btn svg{width:18px;height:18px}.header-help-btn{gap:6px;padding:0 12px;font-size:16px;font-weight:700}.header-help-btn-text{font-size:13px;font-weight:600}.header-reset-btn{background:var(--bg-elevated);border:1.5px solid var(--border);cursor:pointer;width:40px;height:40px;color:var(--text-muted);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.header-reset-btn:hover{border-color:var(--error);color:var(--error);background:#fee2e2}.header-return-btn:hover,.header-help-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.main-layout{flex:1;display:flex;overflow:hidden}.sidebar{background:var(--bg-surface);border-right:2px solid var(--border);z-index:200;flex-shrink:0;height:100%;transition:width .2s;display:flex;overflow:hidden;box-shadow:2px 0 8px #0000000a}.sidebar.open{width:calc(64px + var(--sidebar-w))}.sidebar.closed{width:64px}.sidebar-nav{border-right:1.5px solid var(--border);flex-direction:column;flex-shrink:0;gap:4px;width:64px;min-width:64px;padding:10px 6px;display:flex;overflow:hidden}.sidebar-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:1.5px solid #0000;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:52px;min-height:52px;padding:8px 4px;font-family:Noto Sans JP,sans-serif;transition:all .15s;display:flex;position:relative}.sidebar-tab svg{flex-shrink:0;width:22px;height:22px}.sidebar-tab-label{white-space:nowrap;font-size:10px;font-weight:600;line-height:1}.sidebar-tab-step{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:9px;font-weight:700;display:flex;position:absolute;top:4px;right:4px}.sidebar-tab:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border)}.sidebar-tab.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.sidebar-tab.active .sidebar-tab-step{background:var(--accent)}.sidebar-content{width:var(--sidebar-w);scrollbar-width:thin;scrollbar-color:var(--border) transparent;overflow:hidden auto}.panel{flex-direction:column;max-width:100%;display:flex}.panel svg:not(.cesium-svgPath-svg){max-width:24px;max-height:24px}.panel-header-row{border-bottom:1.5px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:14px 16px 10px;display:flex}.panel-title{color:var(--text-primary);flex:1;font-size:16px;font-weight:700}.panel-add-btn{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;min-height:36px;padding:6px 14px;font-size:13px;font-weight:600;transition:all .15s}.panel-add-btn:hover{background:#0284c7}.panel-section{border-bottom:1.5px solid var(--border);padding:14px 16px}.panel-section:last-child{border-bottom:none}.panel-section-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.panel-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.panel-tool-btn{background:var(--bg-elevated);border:1.5px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:7px;min-height:34px;padding:5px 12px;font-size:12px;font-weight:600;transition:all .15s}.panel-tool-btn:hover,.panel-tool-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.panel-empty{color:var(--text-faint);text-align:center;padding:10px 0;font-size:13px}.panel-empty-state{text-align:center;color:var(--text-muted);padding:28px 16px;font-size:14px;line-height:1.7}.panel-empty-hint{color:var(--text-faint);margin-top:10px;font-size:13px;line-height:1.7}.panel-empty-guided{text-align:center;color:var(--text-muted);background:var(--bg-elevated);border:2px dashed var(--border-hover);border-radius:12px;flex-direction:column;align-items:center;gap:10px;margin:0 16px 8px;padding:20px 16px;font-size:13px;line-height:1.7;display:flex}.guided-step-icon{font-size:32px}.section-step{letter-spacing:.04em;background:var(--accent);color:#fff;border-radius:6px;justify-content:center;align-items:center;margin-right:4px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.panel-section-hint{color:var(--text-muted);padding:0 16px 10px;font-size:13px;line-height:1.6}.panel-back{border-bottom:1.5px solid var(--border);align-items:center;gap:8px;padding:12px 16px;display:flex}.back-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;font-size:13px;font-weight:600;transition:color .15s;display:flex}.back-btn svg{flex-shrink:0;width:16px;height:16px}.back-btn:hover{color:#0284c7}.item-list{flex-direction:column;gap:3px;list-style:none;display:flex}.item-row{flex-wrap:wrap;align-items:center;gap:6px;padding:4px 0;display:flex}.item-expand{color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;flex:1;align-items:center;gap:8px;min-height:36px;padding:4px 6px;transition:background .1s;display:flex}.item-expand:hover{background:var(--bg-elevated)}.item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;font-weight:500;overflow:hidden}.item-delete{color:var(--text-faint);cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;min-height:36px;padding:4px 8px;font-size:16px;transition:color .15s;display:flex}.item-delete:hover{color:var(--error)}.item-detail{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:8px;width:100%;margin-top:4px;padding:10px;display:flex}.item-coords{color:var(--text-faint);font-family:monospace;font-size:11px}label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:12px;font-weight:500;display:flex}input,select,textarea{border:1.5px solid var(--border);color:var(--text-primary);background:#fff;border-radius:8px;outline:none;min-height:40px;padding:8px 10px;font-family:Noto Sans JP,sans-serif;font-size:14px;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}textarea{resize:vertical}.input-unit{align-items:center;gap:6px;display:flex}.input-unit input{flex:1}.input-unit span{color:var(--text-muted);white-space:nowrap;font-size:13px}.plan-name-input{width:100%;margin-bottom:10px;font-size:15px;font-weight:600}.plan-meta-grid{grid-template-columns:1fr 1fr;gap:8px;max-width:100%;margin-bottom:8px;display:grid;overflow:hidden}.plan-meta-grid label{min-width:0}.plan-meta-grid input,.plan-meta-grid select{box-sizing:border-box;max-width:100%}.plan-desc{width:100%}.status-badge{white-space:nowrap;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700}.status-draft{color:var(--text-muted);border:1px solid var(--border);background:#f1f5f9}.status-approved{color:#15803d;background:#dcfce7;border:1px solid #86efac}.status-completed{background:var(--accent-dim);color:var(--accent);border:1px solid #93c5fd}.status-planned{color:#d97706;background:#fef3c7;border:1px solid #fcd34d}.status-in_progress{color:#15803d;background:#dcfce7;border:1px solid #86efac;animation:1s infinite pulse}.status-cancelled{color:var(--error);background:#fee2e2;border:1px solid #fca5a5}.plan-list{gap:6px}.plan-card{background:var(--bg-elevated);border:1.5px solid var(--border);cursor:pointer;border-radius:10px;padding:12px 14px;transition:all .15s}.plan-card:hover{border-color:var(--border-hover);box-shadow:0 2px 8px #0000000f}.plan-card.active-plan{border-color:var(--accent);background:var(--accent-dim)}.plan-card-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.plan-card-name{font-size:14px;font-weight:600}.plan-card-meta{color:var(--text-muted);flex-wrap:wrap;gap:6px;font-size:12px;display:flex}.plan-actions{flex-wrap:wrap;gap:8px;display:flex}.action-btn{border:1.5px solid var(--border);background:var(--bg-elevated);min-width:90px;color:var(--text-primary);cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:9px 14px;font-family:Noto Sans JP,sans-serif;font-size:13px;font-weight:600;transition:all .15s;display:flex}.action-btn svg{flex-shrink:0;width:18px;height:18px}.action-btn:hover{background:var(--bg-hover);border-color:var(--border-hover)}.action-btn.primary{background:var(--accent-dim);color:var(--accent);border-color:#93c5fd}.action-btn.primary:hover,.action-btn.primary.active{background:var(--accent);color:#fff}.action-btn.sim-btn{color:#15803d;background:#dcfce7;border-color:#86efac;font-size:14px;font-weight:700}.action-btn.sim-btn:hover:not(:disabled){background:var(--success);color:#fff;border-color:var(--success)}.action-btn.sim-btn:disabled{opacity:.45;cursor:not-allowed}.action-btn.record-btn{color:#d97706;background:#fef3c7;border-color:#fcd34d}.action-btn.record-btn:hover{background:var(--warning);color:#fff;border-color:var(--warning)}.action-btn.danger{color:var(--error);background:#fee2e2;border-color:#fca5a5}.action-btn.danger:hover{background:var(--error);color:#fff;border-color:var(--error)}.wp-list{gap:2px}.wp-row{border:1.5px solid #0000;border-radius:6px;transition:border-color .12s,background .12s}.wp-row:hover{border-color:var(--border);background:var(--bg-elevated)}.wp-row--open{border-color:var(--accent);background:var(--bg-elevated)}.wp-main{align-items:flex-start;gap:6px;min-height:44px;padding:6px 8px;display:flex}.wp-num{background:var(--accent);color:#fff;cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-top:2px;font-size:11px;font-weight:700;transition:transform .1s,background .1s;display:flex}.wp-num:hover{background:#0284c7;transform:scale(1.12)}.wp-info{cursor:pointer;border-radius:4px;flex:1;min-width:0;padding:2px 4px}.wp-info:hover{background:#00000008}.wp-params{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.wp-alt{color:var(--success);white-space:nowrap;font-size:12px;font-weight:600}.wp-sep{color:var(--text-faint);font-size:10px}.wp-speed{color:var(--text-muted);white-space:nowrap;font-size:12px}.wp-ground-alt{color:var(--text-faint);background:var(--bg-surface);border-radius:3px;padding:0 4px;font-family:monospace;font-size:10px}.wp-coords{color:var(--text-muted);align-items:center;gap:2px;margin-top:2px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:11px;display:flex}.wp-coord{cursor:default;transition:color .1s}.wp-coord:hover{color:var(--accent);cursor:text;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.wp-coord-sep{color:var(--text-faint);margin:0 1px}.wp-coord-edit{background:var(--bg-panel);width:82px;color:var(--accent);border:1.5px solid var(--accent);border-radius:4px;outline:none;padding:2px 4px;font-family:monospace;font-size:11px}.wp-copy-btn{width:18px;height:18px;color:var(--text-faint);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;margin-left:2px;transition:opacity .15s,color .15s;display:inline-flex}.wp-row:hover .wp-copy-btn{opacity:1}.wp-copy-btn:hover{color:var(--accent);background:var(--accent-dim)}.wp-chevron{width:16px;height:16px;color:var(--text-faint);cursor:pointer;flex-shrink:0;margin-top:4px;transition:transform .15s}.wp-row--open .wp-chevron{transform:rotate(180deg)}.wp-actions{opacity:0;flex-shrink:0;align-items:center;gap:1px;transition:opacity .12s;display:flex}.wp-row:hover .wp-actions,.wp-row--open .wp-actions{opacity:1}.wp-act-btn{cursor:pointer;color:var(--text-faint);background:0 0;border:none;border-radius:4px;align-items:center;padding:2px;transition:color .1s,background .1s;display:flex}.wp-act-btn svg{width:13px;height:13px}.wp-act-btn:not(:disabled):hover{color:var(--accent);background:#0369a114}.wp-act-btn:disabled{opacity:.18;cursor:not-allowed}.wp-act-del:hover{color:var(--error)!important;background:#dc26260f!important}.wp-detail{padding:6px 8px 8px 34px}.wp-detail-grid{grid-template-columns:1fr 1fr 1fr;gap:5px;display:grid}.wp-detail-grid label{font-size:11px}.wp-detail-grid input,.wp-detail-grid select{min-height:32px;padding:4px 8px;font-size:13px}.wp-detail-grid .input-unit span{font-size:11px}.record-card{background:var(--bg-elevated);border:1.5px solid var(--border);cursor:pointer;border-radius:10px;margin-bottom:6px;padding:12px 14px;transition:all .15s}.record-card:hover{border-color:var(--border-hover);box-shadow:0 2px 8px #0000000f}.record-card-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.record-card-name{font-size:14px;font-weight:600}.record-card-meta{color:var(--text-muted);flex-wrap:wrap;gap:6px;font-size:12px;display:flex}.record-plan-ref{color:var(--accent);font-weight:600}.city-pref-group{margin-bottom:8px}.city-pref-label{color:var(--text-faint);letter-spacing:.06em;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:600;display:block}.city-pref-buttons{flex-wrap:wrap;gap:6px;display:flex}.city-list-btn{background:var(--bg-elevated);border:1.5px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:8px;align-items:center;gap:5px;min-height:38px;padding:7px 14px;font-family:Noto Sans JP,sans-serif;font-size:13px;font-weight:500;transition:all .12s;display:flex}.city-list-btn:hover{border-color:var(--border-hover);color:var(--text-primary);background:var(--bg-hover)}.city-list-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.zone-type-badge{border-radius:5px;flex-shrink:0;padding:3px 7px;font-size:10px;font-weight:700}.zone-planned{background:var(--accent-dim);color:var(--accent)}.zone-restricted{color:var(--error);background:#fee2e2}.zone-caution{color:var(--warning);background:#fef3c7}.zone-completed{color:var(--success);background:#dcfce7}.zone-type-select{flex-shrink:0;width:80px;min-height:34px;padding:4px 6px;font-size:12px}.pin-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.media-dropzone{border:2px dashed var(--border-hover);cursor:pointer;color:var(--text-muted);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:80px;margin:10px 16px;padding:20px;font-size:13px;transition:all .15s;display:flex}.media-dropzone svg{width:28px;height:28px}.media-dropzone:hover,.media-dropzone.drag-over{border-color:var(--accent);background:var(--accent-dim)}.dropzone-hint{color:var(--text-faint);font-size:12px}.media-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;display:grid}.media-card{background:var(--bg-elevated);border:1.5px solid var(--border);border-radius:8px;position:relative;overflow:hidden}.media-thumb{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.media-thumb-video{aspect-ratio:4/3;background:var(--bg-surface);width:100%;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.media-thumb-video svg{width:28px;height:28px}.media-card-info{padding:6px 8px}.media-card-name{white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:500;display:block;overflow:hidden}.media-card-meta{color:var(--text-muted);gap:5px;margin-top:2px;font-size:11px;display:flex}.media-type-badge{font-size:12px}.media-delete{color:#fff;cursor:pointer;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;display:none;position:absolute;top:4px;right:4px}.media-card:hover .media-delete{display:flex}.media-section-header{align-items:center;gap:8px;margin-top:16px;margin-bottom:4px;padding:0 16px;display:flex}.media-section-icon{width:20px;height:20px;color:var(--accent);flex-shrink:0}.media-section-title{color:var(--text-primary);font-size:13px;font-weight:600}.media-section-count{color:var(--text-muted);background:var(--bg-surface);border-radius:10px;padding:1px 7px;font-size:11px}.media-lightbox{z-index:9999;background:#000000d9;flex-direction:column;justify-content:center;align-items:center;gap:12px;animation:.2s lightbox-in;display:flex;position:fixed;inset:0}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.media-lightbox img{border-radius:8px;max-width:90vw;max-height:75vh;box-shadow:0 8px 32px #00000080}.media-lightbox-info{color:#fff;text-align:center;opacity:.8;font-size:13px}.media-lightbox-close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;transition:background .15s;display:flex;position:absolute;top:16px;right:16px}.media-lightbox-close:hover{background:#ffffff4d}.panorama-list{flex-direction:column;gap:8px;margin-top:8px;padding:0 16px;display:flex}.panorama-card{border:1.5px solid var(--border);background:var(--bg-elevated);border-radius:10px;position:relative;overflow:hidden}.panorama-scroll{cursor:grab;-webkit-overflow-scrolling:touch;overflow-x:auto}.panorama-scroll:active{cursor:grabbing}.panorama-scroll img{object-fit:cover;width:auto;min-width:200%;height:100px;display:block}.panorama-badge{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);letter-spacing:.5px;background:#0000008c;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:600;position:absolute;top:6px;left:6px}.panorama-card .media-card-info{padding:6px 10px}.video-list{flex-direction:column;gap:8px;margin-top:8px;padding:0 16px;display:flex}.video-card{border:1.5px solid var(--border);background:var(--bg-elevated);border-radius:10px;position:relative;overflow:hidden}.video-preview{aspect-ratio:16/9;background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);justify-content:center;align-items:center;width:100%;display:flex;position:relative}.video-thumb-img{object-fit:cover;width:100%;height:100%;display:block}.video-play-btn{color:#fff;cursor:pointer;background:#ffffff26;border:2px solid #fff6;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:all .2s;display:flex}.video-card:hover .video-play-btn{background:#ffffff40;border-color:#fff9;transform:scale(1.08)}.video-play-btn svg{width:22px;height:22px;margin-left:2px}.video-duration{color:#fff;font-variant-numeric:tabular-nums;background:#000000b3;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:500;position:absolute;bottom:6px;right:8px}.video-card .media-card-info{padding:8px 10px}.model-list{flex-direction:column;gap:8px;margin-top:8px;padding:0 16px;display:flex}.model-card{border:1.5px solid var(--border);background:var(--bg-elevated);border-radius:10px;position:relative;overflow:hidden}.model-viewer-container{cursor:grab;background:linear-gradient(#0f172a 0%,#1e293b 100%);width:100%;height:200px}.model-viewer-container:active{cursor:grabbing}.model-viewer-container canvas{display:block;width:100%!important;height:100%!important}.model-badge{color:#a78bfa;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);letter-spacing:.5px;background:#0000008c;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:600;position:absolute;top:6px;left:6px}.model-hint{color:#fff9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;white-space:nowrap;background:#00000080;border-radius:10px;padding:2px 10px;font-size:10px;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.model-card .media-card-info{padding:8px 10px}.media-grid{padding:0 16px}.media-card:hover{border-color:var(--border-hover)}.media-card{cursor:pointer;transition:border-color .15s}.panorama-card:hover .media-delete,.video-card:hover .media-delete,.model-card:hover .media-delete{display:flex}.checklist-overlay{-webkit-backdrop-filter:blur(4px);z-index:2000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.checklist-modal{background:#fff;border-radius:16px;width:min(520px,92vw);max-height:90vh;padding:28px 32px;overflow-y:auto;box-shadow:0 20px 60px #00000040}.checklist-header{align-items:flex-start;gap:14px;margin-bottom:20px;display:flex}.checklist-header svg{width:32px;height:32px;color:var(--accent);flex-shrink:0;margin-top:2px}.checklist-header h2{color:var(--text-primary);margin:0 0 4px;font-size:18px;font-weight:700}.checklist-plan-name{color:var(--text-muted);margin:0;font-size:13px}.checklist-warning{color:#b91c1c;background:#dc262614;border:1px solid #dc262640;border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.checklist-warning svg{flex-shrink:0;width:16px;height:16px;margin-top:1px}.checklist-plan-stats{background:var(--bg-base);color:var(--text-muted);border-radius:8px;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:10px 14px;font-size:12px;display:flex}.checklist-plan-stats b{color:var(--text-primary)}.checklist-plan-stats .text-warn{color:#b91c1c}.checklist-items{flex-direction:column;gap:4px;margin:0 0 16px;padding:0;list-style:none;display:flex}.checklist-item label{cursor:pointer;color:var(--text-primary);border:1.5px solid var(--border);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;transition:background .12s;display:flex}.checklist-item.checked label{background:#16a34a0f;border-color:#16a34a4d}.checklist-item label:hover{background:var(--bg-base)}.checklist-item input[type=checkbox]{display:none}.checklist-check-icon svg{color:#6b7280;flex-shrink:0;width:20px;height:20px}.checklist-item.checked .checklist-check-icon svg{color:#16a34a}.checklist-progress{align-items:center;gap:12px;margin-bottom:20px;display:flex}.checklist-progress-bar{background:var(--border);border-radius:9999px;flex:1;height:6px;overflow:hidden}.checklist-progress-fill{background:#16a34a;border-radius:9999px;height:100%;transition:width .25s}.checklist-progress span{color:var(--text-muted);white-space:nowrap;font-size:12px}.checklist-actions{gap:10px;display:flex}.checklist-cancel-btn{border:1.5px solid var(--border);cursor:pointer;color:var(--text-muted);background:0 0;border-radius:8px;flex:1;padding:10px;font-size:14px;transition:background .12s}.checklist-cancel-btn:hover{background:var(--bg-base)}.checklist-confirm-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;flex:2;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:background .12s,opacity .12s;display:flex}.checklist-confirm-btn svg{width:18px;height:18px}.checklist-confirm-btn:disabled{opacity:.4;cursor:not-allowed}.checklist-confirm-btn:not(:disabled):hover{background:var(--accent-hover,#0284c7)}.plan-stats-section{background:var(--bg-base);border-radius:10px;padding:14px}.plan-stats-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:8px;display:grid}.plan-stat{border:1px solid var(--border);background:#fff;border-radius:8px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.stat-value{color:var(--text-primary);font-size:16px;font-weight:700}.stat-warn{color:#b91c1c}.plan-stats-alert{color:#b91c1c;background:#dc262612;border:1px solid #dc262633;border-radius:8px;align-items:flex-start;gap:8px;margin-top:10px;padding:10px 12px;font-size:12px;line-height:1.5;display:flex}.plan-stats-alert svg{flex-shrink:0;width:14px;height:14px;margin-top:1px}.wp-over-limit{color:#fff;background:#dc2626;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:9px;font-weight:700;display:inline-flex}.wp-alt--warn{color:#dc2626!important}.field-warning{color:#b91c1c;margin-top:2px;font-size:10px}.field-hint{color:var(--text-faint);margin-top:2px;font-size:10px}.label-warn{color:#b91c1c;margin-left:4px;font-size:10px;font-weight:600}.wp-action-badge{flex-shrink:0;align-items:center;font-size:12px;line-height:1;display:inline-flex}.item-coords{color:var(--text-faint);align-items:center;gap:4px;margin-top:6px;font-family:monospace;font-size:11px;display:flex}.item-coords svg{width:13px;height:13px}.export-menu-wrap{position:relative}.export-btn{color:var(--accent);background:#0369a112;border:1.5px solid #0369a133}.export-btn:hover{background:#0369a124}.export-btn svg{width:16px;height:16px}.export-menu{border:1px solid var(--border);z-index:100;background:#fff;border-radius:10px;position:absolute;bottom:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 8px 24px #0000001f}.export-menu button{cursor:pointer;width:100%;color:var(--text-primary);text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:11px 14px;font-size:13px;transition:background .1s;display:flex}.export-menu button:hover{background:var(--bg-base)}.export-menu button svg{width:16px;height:16px;color:var(--text-muted);flex-shrink:0}.plan-card-warn{color:#fff;background:#dc2626;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700}.wp-copy-btn{cursor:pointer;color:var(--text-muted);opacity:0;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;margin-left:2px;padding:2px;transition:opacity .15s,color .15s;display:inline-flex}.wp-summary:hover .wp-copy-btn,.wp-copy-btn:focus{opacity:1}.wp-copy-btn:hover{color:var(--accent)}.wp-toolbar{gap:4px;padding:4px 16px 8px;display:flex}.wp-tool-btn{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:5px 10px;font-family:inherit;font-size:11px;font-weight:500;transition:all .15s;display:inline-flex}.wp-tool-btn:hover,.wp-tool-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.wp-tool-btn:disabled{opacity:.4;cursor:not-allowed}.wp-tool-btn svg{flex-shrink:0}.wp-elev-progress{background:var(--border);border-radius:2px;height:3px;margin:0 16px 4px;overflow:hidden}.wp-elev-progress-bar{background:var(--success);border-radius:2px;height:100%;transition:width .2s}.wp-search-panel{flex-direction:column;gap:6px;padding:8px 0;display:flex}.wp-search-input{border:1px solid var(--border);background:var(--bg-surface);width:100%;color:var(--text-primary);border-radius:6px;padding:6px 10px;font-size:13px}.wp-search-input:focus{border-color:var(--accent);outline:none}.wp-search-loading{color:var(--text-muted);padding:4px 0;font-size:12px}.wp-search-results{flex-direction:column;gap:4px;max-height:200px;list-style:none;display:flex;overflow-y:auto}.wp-search-results li{background:var(--bg-elevated);border-radius:6px;align-items:center;gap:6px;padding:6px 8px;font-size:12px;display:flex}.wp-search-results li:hover{background:var(--bg-hover)}.wp-search-name{flex-shrink:0;font-weight:500}.wp-search-detail{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.wp-search-add-btn{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:500}.wp-search-add-btn:hover{background:var(--accent-dim)}.zone-gen-panel{grid-template-columns:1fr 1fr;gap:8px;padding:8px 0;display:grid}.zone-gen-panel label{color:var(--text-muted);flex-direction:column;gap:3px;font-size:12px;display:flex}.zone-gen-panel label:first-child{grid-column:1/-1}.zone-gen-panel select,.zone-gen-panel input{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);border-radius:6px;padding:5px 8px;font-size:13px}.zone-gen-panel select:focus,.zone-gen-panel input:focus{border-color:var(--accent);outline:none}.zone-gen-panel .action-btn.primary{grid-column:1/-1}.media-viewer-overlay{z-index:9000;color:#e2e8f0;background:#0f172a;flex-direction:column;font-family:Noto Sans JP,Noto Sans,sans-serif;animation:.25s viewer-in;display:flex;position:fixed;inset:0}@keyframes viewer-in{0%{opacity:0}to{opacity:1}}.media-viewer-header{background:#0f172af2;border-bottom:1px solid #1e293b;flex-shrink:0;align-items:center;gap:12px;padding:12px 20px;display:flex}.media-viewer-back{color:#e2e8f0;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:14px;transition:background .15s;display:inline-flex}.media-viewer-back:hover{background:#ffffff24}.media-viewer-header-name{color:#f1f5f9;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:15px;font-weight:500;overflow:hidden}.media-viewer-badge{color:#fff;white-space:nowrap;border-radius:12px;flex-shrink:0;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.media-viewer-body{flex:1;min-height:0;display:flex;overflow:hidden}.media-viewer-main{flex:1;justify-content:center;align-items:center;min-width:0;display:flex;position:relative;overflow:hidden}.media-viewer-info{background:#1e293bb3;border-left:1px solid #1e293b;flex-shrink:0;width:280px;padding:24px 20px;overflow-y:auto}.media-viewer-info-title{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin:0 0 20px;font-size:13px;font-weight:600}.media-viewer-info-row{margin-bottom:16px}.media-viewer-info-label{color:#64748b;margin-bottom:4px;font-size:11px;font-weight:500;display:block}.media-viewer-info-value{color:#e2e8f0;word-break:break-all;font-size:14px;display:block}.media-viewer-info-coords{color:#94a3b8;flex-direction:column;gap:2px;font-family:SF Mono,Fira Code,monospace;font-size:13px;display:flex}.media-viewer-photo{justify-content:center;align-items:center;width:100%;height:100%;padding:24px;display:flex}.media-viewer-photo img{object-fit:contain;border-radius:4px;max-width:100%;max-height:100%}.media-viewer-placeholder{color:#475569;flex-direction:column;align-items:center;gap:12px;display:flex}.media-viewer-placeholder p{margin:0;font-size:14px}.slide-nav{color:#e2e8f0;cursor:pointer;z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;border:1px solid #ffffff1f;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.slide-nav:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d}.slide-nav:disabled{opacity:.2;cursor:default}.slide-nav-prev{left:20px}.slide-nav-next{right:20px}.slide-bar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2;background:#00000080;border:1px solid #ffffff1a;border-radius:20px;align-items:center;gap:12px;padding:6px 16px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.slide-counter{color:#94a3b8;font-variant-numeric:tabular-nums;font-size:13px}.slide-autoplay{color:#94a3b8;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:flex}.slide-autoplay:hover{color:#e2e8f0;background:#ffffff26}.slide-autoplay.active{color:#60a5fa;background:#3b82f64d;border-color:#3b82f680}.slide-compare-btn{color:#94a3b8;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:14px;align-items:center;gap:4px;padding:4px 12px;font-family:inherit;font-size:12px;transition:all .15s;display:inline-flex}.slide-compare-btn:hover{color:#e2e8f0;background:#ffffff26}.media-viewer-panorama-scroll{cursor:grab;scrollbar-width:thin;scrollbar-color:#334155 transparent;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:auto hidden}.media-viewer-panorama-scroll:active{cursor:grabbing}.media-viewer-panorama-scroll img{-webkit-user-select:none;user-select:none;width:auto;height:80%;display:block}.media-viewer-panorama-badge{color:#fff;pointer-events:none;background:#f59e0bd9;border-radius:16px;padding:4px 12px;font-size:13px;font-weight:700;position:absolute;top:16px;left:16px}.media-viewer-video{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:24px;display:flex}.media-viewer-video-screen{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;display:flex}.media-viewer-video-play{cursor:pointer;opacity:.7;transition:opacity .2s}.media-viewer-video-play:hover{opacity:1}.media-viewer-video-name{color:#cbd5e1;text-align:center;margin:0;font-size:16px}.media-viewer-video-duration{color:#f1f5f9;margin:0;font-family:SF Mono,Fira Code,monospace;font-size:28px;font-weight:600}.media-viewer-video-progress{background:#1e293b;border-radius:2px;width:100%;max-width:600px;height:4px;margin-top:16px;overflow:hidden}.media-viewer-video-progress-bar{background:#ef4444;border-radius:2px;height:100%;transition:width .3s}.media-viewer-video-player{aspect-ratio:16/9;background:#000;border-radius:8px;width:100%;max-width:900px;position:relative;overflow:hidden}.media-viewer-video-player video{object-fit:contain;cursor:pointer;width:100%;height:100%;display:block}.video-play-overlay{cursor:pointer;background:#0000004d;border:none;justify-content:center;align-items:center;transition:background .2s;display:flex;position:absolute;inset:0}.video-play-overlay:hover{background:#00000026}.video-controls{color:#94a3b8;font-variant-numeric:tabular-nums;align-items:center;gap:12px;width:100%;max-width:900px;padding:12px 0;font-size:13px;display:flex}.video-ctrl-btn{color:#e2e8f0;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff26;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s;display:flex}.video-ctrl-btn:hover{background:#fff3}.video-seekbar{accent-color:#ef4444;cursor:pointer;flex:1;height:4px}.video-time{white-space:nowrap;flex-shrink:0;font-family:SF Mono,Fira Code,monospace;font-size:12px}.media-viewer-model3d{width:100%;height:100%;position:relative}.media-viewer-model3d canvas{display:block;width:100%!important;height:100%!important}.media-viewer-model3d-hint{color:#94a3b8;pointer-events:none;background:#1e293bcc;border:1px solid #ffffff14;border-radius:16px;padding:6px 16px;font-size:12px;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.photo-diff-overlay{z-index:2;background:#0f172a;flex-direction:column;display:flex;position:absolute;inset:0}.photo-diff-header{border-bottom:1px solid #1e293b;flex-shrink:0;align-items:center;gap:12px;padding:12px 20px;display:flex}.photo-diff-container{-webkit-user-select:none;user-select:none;flex:1;position:relative;overflow:hidden}.photo-diff-img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.photo-diff-left{z-index:1}.photo-diff-divider{z-index:2;cursor:col-resize;background:#fffc;width:4px;position:absolute;top:0;bottom:0;transform:translate(-50%)}.photo-diff-handle{cursor:col-resize;background:#ffffffe6;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 12px #0006}.photo-diff-label{color:#e2e8f0;z-index:3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-overflow:ellipsis;white-space:nowrap;background:#0009;border-radius:12px;max-width:40%;padding:4px 12px;font-size:12px;position:absolute;bottom:20px;overflow:hidden}.photo-diff-label-left{left:20px}.photo-diff-label-right{right:20px}.diff-target-selector{flex-direction:column;width:100%;height:100%;padding:24px;display:flex}.diff-target-header{color:#e2e8f0;align-items:center;gap:12px;margin-bottom:20px;font-size:15px;font-weight:500;display:flex}.diff-target-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid;overflow-y:auto}.diff-target-card{cursor:pointer;background:#1e293b;border:2px solid #0000;border-radius:8px;transition:border-color .15s;overflow:hidden}.diff-target-card:hover{border-color:#3b82f6}.diff-target-card img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.diff-target-card span{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;padding:6px 8px;font-size:11px;display:block;overflow:hidden}.map-area{flex:1;position:relative;overflow:hidden}.cesium-wrapper{width:100%;height:100%;position:relative}.cesium-container{width:100%;height:100%}.map-controls{z-index:10;-webkit-backdrop-filter:blur(8px);background:#0d1117d9;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;bottom:100px;right:12px}.map-ctrl-group{flex-direction:column;gap:2px;display:flex}.map-ctrl-divider{background:#ffffff1a;width:24px;height:1px;margin:2px 0}.map-ctrl-btn{color:#8b949e;cursor:pointer;letter-spacing:.02em;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:36px;height:28px;font-size:11px;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:flex}.map-ctrl-btn:hover{color:#58a6ff;background:#58a6ff26;border-color:#58a6ff66}.map-ctrl-btn.active{color:#58a6ff;background:#58a6ff33;border-color:#58a6ff80}.map-ctrl-icon{height:32px}.map-ctrl-icon svg{width:16px;height:16px}.map-ctrl-btn.disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.overlay{-webkit-backdrop-filter:blur(16px);border:1.5px solid var(--border);text-align:center;z-index:100;pointer-events:none;background:#fffffff0;border-radius:16px;padding:32px 40px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 32px #0000001f}.overlay-retry-btn{pointer-events:auto;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:12px;padding:8px 22px;font-size:13px;font-weight:700}.overlay-retry-btn:hover{background:#0284c7}.overlay.loading{flex-direction:column;align-items:center;gap:16px;display:flex}.overlay.loading p{color:var(--text-muted);font-size:14px;font-weight:500}.overlay.error{pointer-events:auto;border-color:#fca5a5}.overlay.error p{color:var(--error);font-size:15px;font-weight:700}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.map-toolbar{-webkit-backdrop-filter:blur(16px);border:1.5px solid var(--border);z-index:100;background:#fffffff5;border-radius:16px;align-items:center;gap:4px;padding:8px 10px;display:flex;position:absolute;bottom:56px;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #00000024}.toolbar-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:1.5px solid #0000;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:78px;min-height:68px;padding:10px 16px;font-family:Noto Sans JP,sans-serif;transition:all .15s;display:flex}.toolbar-btn svg{width:22px;height:22px}.toolbar-label{color:inherit;font-size:12px;font-weight:700;line-height:1}.toolbar-sub{color:var(--text-faint);white-space:nowrap;font-size:10px}.toolbar-btn:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border)}.toolbar-btn:hover .toolbar-sub{color:var(--text-muted)}.toolbar-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.toolbar-btn.active .toolbar-sub{color:var(--accent);opacity:.8}.toolbar-btn.disabled{opacity:.35;cursor:not-allowed}.zone-drawing-guide{border-left:1.5px solid var(--border);flex-shrink:0;align-items:center;gap:10px;margin-left:6px;padding:8px 14px;display:flex}.zone-guide-text{color:var(--text-muted);white-space:nowrap;font-size:13px;font-weight:500}.zone-commit-btn,.zone-cancel-btn{cursor:pointer;white-space:nowrap;border-radius:8px;min-height:38px;padding:7px 14px;font-size:13px;font-weight:700;transition:all .15s}.zone-commit-btn{background:var(--accent);color:#fff;border:none}.zone-commit-btn:hover{background:#0284c7}.zone-cancel-btn{color:var(--error);background:#fee2e2;border:1.5px solid #fca5a5}.zone-cancel-btn:hover{background:var(--error);color:#fff;border-color:var(--error)}.step-guide{-webkit-backdrop-filter:blur(12px);border:2px solid var(--border);color:var(--text-primary);pointer-events:none;z-index:50;white-space:nowrap;background:#fffffff7;border-radius:20px;align-items:center;gap:12px;padding:12px 24px;font-size:14px;font-weight:500;animation:.35s forwards guideIn;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #00000024}.step-guide--action{border-color:var(--accent);color:#1e40af;background:#dbeafef2}.step-guide--ready{color:#15803d;background:#dcfce7f2;border-color:#86efac}@keyframes guideIn{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.step-guide-icon{flex-shrink:0;font-size:20px}.step-guide-icon-svg{width:20px;height:20px;color:var(--accent);flex-shrink:0;align-items:center;display:flex}.step-guide-icon-svg svg{width:20px;height:20px}.building-info{-webkit-backdrop-filter:blur(20px);border:1.5px solid var(--border);z-index:200;background:#fffffff7;border-radius:14px;width:280px;animation:.2s forwards slideIn;position:absolute;top:12px;right:12px;overflow:hidden;box-shadow:0 8px 32px #00000024}@keyframes slideIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.building-info-header{background:var(--accent-dim);border-bottom:1.5px solid var(--border);align-items:center;gap:8px;padding:12px 14px;display:flex}.building-info-icon{font-size:14px}.building-info-title{color:var(--accent);flex:1;font-size:13px;font-weight:700}.building-info-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px;transition:color .15s}.building-info-close:hover{color:var(--error)}.building-info-body{scrollbar-width:thin;max-height:320px;padding:6px 0;overflow-y:auto}.building-info-table{border-collapse:collapse;width:100%;font-size:12px}.building-info-table tr{border-bottom:1px solid var(--border)}.building-info-table tr:last-child{border-bottom:none}.building-info-table th{text-align:left;width:88px;color:var(--text-muted);white-space:nowrap;vertical-align:top;padding:8px 14px;font-weight:600}.building-info-table td{color:var(--text-primary);word-break:break-all;padding:8px 14px 8px 0;line-height:1.5}.building-info-extra th,.building-info-extra td{opacity:.6;font-size:11px}.building-info-empty{color:var(--text-muted);text-align:center;padding:16px;font-size:13px}.sim-hud{-webkit-backdrop-filter:blur(16px);z-index:200;white-space:nowrap;background:#fffffff5;border:1.5px solid #86efac;border-radius:12px;align-items:center;gap:0;animation:.2s forwards hudIn;display:flex;position:absolute;top:12px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 2px 16px #16a34a1f,0 4px 20px #0000001a}@keyframes hudIn{0%{opacity:0;transform:translate(-50%)translateY(-8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.hud-title{background:#dcfce7;border-right:1.5px solid #86efac;align-items:center;gap:8px;padding:9px 14px;display:flex}.hud-title svg{color:#15803d;flex-shrink:0;width:16px;height:16px}.hud-title span{color:#15803d;text-overflow:ellipsis;max-width:160px;font-size:13px;font-weight:700;overflow:hidden}.hud-divider{background:var(--border);flex-shrink:0;width:1px;height:36px}.hud-metric{flex-direction:column;align-items:center;gap:1px;min-width:68px;padding:7px 14px;display:flex}.hud-label{color:var(--text-faint);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:700}.hud-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:16px;font-weight:700;line-height:1}.hud-value em{color:var(--text-muted);margin-left:1px;font-size:10px;font-style:normal}.hud-cam-group{gap:3px;padding:7px 10px;display:flex}.hud-cam-btn{background:var(--bg-elevated);border:1.5px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:6px;min-height:32px;padding:5px 10px;font-size:12px;font-weight:600;transition:all .12s}.hud-cam-btn:hover{border-color:var(--border-hover);color:var(--text-primary)}.hud-cam-btn.active{color:#15803d;background:#dcfce7;border-color:#86efac}.sim-player{-webkit-backdrop-filter:blur(20px);z-index:200;background:#fffffff7;border:1.5px solid #86efac;border-radius:14px;width:min(500px,100% - 28px);animation:.25s forwards slideUp;position:absolute;bottom:60px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 24px #0000001f}@keyframes slideUp{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.sim-seek-wrap{align-items:center;gap:10px;padding:12px 16px 6px;display:flex}.sim-time-label{color:var(--text-muted);white-space:nowrap;font-family:monospace;font-size:12px;font-weight:600}.sim-time-total{text-align:right}.sim-seek{appearance:none;background:var(--border);cursor:pointer;border-radius:3px;outline:none;flex:1;height:5px}.sim-seek:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.sim-seek::-webkit-slider-thumb{-webkit-appearance:none;background:var(--success);border:2px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 6px #16a34a66}.zone-name-input{border:1.5px solid var(--border);background:var(--bg-elevated);min-height:38px;color:var(--text);border-radius:8px;width:140px;max-width:40vw;padding:6px 10px;font-size:13px}.sim-controls{align-items:center;gap:8px;padding:8px 14px 12px;display:flex}.sim-speed-group{gap:3px;display:flex}.sim-speed-btn{background:var(--bg-elevated);border:1.5px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:6px;min-height:34px;padding:5px 9px;font-size:12px;font-weight:700;transition:all .12s}.sim-speed-btn.active,.sim-speed-btn:hover{color:#15803d;background:#dcfce7;border-color:#86efac}.sim-play-btn{background:var(--success);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;margin:0 auto;transition:all .12s;display:flex;box-shadow:0 2px 12px #16a34a59}.sim-play-btn:hover{transform:scale(1.08);box-shadow:0 4px 20px #16a34a80}.sim-play-btn svg{width:20px;height:20px}.sim-icon-btn{background:var(--bg-elevated);border:1.5px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;min-height:34px;padding:7px;transition:all .15s;display:flex}.sim-icon-btn:hover{color:var(--text-primary);border-color:var(--border-hover);background:var(--bg-hover)}.sim-icon-btn svg{width:17px;height:17px}.sim-close-btn{margin-left:auto}.sim-close-btn:hover{color:var(--error);background:#fee2e2;border-color:#fca5a5}.location-search{width:100%;position:relative}.search-input-wrap{align-items:center;display:flex;position:relative}.search-icon{width:16px;height:16px;color:var(--text-muted);pointer-events:none;position:absolute;left:10px}.search-input{background:var(--bg-elevated);border:1.5px solid var(--border);width:100%;color:var(--text-primary);border-radius:10px;outline:none;height:40px;padding:8px 32px;font-family:Noto Sans JP,sans-serif;font-size:13px;transition:all .15s}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);background:#fff}.search-input::placeholder{color:var(--text-faint)}.search-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin;position:absolute;right:10px}.search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px;font-size:15px;line-height:1;position:absolute;right:9px}.search-results{border:1.5px solid var(--border);z-index:9999;background:#fff;border-radius:10px;list-style:none;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow:hidden;box-shadow:0 8px 24px #00000024}.search-result-item{cursor:pointer;border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;padding:10px 14px;transition:background .1s;display:flex}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--bg-hover)}.result-icon{width:14px;height:14px;color:var(--accent);flex-shrink:0;margin-top:2px}.result-name{color:var(--text-primary);font-size:13px;line-height:1.4}.cesium-widget-credits{display:none!important}.map-popup{border:1.5px solid var(--border);z-index:200;background:#fff;border-radius:12px;width:240px;animation:.12s ease-out popup-in;position:absolute;overflow:hidden;box-shadow:0 8px 32px #00000029}@keyframes popup-in{0%{opacity:0;transform:scale(.92)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}.map-popup-header{background:var(--bg-elevated);border-bottom:1.5px solid var(--border);align-items:center;gap:8px;padding:10px 12px;display:flex}.map-popup-title{flex:1;font-size:13px;font-weight:700}.map-popup-close{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;font-size:15px;transition:all .1s;display:flex}.map-popup-close:hover{color:var(--error);background:#fee2e2}.map-popup-body{flex-direction:column;gap:8px;padding:12px;display:flex}.map-popup-label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:11px;font-weight:600;display:flex}.map-popup-input{background:var(--bg-elevated);border:1.5px solid var(--border);height:34px;color:var(--text-primary);border-radius:7px;outline:none;padding:0 10px;font-family:Noto Sans JP,sans-serif;font-size:13px;transition:all .15s}.map-popup-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.map-popup-select{background:var(--bg-elevated);border:1.5px solid var(--border);height:34px;color:var(--text-primary);cursor:pointer;border-radius:7px;outline:none;padding:0 8px;font-size:13px}.map-popup-colors{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.map-popup-coords{color:var(--text-faint);font-family:monospace;font-size:11px}.map-popup-add-note{color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:12px;font-weight:600}.map-popup-add-note:hover{text-decoration:underline}.map-popup-footer{border-top:1.5px solid var(--border);background:var(--bg-elevated);padding:8px 12px}.map-popup-delete{width:100%;color:var(--error);cursor:pointer;background:#fee2e2;border:1.5px solid #fca5a5;border-radius:7px;align-items:center;gap:6px;min-height:36px;padding:7px 10px;font-family:Noto Sans JP,sans-serif;font-size:12px;font-weight:600;transition:all .15s;display:flex}.map-popup-delete svg{width:14px;height:14px}.map-popup-delete:hover{background:var(--error);color:#fff;border-color:var(--error)}.seed-section{background:var(--accent-dim);flex-direction:column;align-items:stretch;gap:12px;display:flex;border-bottom:2px solid var(--border)!important;padding:16px!important}.seed-desc{color:var(--text-primary);font-size:14px;line-height:1.6}.seed-desc small{color:var(--text-muted);margin-top:3px;font-size:12px;display:block}.seed-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:50px;padding:13px 18px;font-family:Noto Sans JP,sans-serif;font-size:15px;font-weight:700;transition:all .15s;display:flex;box-shadow:0 3px 14px #0369a14d}.seed-btn svg{width:20px;height:20px}.seed-btn:hover{background:#0284c7;transform:translateY(-1px);box-shadow:0 5px 20px #0369a173}.pin-color-row{align-items:center;gap:10px;padding:5px 0;display:flex}.pin-color-label{color:var(--text-muted);font-size:12px;font-weight:600}.pin-color-swatches{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.pin-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:22px;height:22px;transition:transform .1s,border-color .1s}.pin-swatch:hover{transform:scale(1.15)}.pin-swatch.active{border-color:var(--text-primary);transform:scale(1.2)}.pin-color-custom{border:2px solid var(--border);cursor:pointer;background:0 0;border-radius:50%;width:26px;height:26px;padding:0;overflow:hidden}.pin-color-custom::-webkit-color-swatch-wrapper{padding:0}.pin-color-custom::-webkit-color-swatch{border:none;border-radius:50%}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a80;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-panel{border:1.5px solid var(--border);background:#fff;border-radius:16px;flex-direction:column;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 24px 64px #0003}.modal-header{border-bottom:1.5px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 22px 14px;display:flex}.modal-header h2{font-size:17px;font-weight:700}.modal-close{background:var(--bg-elevated);border:1.5px solid var(--border);width:32px;height:32px;color:var(--text-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:18px;transition:all .15s;display:flex}.modal-close:hover{border-color:var(--error);color:var(--error);background:#fee2e2}.help-modal{width:640px;max-height:82vh}.help-content{flex-direction:column;flex:1;gap:20px;padding:20px 24px 24px;display:flex;overflow-y:auto}.help-section{flex-direction:column;gap:12px;display:flex}.help-section h3{color:var(--text-primary);font-size:15px;font-weight:700}.help-section--highlight{background:var(--accent-dim);border:1.5px solid #93c5fd;border-radius:12px;padding:14px 16px}.help-steps{flex-direction:column;gap:10px;display:flex}.help-step{background:var(--bg-elevated);border:1.5px solid var(--border);border-radius:12px;align-items:flex-start;gap:14px;padding:12px 16px;display:flex}.help-step-num{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;margin-top:1px;font-size:14px;font-weight:700;display:flex}.help-step b{margin-bottom:3px;font-size:14px;font-weight:700;display:block}.help-step p{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.help-note{color:var(--text-muted);font-size:13px;line-height:1.7}.help-table{border-collapse:collapse;width:100%;font-size:13px}.help-table tr{border-bottom:1px solid var(--border)}.help-table tr:last-child{border-bottom:none}.help-table td{vertical-align:top;padding:9px 12px;line-height:1.5}.help-table td:first-child{color:var(--text-muted);width:55%}.help-badge{background:var(--bg-elevated);border:1.5px solid var(--border);color:var(--text-primary);border-radius:6px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-block}.welcome-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;background:#0f172a99;justify-content:center;align-items:center;padding:20px;animation:.4s forwards welcomeIn;display:flex;position:fixed;inset:0}@keyframes welcomeIn{0%{opacity:0}to{opacity:1}}.welcome-panel{text-align:center;background:#fff;border-radius:24px;flex-direction:column;align-items:center;gap:24px;width:100%;max-width:580px;padding:48px 52px;animation:.45s forwards welcomePanelIn;display:flex;box-shadow:0 32px 80px #00000040}@keyframes welcomePanelIn{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:none}}.welcome-logo{background:var(--accent);border-radius:20px;justify-content:center;align-items:center;width:72px;height:72px;display:flex}.welcome-logo svg{color:#fff;width:42px;height:42px}.welcome-title{color:var(--text-primary);letter-spacing:-.02em;font-size:28px;font-weight:700;line-height:1.2}.welcome-subtitle{color:var(--text-muted);max-width:400px;font-size:16px;line-height:1.7}.welcome-actions{flex-direction:column;gap:12px;width:100%;max-width:360px;display:flex}.welcome-btn-demo{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:10px;width:100%;padding:18px 24px;font-family:Noto Sans JP,sans-serif;font-size:17px;font-weight:700;transition:all .15s;display:flex;box-shadow:0 4px 20px #0369a159}.welcome-btn-demo:hover{background:#0284c7;transform:translateY(-2px);box-shadow:0 8px 28px #0369a173}.welcome-btn-demo svg{width:22px;height:22px}.welcome-btn-start{background:var(--bg-elevated);border:2px solid var(--border);color:var(--text-primary);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:10px;width:100%;padding:16px 24px;font-family:Noto Sans JP,sans-serif;font-size:16px;font-weight:600;transition:all .15s;display:flex}.welcome-btn-start:hover{border-color:var(--border-hover);background:var(--bg-hover);transform:translateY(-1px)}.welcome-btn-start svg{width:20px;height:20px;color:var(--text-muted)}.welcome-hint{color:var(--text-faint);font-size:12px;line-height:1.5}.lod-badge{letter-spacing:.04em;border-radius:5px;padding:3px 7px;font-size:11px;font-weight:700}.lod-1{color:#15803d;background:#dcfce7;border:1px solid #86efac}.lod-2{background:var(--accent-dim);color:var(--accent);border:1px solid #93c5fd}.lod-3{color:#d97706;background:#fef3c7;border:1px solid #fcd34d}.ai-panel{background:var(--bg-base);flex-direction:column;height:100%;display:flex;overflow:hidden}.ai-header{border-bottom:1px solid var(--border);background:var(--bg-elevated);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px 10px;display:flex}.ai-header-left{align-items:center;gap:8px;display:flex}.ai-header-actions{align-items:center;gap:4px;display:flex}.ai-status-dot{background:#22c55e;border-radius:50%;width:8px;height:8px;box-shadow:0 0 6px #22c55e99}.ai-header-title{color:var(--text-primary);font-size:14px;font-weight:600}.ai-settings-btn,.ai-clear-btn{cursor:pointer;width:32px;height:32px;color:var(--text-muted);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.ai-settings-btn:hover,.ai-clear-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.ai-settings-btn.active{background:var(--accent-dim);color:var(--accent)}.ai-settings-btn svg,.ai-clear-btn svg{width:16px;height:16px}.ai-model-bar{border-bottom:1px solid var(--border);background:var(--bg-panel);align-items:center;gap:8px;padding:6px 16px;display:flex}.ai-model-badge{letter-spacing:.03em;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:600}.ai-model-badge.free{background:var(--accent-dim);color:var(--accent)}.ai-model-badge.premium{color:#8b5cf6;background:#8b5cf61a}.ai-model-warn{color:var(--warning);font-size:11px}.ai-settings{border-bottom:1px solid var(--border);background:var(--bg-elevated);padding:12px 16px}.ai-settings-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:11px;font-weight:600;display:block}.ai-settings-hint{text-transform:none;letter-spacing:0;color:var(--text-faint);margin-left:6px;font-weight:400}.ai-settings-note{color:var(--text-faint);margin:6px 0 0;font-size:11px}.ai-model-list{flex-direction:column;gap:4px;display:flex}.ai-model-option{border:1.5px solid var(--border);background:var(--bg-panel);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 12px;font-family:inherit;transition:all .15s;display:flex}.ai-model-option:hover:not(:disabled),.ai-model-option.active{border-color:var(--accent);background:var(--accent-dim)}.ai-model-option.disabled{opacity:.4;cursor:not-allowed}.ai-model-name{color:var(--text-primary);font-size:13px;font-weight:500}.ai-model-tier{letter-spacing:.04em;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700}.ai-model-tier.free{color:#16a34a;background:#16a34a1a}.ai-model-tier.premium{color:#8b5cf6;background:#8b5cf61a}.ai-key-input-wrap{align-items:center;display:flex;position:relative}.ai-key-input{border:1.5px solid var(--border);background:var(--bg-panel);width:100%;color:var(--text-primary);border-radius:8px;padding:8px 32px 8px 10px;font-family:SF Mono,Fira Code,monospace;font-size:13px}.ai-key-input:focus{border-color:var(--accent);outline:none}.ai-key-clear{background:var(--bg-hover);width:22px;height:22px;color:var(--text-muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;right:6px}.ai-key-clear:hover{background:var(--error);color:#fff}.ai-messages{flex-direction:column;flex:1;gap:10px;padding:12px;display:flex;overflow-y:auto}.ai-welcome{padding:8px 0}.ai-welcome-text{color:var(--text-muted);margin-bottom:12px;font-size:13px;line-height:1.6}.ai-suggestions{flex-direction:column;gap:6px;display:flex}.ai-suggestion{text-align:left;background:var(--bg-elevated);border:1px solid var(--border);cursor:pointer;color:var(--text-primary);border-radius:10px;padding:10px 14px;font-family:Noto Sans JP,sans-serif;font-size:13px;line-height:1.4;transition:all .15s}.ai-suggestion:hover{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.ai-suggestion:disabled{opacity:.5;cursor:not-allowed}.ai-message{align-items:flex-start;gap:8px;display:flex}.ai-message-user{flex-direction:row-reverse}.ai-avatar{background:var(--accent);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:700;display:flex}.ai-bubble{white-space:pre-wrap;word-break:break-word;border-radius:12px;max-width:85%;padding:10px 13px;font-size:13px;line-height:1.65}.ai-bubble-assistant{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-primary);border-radius:2px 12px 12px}.ai-bubble-user{background:var(--accent);color:#fff;border-radius:12px 2px 12px 12px}.ai-thinking{align-items:center;gap:4px;padding:2px 4px;display:flex}.ai-thinking span{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.2s infinite aiDot}.ai-thinking span:nth-child(2){animation-delay:.2s}.ai-thinking span:nth-child(3){animation-delay:.4s}@keyframes aiDot{0%,80%,to{opacity:.4;transform:scale(.7)}40%{opacity:1;transform:scale(1)}}.ai-error-banner{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;align-items:flex-start;gap:8px;padding:10px 13px;font-size:12px;line-height:1.5;display:flex}.ai-error-banner svg{flex-shrink:0;width:16px;height:16px;margin-top:1px}.ai-input-area{border-top:1px solid var(--border);background:var(--bg-elevated);flex-shrink:0;align-items:flex-end;gap:8px;padding:10px 12px;display:flex}.ai-input{background:var(--bg-base);border:1.5px solid var(--border);color:var(--text-primary);resize:none;border-radius:10px;outline:none;flex:1;padding:10px 13px;font-family:Noto Sans JP,sans-serif;font-size:13px;line-height:1.5;transition:border-color .15s}.ai-input:focus{border-color:var(--accent)}.ai-input::placeholder{color:var(--text-faint)}.ai-input:disabled{opacity:.6}.ai-send-btn{background:var(--accent);cursor:pointer;color:#fff;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:all .15s;display:flex}.ai-send-btn:hover:not(:disabled){background:#0284c7}.ai-send-btn:disabled{opacity:.4;cursor:not-allowed}.ai-send-btn svg{width:18px;height:18px}.ai-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}.ai-hint{text-align:center;color:var(--text-faint);flex-shrink:0;padding:0 12px 8px;font-size:11px}.ai-setup-guide{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:24px 20px;display:flex}.ai-setup-icon svg{width:48px;height:48px;color:var(--accent);stroke-width:1.2px}.ai-setup-title{color:var(--text-primary);font-size:16px;font-weight:700}.ai-setup-desc{color:var(--text-muted);font-size:13px;line-height:1.6}.ai-setup-steps{text-align:left;flex-direction:column;gap:8px;width:100%;display:flex}.ai-setup-step{color:var(--text-primary);align-items:center;gap:10px;font-size:13px;display:flex}.ai-step-num{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:flex}.ai-setup-code{color:#e2e8f0;text-align:left;background:#1e293b;border-radius:8px;width:100%;padding:12px 16px;font-family:monospace;font-size:12px;overflow-x:auto}.ai-setup-note{color:var(--text-faint);font-size:12px;line-height:1.6}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{-webkit-backdrop-filter:blur(12px);pointer-events:all;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;min-width:240px;max-width:420px;padding:10px 16px;font-size:13px;font-weight:500;animation:.25s toast-in;display:flex;box-shadow:0 4px 16px #00000026}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.toast svg{flex-shrink:0;width:16px;height:16px}.toast span{flex:1}.toast button{cursor:pointer;opacity:.6;background:0 0;border:none;padding:2px}.toast button:hover{opacity:1}.toast button svg{width:14px;height:14px}.toast-success{color:#15803d;background:#16a34a1f;border-color:#16a34a59}.toast-error{color:#b91c1c;background:#dc26261f;border-color:#dc262659}.toast-warning{color:#b45309;background:#d977061f;border-color:#d9770659}.toast-info{color:#1d4ed8;background:#3b82f61f;border-color:#3b82f659}.mission-complete-overlay{z-index:300;opacity:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;justify-content:center;align-items:center;transition:opacity .5s;display:flex;position:absolute;inset:0}.mission-complete-overlay.visible{opacity:1}.mission-complete-card{background:#0d1117;border:1px solid #39d35340;border-radius:20px;width:420px;max-width:calc(100vw - 40px);padding:36px 40px 32px;animation:.5s cubic-bezier(.34,1.56,.64,1) both mc-slide-up;position:relative;overflow:hidden;box-shadow:0 0 60px #39d3531f,0 24px 48px #0009}@keyframes mc-slide-up{0%{opacity:0;transform:translateY(40px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.mc-beam{background:linear-gradient(90deg,#0000,#39d353,#0000);border-radius:0 0 8px 8px;width:180px;height:4px;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:0 0 20px #39d35380}.mc-icon-wrap{width:80px;height:80px;margin:0 auto 20px;position:relative}.mc-drone-icon{filter:drop-shadow(0 0 12px #39d35380);width:80px;height:80px;animation:3s ease-in-out infinite mc-float}@keyframes mc-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.mc-check{background:#39d353;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;animation:.4s cubic-bezier(.34,1.56,.64,1) .3s both mc-pop;display:flex;position:absolute;bottom:-4px;right:-4px;box-shadow:0 0 12px #39d35399}@keyframes mc-pop{0%{transform:scale(0)}to{transform:scale(1)}}.mc-check svg{width:14px;height:14px}.mc-title-area{text-align:center;margin-bottom:10px}.mc-label{letter-spacing:.15em;color:#39d353;text-transform:uppercase;margin:0 0 6px;font-size:10px;font-weight:700}.mc-title{color:#f0f6fc;margin:0 0 4px;font-size:22px;font-weight:800;line-height:1.2}.mc-plan-name{color:#f0f6fc80;margin:0;font-size:12px}.mc-body{color:#f0f6fca6;text-align:center;border-top:1px solid #39d3531a;border-bottom:1px solid #39d3531a;margin:0 0 24px;padding:12px 8px;font-size:13px;line-height:1.6}.mc-stats{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px;display:grid}.mc-stat{flex-direction:column;align-items:center;gap:4px;display:flex}.mc-stat-value{color:#7ee8a2;font-variant-numeric:tabular-nums;font-size:16px;font-weight:800;line-height:1}.mc-stat-value em{color:#39d353;margin-left:1px;font-size:10px;font-style:normal}.mc-stat-label{color:#f0f6fc73;text-align:center;font-size:10px}.mc-actions{gap:10px;display:flex}.mc-btn-replay{color:#39d353;cursor:pointer;background:#39d3531f;border:1.5px solid #39d353;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;padding:13px;font-size:14px;font-weight:700;transition:background .15s;display:flex}.mc-btn-replay:hover{background:#39d35338}.mc-btn-replay svg{width:16px;height:16px}.mc-btn-close{color:#f0f6fc99;cursor:pointer;background:#f0f6fc0d;border:1.5px solid #f0f6fc1f;border-radius:12px;padding:13px 20px;font-size:14px;transition:background .15s}.mc-btn-close:hover{color:#f0f6fce6;background:#f0f6fc1a}@media (prefers-color-scheme:dark){:root{--bg-base:#0d1117;--bg-panel:#161b22;--bg-surface:#161b22;--bg-elevated:#21262d;--bg-hover:#1c2128;--border:#30363d;--border-hover:#6e7681;--accent:#58a6ff;--accent-dim:#58a6ff1f;--accent-glow:#58a6ff26;--text-primary:#e6edf3;--text-muted:#8b949e;--text-faint:#484f58}input,select,textarea{background:var(--bg-elevated);color:var(--text-primary)}.search-input:focus{background:var(--bg-elevated)}.app-header{box-shadow:0 2px 8px #0000004d}.sidebar{box-shadow:2px 0 8px #0003}.map-toolbar{border-color:var(--border);background:#161b22f5;box-shadow:0 4px 24px #0006}.toolbar-btn:hover{background:var(--bg-elevated)}.step-guide{border-color:var(--border);background:#161b22f7;box-shadow:0 4px 24px #0006}.step-guide--action{border-color:var(--accent);color:#79c0ff;background:#58a6ff1a}.step-guide--ready{color:#56d364;background:#2ea0431a;border-color:#2ea043}.building-info{background:#161b22f7;box-shadow:0 8px 32px #00000080}.building-info-header{background:var(--accent-dim);border-color:var(--border)}.wp-summary:hover{background:#ffffff0a}.wp-act-del:hover{background:#dc26261f!important}.overlay{border-color:var(--border);background:#161b22f0}.sim-hud{background:#161b22f5;border-color:#2ea043;box-shadow:0 2px 16px #2ea04326,0 4px 20px #0006}.hud-title{background:#2ea0431f;border-color:#2ea043}.hud-title span,.hud-title svg{color:#56d364}.hud-cam-btn.active{color:#56d364;background:#2ea04326;border-color:#2ea043}.sim-player{background:#161b22f7;border-color:#2ea043;box-shadow:0 4px 24px #0006}.sim-speed-btn.active,.sim-speed-btn:hover{color:#56d364;background:#2ea04326;border-color:#2ea043}.search-results{background:var(--bg-panel);border-color:var(--border);box-shadow:0 8px 24px #0006}.map-popup{background:var(--bg-panel);box-shadow:0 8px 32px #00000080}.map-popup-header,.map-popup-footer{background:var(--bg-elevated)}.modal-panel{background:var(--bg-panel)}.welcome-panel{background:var(--bg-panel);box-shadow:0 32px 80px #0009}.checklist-modal{background:var(--bg-panel);box-shadow:0 20px 60px #0009}.export-menu{background:var(--bg-panel);border-color:var(--border);box-shadow:0 8px 24px #0006}.export-menu button:hover,.plan-stat{background:var(--bg-elevated)}.status-draft{background:var(--bg-elevated);color:var(--text-muted);border-color:var(--border)}.sim-indicator{color:#56d364;background:#2ea0431f;border-color:#2ea043}.sim-indicator-dot{background:#56d364}.toast-success{color:#56d364;background:#2ea04326;border-color:#2ea04366}.toast-error{color:#f87171;background:#dc262626;border-color:#dc262666}.toast-warning{color:#fbbf24;background:#d9770626;border-color:#d9770666}.toast-info{color:#79c0ff;background:#58a6ff26;border-color:#58a6ff66}}
