html.map3d-root,html.map3d-root body{width:100%;height:100%;margin:0;padding:0;overflow:hidden}body.map3d-page{background:#0a0a15;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overscroll-behavior:none}.map3d-fullscreen{position:fixed;inset:0;background:#0a0a15}.map3d-container{position:relative;width:100%;height:100%;overflow:hidden;background:#0a0a15}.map3d-frame{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:#0a0a15}.map3d-map-tools{position:absolute;left:12px;bottom:max(12px, env(safe-area-inset-bottom));z-index:6;display:flex;align-items:center;gap:8px;max-width:calc(100% - 24px)}.map3d-overlay-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:6px 10px;border:0;border-radius:9px;background:rgba(20,20,33,0.92);box-shadow:0 2px 8px rgba(0,0,0,0.4);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#e6e6f0;font-family:inherit;font-size:12.5px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;text-decoration:none;transition:background 0.15s ease,color 0.15s ease}.map3d-overlay-btn:hover,.map3d-overlay-btn:focus,.map3d-overlay-btn:active{background:rgba(37,37,58,0.96);color:#fff}.map3d-map-tools .map3d-overlay-btn:first-child{background:#2563eb;box-shadow:0 3px 12px rgba(37,99,235,0.38);color:#fff}.map3d-map-tools .map3d-overlay-btn:first-child:hover{background:#3474ed}.map3d-overlay-btn svg{width:13px;height:13px}.map3d-selector-group{display:flex;align-items:center;gap:8px;min-height:30px;padding:4px 8px 4px 11px;border-radius:9px;background:rgba(20,20,33,0.92);box-shadow:0 2px 8px rgba(0,0,0,0.4);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#93c5fd}.map3d-selector-group>svg{width:13px;height:13px;flex:0 0 13px}.map3d-selector-toggle{display:none}.map3d-overlay-select{box-sizing:border-box;width:240px;max-width:260px;height:30px;padding:0 28px 0 10px;border:0;border-radius:6px;outline:none;background:rgba(255,255,255,0.07);color:#e6e6f0;font-family:inherit;font-size:13px;font-weight:600;line-height:1;cursor:pointer}.map3d-overlay-select:last-child{width:135px;max-width:145px}.map3d-overlay-select:focus{box-shadow:0 0 0 2px rgba(96,165,250,0.5)}.map3d-overlay-select:disabled{opacity:0.65;cursor:wait}.map3d-overlay-select option{background:#141421;color:#fff}.map3d-powered-overlay{position:absolute;right:52px;bottom:max(10px, env(safe-area-inset-bottom));z-index:6;padding:4px 7px;border-radius:5px;background:rgba(10,10,21,0.72);color:rgba(255,255,255,0.82);font-size:10.5px;font-weight:600;line-height:1;text-decoration:none}.map3d-powered-overlay:hover,.map3d-powered-overlay:focus{color:#fff}.ct-coords-display{position:absolute;left:50%;bottom:12px;z-index:5;display:none;padding:7px 14px;transform:translateX(-50%);border-radius:10px;background:rgba(13,15,30,0.95);box-shadow:0 4px 14px rgba(0,0,0,0.45);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#f0f2fa;font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;pointer-events:none;white-space:nowrap}.map3d-annotations-drawer{position:absolute;top:12px;right:12px;bottom:48px;z-index:8;display:flex;box-sizing:border-box;width:min(390px, calc(100vw - 24px));transform:translateX(calc(100% + 20px));flex-direction:column;border:1px solid rgba(255,255,255,0.1);border-radius:14px;background:rgba(15,15,27,0.97);box-shadow:0 16px 45px rgba(0,0,0,0.48);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#ececf5;opacity:0;pointer-events:none;transition:transform 0.2s ease,opacity 0.2s ease}.map3d-annotations-drawer.is-open{transform:translateX(0);opacity:1;pointer-events:auto}.map3d-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 18px 14px;border-bottom:1px solid rgba(255,255,255,0.08)}.map3d-drawer-header h1{margin:0;font-size:18px;line-height:1.2}.map3d-drawer-header p{margin:5px 0 0;color:#a4a6b7;font-size:12px;line-height:1.4}.map3d-icon-btn{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;flex:0 0 32px;border:0;border-radius:8px;background:rgba(255,255,255,0.08);color:#e7e7f1;cursor:pointer}.map3d-icon-btn svg{width:14px;height:14px}.map3d-annotations-status{display:none;margin:12px 14px 0;padding:9px 11px;border-radius:8px;background:rgba(59,130,246,0.15);color:#bfdbfe;font-size:12px;line-height:1.4}.map3d-annotations-status.is-visible{display:block}.map3d-annotations-status.is-error{background:rgba(239,68,68,0.15);color:#fecaca}.map3d-annotations-content{overflow:auto;padding:14px}.map3d-annotation-actions,.map3d-form-actions{display:flex;flex-wrap:wrap;gap:8px}.map3d-action-btn{min-height:34px;padding:7px 10px;border:1px solid rgba(255,255,255,0.11);border-radius:8px;background:rgba(255,255,255,0.07);color:#ececf5;font:600 12px/1 system-ui,sans-serif;cursor:pointer}.map3d-action-btn:hover,.map3d-action-btn:focus{background:rgba(255,255,255,0.13)}.map3d-action-btn.is-primary{border-color:#2563eb;background:#2563eb;color:#fff}.map3d-action-btn.is-danger{color:#fca5a5}.map3d-action-btn:disabled{opacity:0.45;cursor:not-allowed}.map3d-layer-card,.map3d-editor-card{margin-top:12px;padding:12px;border:1px solid rgba(255,255,255,0.09);border-radius:10px;background:rgba(255,255,255,0.035)}.map3d-layer-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.map3d-layer-name{display:flex;min-width:0;align-items:center;gap:8px;font-size:13px;font-weight:700}.map3d-layer-swatch{width:10px;height:10px;flex:0 0 10px;border-radius:50%}.map3d-item-list{display:grid;gap:6px;margin-top:10px}.map3d-item-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border-radius:7px;background:rgba(0,0,0,0.16);font-size:12px}.map3d-item-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map3d-mini-actions{display:flex;flex:0 0 auto;gap:5px}.map3d-mini-actions button{padding:5px 7px;border:0;border-radius:6px;background:rgba(255,255,255,0.08);color:#d9d9e4;font:600 11px/1 system-ui,sans-serif;cursor:pointer}.map3d-field{display:grid;gap:5px;margin-bottom:10px;color:#c7c8d4;font-size:11px;font-weight:700}.map3d-field input,.map3d-field select,.map3d-field textarea{box-sizing:border-box;width:100%;min-height:36px;padding:8px 9px;border:1px solid rgba(255,255,255,0.12);border-radius:7px;outline:none;background:rgba(0,0,0,0.2);color:#f5f5fa;font:400 13px/1.35 system-ui,sans-serif}.map3d-field textarea{min-height:68px;resize:vertical}.map3d-field input:focus,.map3d-field select:focus,.map3d-field textarea:focus{border-color:#60a5fa;box-shadow:0 0 0 2px rgba(96,165,250,0.16)}.map3d-style-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.map3d-check-field{display:flex;align-items:center;gap:7px;margin:2px 0 12px;color:#c7c8d4;font-size:12px}.map3d-coordinate-list{display:grid;gap:6px;margin:8px 0 12px}.map3d-coordinate-row{display:grid;grid-template-columns:22px repeat(3,minmax(0,1fr));gap:5px;align-items:center}.map3d-coordinate-row input{box-sizing:border-box;width:100%;min-width:0;padding:6px;border:1px solid rgba(255,255,255,0.1);border-radius:6px;background:rgba(0,0,0,0.2);color:#fff;font-size:11px}.map3d-draw-hint,.map3d-empty{margin:10px 0;color:#aeb0c0;font-size:12px;line-height:1.45}@media (max-width:640px){.map3d-map-tools{left:8px;bottom:max(8px, env(safe-area-inset-bottom));max-width:none;overflow:visible}.map3d-map-tools .map3d-overlay-btn:first-child{width:38px;padding-inline:0}.map3d-overlay-label{display:none}.map3d-selector-toggle{display:inline-flex;max-width:min(210px, calc(100vw - 64px))}.map3d-selector-toggle #map3d-selector-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map3d-selector-toggle .map3d-selector-chevron{transition:transform 0.15s ease}.map3d-selector-toggle[aria-expanded="true"] .map3d-selector-chevron{transform:rotate(180deg)}.map3d-selector-group{position:absolute;left:0;bottom:calc(100% + 8px);display:none;grid-template-columns:13px minmax(105px,1fr) minmax(88px,0.72fr);gap:6px;width:min(420px, calc(100vw - 16px));padding-inline:9px}.map3d-selector-group.is-open{display:grid}.map3d-overlay-select,.map3d-overlay-select:last-child{width:100%;max-width:none;min-width:0;padding-inline:7px 20px;font-size:12px}.ct-coords-display{bottom:max(64px, calc(env(safe-area-inset-bottom) + 56px));max-width:calc(100vw - 28px);overflow:hidden;text-overflow:ellipsis}.map3d-powered-overlay{display:none}.map3d-annotations-drawer{top:8px;right:8px;bottom:58px;width:calc(100vw - 16px)}}
