:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{background-color:#242424}select option{background:#333;color:#fff}#root{width:100%;height:100vh;margin:0;padding:0;display:flex;flex-direction:column}.app-header{height:36px;min-height:36px;background:#1a1a1a;border-bottom:1px solid #333;display:flex;align-items:center;padding:0 12px;z-index:2001;flex-shrink:0}.app-header-left{flex:1;display:flex;align-items:center}.app-title{color:#888;font-size:.85rem;font-weight:600;letter-spacing:.5px}.app-header-center{display:flex;align-items:center;justify-content:center}.app-header-right{flex:1;display:flex;align-items:center;justify-content:flex-end}.app-container{flex:1;display:flex;overflow:hidden;position:relative;max-height:calc(100vh - 96px)}.timeline-container{height:60px;background:#222;border-top:1px solid #444;display:flex;align-items:center;padding:0 20px;gap:15px;color:#fff;z-index:2000}.timeline-slider{flex:1;cursor:pointer}.timeline-controls{display:flex;align-items:center;gap:8px}.timeline-controls button{background:#444;border:none;color:#fff;padding:5px 15px;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-size:.8rem;line-height:1}.timeline-controls button svg{flex-shrink:0}.timeline-controls button:hover{background:#555}.map-container{width:100%;height:100%}.simulation-panel{flex:1;height:100%;position:relative;border-right:2px solid #333;display:flex;flex-direction:column}.simulation-panel:last-child{border-right:none}.panel-header{height:40px;background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;padding:0 10px;color:#fff;z-index:10;font-family:monospace;font-size:.85rem;border-bottom:1px solid rgba(255,255,255,.1)}.panel-header label{margin-right:10px;font-size:.85rem;color:#ccc}.panel-header select{background:#333;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:4px;padding:2px 5px;font-family:monospace;font-size:.8rem}.panel-header select option{background:#333;color:#fff}.map-view{flex:1;position:relative;overflow:hidden}.mapbox-container{width:100%;height:100%;position:absolute;top:0;left:0}.full-screen-map{width:100%;height:100%;position:absolute;top:0;left:0;object-fit:contain}.map-container{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center}.background-map{z-index:1}.overlay-map{z-index:2;pointer-events:none}.version-footer{position:absolute;bottom:10px;right:10px;color:#ffffff4d;font-family:monospace;font-size:.8rem;z-index:100;pointer-events:none}.mode-toggle{display:flex;gap:0;border-radius:4px;overflow:hidden;border:1px solid #444}.mode-toggle button{background:#2a2a2a;color:#aaa;border:none;padding:4px 12px;font-size:.75rem;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;line-height:1.2;display:inline-flex;align-items:center;gap:4px}.mode-toggle button:hover{background:#444;color:#fff}.mode-toggle button.active{background:#1a73e8;color:#fff}.app-container.editor-mode{max-height:calc(100vh - 36px)}.settings-button{background:none;border:none;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;color:#ccc;transition:color .2s;box-shadow:none;padding:4px 6px;line-height:1}.settings-button:hover{color:#fff;background-color:transparent}.scheme-selector{position:absolute;top:10px;left:10px;z-index:1001;background:#0000004d;padding:8px 12px;border-radius:8px;color:#fff;font-family:monospace;font-size:.75rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.debug-log{position:absolute;bottom:10px;left:10px;z-index:100;pointer-events:auto;font-family:monospace;font-size:.75rem;color:#fff;background:#0000004d;padding:8px;border-radius:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);max-width:300px}.stats-panel{position:absolute;top:10px;left:10px;z-index:100;pointer-events:auto;font-family:monospace;font-size:.75rem;color:#fff;background:#0000004d;padding:8px;border-radius:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);max-height:calc(100% - 80px);overflow-y:auto;min-width:200px;max-width:420px}.scheme-selector select{background:#333;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:4px;padding:2px 4px;margin-left:8px;cursor:pointer;font-family:monospace;font-size:.75rem}.scheme-selector select option{background:#333;color:#fff}.parameters-panel{position:absolute;top:10px;right:10px;z-index:100;pointer-events:auto;font-family:monospace;font-size:.75rem;color:#fff;background:#0000004d;padding:8px;border-radius:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);min-width:200px;max-width:220px}.login-page{width:100%;height:100vh;display:flex;align-items:center;justify-content:center;background:#1a1a1a}.login-card{background:#242424;border:1px solid #333;border-radius:12px;padding:40px 48px;display:flex;flex-direction:column;align-items:center;gap:12px;min-width:320px;box-shadow:0 8px 32px #00000080}.login-logo{display:flex;align-items:center;gap:12px;margin-bottom:4px}.login-app-name{font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:.5px}.login-subtitle{font-size:.85rem;color:#888;margin:0;font-family:monospace}.login-actions{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:8px}.login-btn{width:100%;padding:10px 0;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;border:none;transition:background .15s,color .15s}.login-btn-primary{background:#1a73e8;color:#fff}.login-btn-primary:hover{background:#1557b0}.login-btn-secondary{background:#2e2e2e;color:#ccc;border:1px solid #444}.login-btn-secondary:hover{background:#3a3a3a;color:#fff}.modal-overlay{position:fixed;inset:0;background-color:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:2000}.modal-content{background-color:#1a1a1a;color:#e0e0e0;padding:24px;border-radius:12px;box-shadow:0 8px 32px #0000004d;width:450px;max-width:95%;max-height:85vh;overflow-y:auto;border:1px solid #333;scrollbar-width:thin;scrollbar-color:#444 transparent}.modal-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-thumb{background-color:#444;border-radius:3px}.modal-content h2{margin-top:0;margin-bottom:24px;font-size:1.5rem;font-weight:600;color:#fff;border-bottom:1px solid #333;padding-bottom:12px}.setting-group{margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:4px 0}.setting-group.checkbox-group{justify-content:flex-start}.setting-group label{font-weight:500;font-size:.9rem;color:#bbb;flex:1;white-space:nowrap}.setting-group .value-label{min-width:45px;text-align:right;font-family:monospace;color:#8bc34a;font-weight:700}.setting-group input[type=range]{flex:1.5;accent-color:#8bc34a;cursor:pointer;height:4px}.setting-group input[type=checkbox]{width:18px;height:18px;accent-color:#8bc34a;cursor:pointer}.close-button{width:100%;padding:12px;background-color:#8bc34a;color:#1a1a1a;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;margin-top:20px;transition:background-color .2s,transform .1s}.close-button:hover{background-color:#9ccc65}.close-button:active{transform:scale(.98)}.onboarding-overlay{position:fixed;inset:0;background-color:#00000080;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;justify-content:center;align-items:center;z-index:3000}.onboarding-modal{background-color:#1a1a1a;color:#e0e0e0;border-radius:14px;box-shadow:0 12px 48px #00000080;border:1px solid #333;width:580px;max-width:94vw;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 20px}.onboarding-progress{display:flex;justify-content:center;gap:8px;margin-bottom:6px}.onboarding-dot{width:10px;height:10px;border-radius:50%;border:2px solid #555;background:transparent;padding:0;cursor:pointer;transition:background .2s,border-color .2s}.onboarding-dot:hover{border-color:#888}.onboarding-dot.active{background:#1a73e8;border-color:#1a73e8}.onboarding-dot.completed{background:#555;border-color:#555}.onboarding-step-label{text-align:center;font-size:.72rem;color:#666;margin-bottom:12px;text-transform:uppercase;letter-spacing:1px}.onboarding-title{margin:0 0 16px;font-size:1.35rem;font-weight:600;color:#fff;text-align:center}.onboarding-content{flex:1;overflow-y:auto;overflow-x:hidden;padding-right:4px;margin-bottom:20px;scrollbar-width:thin;scrollbar-color:#444 transparent}.onboarding-content::-webkit-scrollbar{width:6px}.onboarding-content::-webkit-scrollbar-thumb{background-color:#444;border-radius:3px}.onboarding-content p{margin:0 0 12px;font-size:.9rem;line-height:1.55;color:#ccc}.onboarding-content p:last-child{margin-bottom:0}.onboarding-content strong{color:#fff}.onboarding-content img{display:block;max-width:100%;border-radius:8px;border:1px solid #333;margin:12px auto 16px;box-shadow:0 2px 12px #0000004d}.onboarding-info-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#444;color:#ccc;font-size:.65rem;font-weight:700;font-style:italic;vertical-align:middle;margin:0 2px}.onboarding-actions{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #333;padding-top:16px}.onboarding-actions-right{display:flex;gap:8px}.onboarding-btn-skip{background:none;border:none;color:#666;font-size:.82rem;cursor:pointer;padding:6px 12px;border-radius:6px;transition:color .15s,background .15s}.onboarding-btn-skip:hover{color:#aaa;background:#ffffff0d}.onboarding-btn-back{background:#2a2a2a;border:1px solid #444;color:#ccc;font-size:.85rem;cursor:pointer;padding:8px 18px;border-radius:6px;font-weight:500;transition:background .15s,color .15s}.onboarding-btn-back:hover{background:#3a3a3a;color:#fff}.onboarding-btn-next{background:#1a73e8;border:none;color:#fff;font-size:.85rem;cursor:pointer;padding:8px 22px;border-radius:6px;font-weight:600;transition:background .15s,transform .1s}.onboarding-btn-next:hover{background:#2b82f0}.onboarding-btn-next:active{transform:scale(.97)}.mapbox-gl-draw_ctrl-bottom-left,.mapbox-gl-draw_ctrl-top-left{margin-left:0;border-radius:0 4px 4px 0}.mapbox-gl-draw_ctrl-top-right,.mapbox-gl-draw_ctrl-bottom-right{margin-right:0;border-radius:4px 0 0 4px}.mapbox-gl-draw_ctrl-draw-btn{border-color:#000000e6;color:#ffffff80;width:30px;height:30px}.mapbox-gl-draw_ctrl-draw-btn.active,.mapbox-gl-draw_ctrl-draw-btn.active:hover{background-color:#0000000d}.mapbox-gl-draw_ctrl-draw-btn{background-repeat:no-repeat;background-position:center}.mapbox-gl-draw_point{background-image:url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="m10 2c-3.3 0-6 2.7-6 6s6 9 6 9 6-5.7 6-9-2.7-6-6-6zm0 2c2.1 0 3.8 1.7 3.8 3.8 0 1.5-1.8 3.9-2.9 5.2h-1.7c-1.1-1.4-2.9-3.8-2.9-5.2-.1-2.1 1.6-3.8 3.7-3.8z"/>%3C/svg>')}.mapbox-gl-draw_polygon{background-image:url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="m15 12.3v-4.6c.6-.3 1-1 1-1.7 0-1.1-.9-2-2-2-.7 0-1.4.4-1.7 1h-4.6c-.3-.6-1-1-1.7-1-1.1 0-2 .9-2 2 0 .7.4 1.4 1 1.7v4.6c-.6.3-1 1-1 1.7 0 1.1.9 2 2 2 .7 0 1.4-.4 1.7-1h4.6c.3.6 1 1 1.7 1 1.1 0 2-.9 2-2 0-.7-.4-1.4-1-1.7zm-8-.3v-4l1-1h4l1 1v4l-1 1h-4z"/>%3C/svg>')}.mapbox-gl-draw_line{background-image:url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="m13.5 3.5c-1.4 0-2.5 1.1-2.5 2.5 0 .3 0 .6.2.9l-3.8 3.8c-.3-.1-.6-.2-.9-.2-1.4 0-2.5 1.1-2.5 2.5s1.1 2.5 2.5 2.5 2.5-1.1 2.5-2.5c0-.3 0-.6-.2-.9l3.8-3.8c.3.1.6.2.9.2 1.4 0 2.5-1.1 2.5-2.5s-1.1-2.5-2.5-2.5z"/>%3C/svg>')}.mapbox-gl-draw_trash{background-image:url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="M10,3.4 c-0.8,0-1.5,0.5-1.8,1.2H5l-1,1v1h12v-1l-1-1h-3.2C11.5,3.9,10.8,3.4,10,3.4z M5,8v7c0,1,1,2,2,2h6c1,0,2-1,2-2V8h-2v5.5h-1.5V8h-3 v5.5H7V8H5z"/>%3C/svg>')}.mapbox-gl-draw_uncombine{background-image:url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="m12 2c-.3 0-.5.1-.7.3l-1 1c-.4.4-.4 1 0 1.4l1 1c.4.4 1 .4 1.4 0l1-1c.4-.4.4-1 0-1.4l-1-1c-.2-.2-.4-.3-.7-.3zm4 4c-.3 0-.5.1-.7.3l-1 1c-.4.4-.4 1 0 1.4l1 1c.4.4 1 .4 1.4 0l1-1c.4-.4.4-1 0-1.4l-1-1c-.2-.2-.4-.3-.7-.3zm-7 1c-1 0-1 1-.5 1.5.3.3 1 1 1 1l-1 1s-.5.5 0 1 1 0 1 0l1-1 1 1c.5.5 1.5.5 1.5-.5v-4zm-5 3c-.3 0-.5.1-.7.3l-1 1c-.4.4-.4 1 0 1.4l4.9 4.9c.4.4 1 .4 1.4 0l1-1c.4-.4.4-1 0-1.4l-4.9-4.9c-.1-.2-.4-.3-.7-.3z"/>%3C/svg>')}.mapbox-gl-draw_combine{background-image:url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="M12.1,2c-0.3,0-0.5,0.1-0.7,0.3l-1,1c-0.4,0.4-0.4,1,0,1.4l4.9,4.9c0.4,0.4,1,0.4,1.4,0l1-1 c0.4-0.4,0.4-1,0-1.4l-4.9-4.9C12.6,2.1,12.3,2,12.1,2z M8,8C7,8,7,9,7.5,9.5c0.3,0.3,1,1,1,1l-1,1c0,0-0.5,0.5,0,1s1,0,1,0l1-1l1,1 C11,13,12,13,12,12V8H8z M4,10c-0.3,0-0.5,0.1-0.7,0.3l-1,1c-0.4,0.4-0.4,1,0,1.4l1,1c0.4,0.4,1,0.4,1.4,0l1-1c0.4-0.4,0.4-1,0-1.4 l-1-1C4.5,10.1,4.3,10,4,10z M8,14c-0.3,0-0.5,0.1-0.7,0.3l-1,1c-0.4,0.4-0.4,1,0,1.4l1,1c0.4,0.4,1,0.4,1.4,0l1-1 c0.4-0.4,0.4-1,0-1.4l-1-1C8.5,14.1,8.3,14,8,14z"/>%3C/svg>')}.mapboxgl-map.mouse-pointer .mapboxgl-canvas-container.mapboxgl-interactive{cursor:pointer}.mapboxgl-map.mouse-move .mapboxgl-canvas-container.mapboxgl-interactive{cursor:move}.mapboxgl-map.mouse-add .mapboxgl-canvas-container.mapboxgl-interactive{cursor:crosshair}.mapboxgl-map.mouse-move.mode-direct_select .mapboxgl-canvas-container.mapboxgl-interactive{cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}.mapboxgl-map.mode-direct_select.feature-vertex.mouse-move .mapboxgl-canvas-container.mapboxgl-interactive{cursor:move}.mapboxgl-map.mode-direct_select.feature-midpoint.mouse-pointer .mapboxgl-canvas-container.mapboxgl-interactive{cursor:cell}.mapboxgl-map.mode-direct_select.feature-feature.mouse-move .mapboxgl-canvas-container.mapboxgl-interactive{cursor:move}.mapboxgl-map.mode-static.mouse-pointer .mapboxgl-canvas-container.mapboxgl-interactive{cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}.mapbox-gl-draw_boxselect{pointer-events:none;position:absolute;top:0;left:0;width:0;height:0;background:#0000001a;border:2px dotted #fff;opacity:.5}.map-editor{flex:1;display:flex;flex-direction:column;height:100%;position:relative}.editor-header{height:40px;background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;padding:0 10px;color:#fff;z-index:10;gap:10px;font-family:monospace;font-size:.85rem;border-bottom:1px solid rgba(255,255,255,.1)}.editor-header label{font-size:.85rem;margin-right:4px;color:#ccc}.editor-header select{background:#333;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:4px;padding:2px 5px;font-family:monospace;font-size:.8rem}.editor-header select option{background:#333;color:#fff}.editor-header button{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:4px;padding:4px 10px;cursor:pointer;font-size:.8rem;font-family:monospace;display:inline-flex;align-items:center;gap:4px;line-height:1}.editor-header button:hover{background:#fff3}.editor-body{flex:1;position:relative;overflow:hidden}.editor-mapbox-container{width:100%;height:100%;position:absolute;top:0;left:0}.editor-toolbar{position:absolute;top:10px;left:10px;z-index:100;display:flex;flex-direction:column;gap:4px;background:#0000004d;padding:8px;border-radius:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.editor-toolbar button{background:#444;color:#fff;border:1px solid #555;border-radius:4px;padding:6px 12px;cursor:pointer;font-size:.8rem;text-align:left;white-space:nowrap;transition:background .15s;display:inline-flex;align-items:center;gap:6px;line-height:1;width:100%}.editor-toolbar button svg,.editor-header button svg{flex-shrink:0}.editor-toolbar button:hover{background:#555}.editor-toolbar button.active{background:#1a73e8;border-color:#4a9eff}.editor-toolbar .toolbar-divider{height:1px;background:#555;margin:4px 0}.editor-feature-list{position:absolute;top:10px;right:10px;z-index:100;background:#0000004d;padding:8px;border-radius:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-family:monospace;font-size:.75rem;max-height:calc(100% - 80px);overflow-y:auto;min-width:200px;max-width:300px}.editor-feature-list h4{margin:0 0 6px;font-size:.85rem;border-bottom:1px solid #555;padding-bottom:4px}.editor-feature-item{display:flex;align-items:center;justify-content:space-between;padding:3px 4px;border-radius:3px;cursor:pointer;gap:6px}.editor-feature-item:hover{background:#ffffff1a}.editor-feature-item.selected{background:#1a73e84d}.editor-feature-item .feature-label{flex:1;overflow:hidden;text-overflow:ellipsis}.editor-feature-item .feature-type{font-size:.7rem;color:#aaa;flex-shrink:0}.editor-feature-item .feature-delete{background:none;border:none;color:#f44336;cursor:pointer;font-size:.85rem;padding:0 2px;flex-shrink:0}.editor-feature-item .feature-delete:hover{color:#ff6659}.editor-props-overlay{position:absolute;inset:0;background:#0000004d;z-index:200;display:flex;align-items:center;justify-content:center}.editor-props-dialog{background:#2a2a2a;border:1px solid #555;border-radius:8px;padding:20px;min-width:320px;max-width:400px;color:#fff}.editor-props-dialog h3{margin:0 0 12px;font-size:1rem}.editor-props-dialog .form-row{display:flex;align-items:center;margin-bottom:10px;gap:8px}.editor-props-dialog .form-row label{min-width:100px;font-size:.85rem;color:#ccc}.editor-props-dialog .form-row input,.editor-props-dialog .form-row select{flex:1;background:#444;color:#fff;border:1px solid #555;border-radius:4px;padding:4px 8px;font-size:.85rem}.editor-props-dialog .dialog-buttons{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.editor-props-dialog .dialog-buttons button{padding:6px 16px;border-radius:4px;border:1px solid #555;cursor:pointer;font-size:.85rem}.editor-props-dialog .dialog-buttons .btn-primary{background:#1a73e8;color:#fff;border-color:#4a9eff}.editor-props-dialog .dialog-buttons .btn-primary:hover{background:#2b7de9}.editor-props-dialog .dialog-buttons .btn-cancel{background:#555;color:#fff}.editor-props-dialog .dialog-buttons .btn-cancel:hover{background:#666}.editor-inline-props{position:absolute;bottom:50px;left:10px;z-index:100;background:#0000004d;padding:10px 12px;border-radius:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-family:monospace;font-size:.75rem;min-width:220px;max-width:280px;pointer-events:auto}.inline-props-title{font-weight:700;font-size:.8rem;margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid #555}.inline-row{display:flex;align-items:center;margin-bottom:4px;gap:6px}.inline-row label{min-width:70px;font-size:.75rem;color:#aaa;flex-shrink:0}.inline-row input,.inline-row select{flex:1;background:#333;color:#fff;border:1px solid #555;border-radius:3px;padding:2px 5px;font-size:.75rem;font-family:monospace}.inline-row input:focus,.inline-row select:focus{outline:none;border-color:#1a73e8}.editor-validation-errors{position:absolute;bottom:50px;right:10px;z-index:100;background:#b42814d9;border:1px solid #f44336;border-radius:8px;padding:8px 12px;color:#fff;font-family:monospace;font-size:.75rem;max-width:300px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.validation-errors-title{font-weight:700;font-size:.8rem;margin-bottom:4px}.validation-error-item{padding:2px 0;line-height:1.4}.validation-error-item+.validation-error-item{border-top:1px solid rgba(255,255,255,.2);margin-top:2px;padding-top:4px}.editor-right-column{position:absolute;top:10px;right:285px;z-index:100;display:flex;flex-direction:column;gap:6px;max-height:calc(100% - 30px);overflow-y:auto;min-width:90px;width:max-content}.editor-phases-pane{background:#0000004d;padding:8px;border-radius:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-family:monospace;font-size:.75rem;min-width:90px}.editor-phases-pane h4{margin:0 0 6px;font-size:.85rem;border-bottom:1px solid #555;padding-bottom:4px;white-space:nowrap}.editor-phase-item{padding:3px 4px;border-radius:3px;cursor:pointer;border:1px solid transparent;font-family:monospace;font-size:.75rem;transition:background .1s;-webkit-user-select:none;user-select:none}.editor-phase-item:hover{background:#ffffff1a}.editor-phase-item.selected{background:#1a73e84d;border-color:#4a9eff;color:#fff}.editor-conflict-matrix{background:#0000004d;padding:8px;border-radius:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-family:monospace;font-size:.75rem;min-width:90px;width:max-content}.editor-conflict-matrix h4{margin:0 0 4px;font-size:.85rem;border-bottom:1px solid #555;padding-bottom:4px;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:5px}.editor-conflict-matrix h4 .collapse-arrow{display:inline-block;font-size:.65rem;transition:transform .15s;flex-shrink:0}.editor-conflict-matrix h4 .collapse-arrow.collapsed{transform:rotate(-90deg)}.conflict-matrix-table{border-collapse:collapse;font-size:.7rem;width:max-content}.conflict-matrix-table th,.conflict-matrix-table td{padding:2px 4px;text-align:center;white-space:nowrap}.conflict-matrix-table th{color:#aaa;font-weight:400;border-bottom:1px solid rgba(255,255,255,.1)}.conflict-matrix-table th.row-header{text-align:right;padding-right:6px;color:#ccc}.conflict-matrix-cell-conflict{color:#f44336;font-weight:700}.conflict-matrix-cell-ok{color:#444}.conflict-matrix-cell-self{color:#555}.editor-status-bar{position:absolute;bottom:10px;left:10px;right:10px;z-index:100;background:#0000004d;color:#aaa;font-family:monospace;font-size:.8rem;padding:6px 10px;border-radius:6px;text-align:center;pointer-events:none}.info-tip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;border-radius:50%;background:#555;color:#ccc;font-size:.6rem;font-weight:700;cursor:help;margin-left:4px;flex-shrink:0;-webkit-user-select:none;user-select:none}.info-tip:after{content:attr(data-tip);position:absolute;left:18px;top:50%;transform:translateY(-50%);background:#1a1a1a;color:#ddd;border:1px solid #555;border-radius:5px;padding:5px 8px;font-size:.72rem;font-family:monospace;font-weight:400;white-space:normal;width:220px;line-height:1.4;z-index:9999;pointer-events:none;opacity:0;transition:opacity 0s}.info-tip:hover:after{opacity:1}.mapbox-gl-draw_ctrl-draw-btn{display:none!important}
