.mw-root{position:fixed;top:0;right:0;bottom:0;left:0;background:#06060a;font-family:Inter,system-ui,-apple-system,sans-serif;display:flex}.mw-map-container{flex:1;height:100vh;position:relative}.mw-gcp-active .gcp-panel{width:40%;min-width:400px}.mw-loading{position:fixed;top:0;right:0;bottom:0;left:0;background:#06060a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.mw-loading-ring{width:36px;height:36px;border-radius:50%;border:2.5px solid rgba(255,255,255,.08);border-top-color:#8b5cf6cc;animation:mw-spin .9s linear infinite}@keyframes mw-spin{to{transform:rotate(360deg)}}.mw-loading-label{color:#ffffff59;font-size:12px;letter-spacing:.07em;text-transform:uppercase;font-weight:500}.mw-search-container{position:absolute;top:10px;left:10px;z-index:250;width:340px;max-width:calc(100vw - 32px)}.mw-search-wrapper{position:relative;display:flex;align-items:center;height:36px;border-radius:6px;background:#0a0a10e0;backdrop-filter:blur(28px) saturate(160%);-webkit-backdrop-filter:blur(28px) saturate(160%);border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 20px #0000008c;transition:border-color .2s ease,box-shadow .2s ease;overflow:visible}.mw-search-wrapper--focused{border-color:#8b5cf673;box-shadow:0 8px 40px #0000008c,0 0 0 3px #8b5cf61f,0 1px #ffffff0f inset}.mw-search-icon{position:absolute;left:15px;width:17px;height:17px;color:#ffffff59;pointer-events:none;flex-shrink:0;transition:color .2s}.mw-search-wrapper--focused .mw-search-icon{color:#8b5cf6b3}.mw-search-input{width:100%;height:100%;padding:0 44px;background:transparent;border:none;outline:none;color:#ffffffeb;font-family:inherit;font-size:14px;font-weight:400;letter-spacing:.015em;caret-color:#8b5cf6e6}.mw-search-input::placeholder{color:#ffffff38}.mw-predictions{position:absolute;top:calc(100% + 6px);left:0;right:0;border-radius:12px;border:1px solid rgba(255,255,255,.09);background:#0c0c14eb;backdrop-filter:blur(28px) saturate(160%);-webkit-backdrop-filter:blur(28px) saturate(160%);box-shadow:0 16px 48px #0009;overflow:hidden;z-index:50}.mw-prediction-item{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-top:1px solid rgba(255,255,255,.05);color:#ffffffa6;font-size:13px;cursor:pointer;transition:background .12s}.mw-prediction-item:first-child{border-top:none}.mw-prediction-item:hover,.mw-prediction-item--active{background:#8b5cf61f}.mw-prediction-pin{width:14px;height:14px;flex-shrink:0;margin-top:1px;color:#ffffff4d}.mw-prediction-main{color:#ffffffe0;font-size:13px;font-weight:500;line-height:1.3}.mw-prediction-sub{color:#fff6;font-size:11.5px;margin-top:2px;line-height:1.3}.mw-search-clear{position:absolute;right:10px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#ffffff0f;border:none;cursor:pointer;padding:0;transition:background .15s;flex-shrink:0}.mw-search-clear:hover{background:#ffffff1f}.mw-search-clear svg{width:12px;height:12px;color:#fff6}.mw-coord-badge{position:absolute;bottom:-30px;left:44px;font-size:11px;color:#8b5cf6bf;letter-spacing:.03em;white-space:nowrap;pointer-events:none;animation:mw-fade-in .18s ease}@keyframes mw-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.gm-style .gm-bundled-control,.gm-style .gm-style-mtc,.gm-style .gm-style-mtc-bbw{z-index:30!important}.poly-edit-done-btn{position:absolute;bottom:36px;left:50%;transform:translate(-50%);z-index:25;display:flex;align-items:center;gap:7px;padding:10px 28px;background:#0a0e1ad1;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1.5px solid rgba(0,212,255,.55);border-radius:50px;color:#00d4ff;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:13px;font-weight:600;letter-spacing:.04em;cursor:pointer;box-shadow:0 4px 20px #00d4ff2e,0 2px 8px #00000073;transition:background .15s,border-color .15s,box-shadow .15s,transform .12s;animation:poly-done-rise .22s cubic-bezier(.34,1.56,.64,1) both}.poly-edit-done-btn:hover{background:#00d4ff24;border-color:#00d4ff;box-shadow:0 4px 28px #00d4ff59,0 2px 8px #00000080;transform:translate(-50%) translateY(-2px)}.poly-edit-done-btn:active{transform:translate(-50%) scale(.96)}@keyframes poly-done-rise{0%{opacity:0;transform:translate(-50%) translateY(14px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.fp-overlay-container:not(.fp-locked){outline:2px solid #00ff00;box-shadow:0 0 10px #0006}.fp-handle{width:12px;height:12px;background:#0f06;border:1.5px solid #00ff00;box-shadow:0 1px 3px #00000080;z-index:100}.fp-locked .fp-handle{display:none!important}.fp-handle:hover{background:#0f0;transform:scale(1.2)}.fp-handle-nw{top:-6px;left:-6px}.fp-handle-ne{top:-6px;right:-6px}.fp-handle-sw{bottom:-6px;left:-6px}.fp-handle-se{bottom:-6px;right:-6px}.fp-handle-n{top:-6px;left:calc(50% - 6px)}.fp-handle-s{bottom:-6px;left:calc(50% - 6px)}.fp-handle-e{top:calc(50% - 6px);right:-6px}.fp-handle-w{top:calc(50% - 6px);left:-6px}.fp-handle-rotate{top:-30px;left:calc(50% - 6px);background:#0f0;border:1.5px solid #fff;border-radius:50%}.fp-handle-rotate:after{content:"";position:absolute;top:10.5px;left:4.5px;width:1.5px;height:18px;background:#0f0;z-index:-1}.fp-handle-center{top:calc(50% - 10px);left:calc(50% - 10px);width:20px;height:20px;background:transparent!important;border:none!important;box-shadow:none!important}.fp-handle-center:before,.fp-handle-center:after{content:"";position:absolute;background:#0f0;box-shadow:0 0 2px #000c}.fp-handle-center:before{top:9px;left:0;right:0;height:2px}.fp-handle-center:after{left:9px;top:0;bottom:0;width:2px}.fp-handle-center:hover{transform:scale(1.1)}.mw-top-toolbar{position:absolute;top:10px;left:360px;right:10px;z-index:20;display:flex;align-items:center;gap:2px;height:36px;background:#0a0a10e0;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:0 6px;box-shadow:0 4px 20px #0000008c;overflow:hidden}.mw-toolbar-sep{width:1px;height:20px;background:#ffffff1f;margin:0 3px;flex-shrink:0}.mw-toolbar-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:44px;height:30px;padding:0 6px;background:transparent;border:none;border-radius:4px;color:#ffffff8c;cursor:pointer;font-family:Inter,system-ui,sans-serif;flex-shrink:0;transition:background .12s,color .12s}.mw-toolbar-btn:hover{background:#ffffff14;color:#ffffffe6}.mw-toolbar-btn--active{background:#00b4c826;color:#00ced1}.mw-toolbar-btn svg{width:16px;height:16px}.mw-toolbar-label{font-size:9px;font-weight:500;white-space:nowrap;letter-spacing:.02em}.mw-toolbar-export-wrap{position:relative;flex-shrink:0}.mw-toolbar-export-dropdown{position:absolute;top:calc(100% + 6px);left:0;background:#1e1e1e;border:1px solid #444;border-radius:5px;padding:4px;display:flex;flex-direction:column;gap:1px;z-index:1000;min-width:170px;box-shadow:0 6px 20px #0009}.mw-toolbar-export-item{background:transparent;border:none;color:#ddd;padding:7px 10px;border-radius:3px;cursor:pointer;text-align:left;font-size:11px;font-family:inherit}.mw-toolbar-export-item:hover{background:#333}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999}.dialog-card{background:#1e1e1e;border:1px solid #333;border-radius:8px;width:400px;max-width:90vw;box-shadow:0 8px 32px #0006;color:#eee;display:flex;flex-direction:column}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #333}.dialog-header h3{margin:0;font-size:16px;font-weight:600}.dialog-close{background:none;border:none;color:#888;font-size:20px;cursor:pointer;padding:0 4px}.dialog-close:hover{color:#fff}.dialog-body{padding:16px;display:flex;flex-direction:column;gap:12px}.dialog-options{display:flex;flex-direction:column;gap:8px}.dialog-btn{background:#333;border:1px solid #444;color:#eee;padding:12px;border-radius:6px;cursor:pointer;font-size:14px;text-align:left;transition:background .15s}.dialog-btn:hover{background:#444}.dialog-btn-secondary{background:transparent;border:1px solid #444;color:#888;padding:8px;border-radius:6px;cursor:pointer;font-size:13px;margin-top:8px}.dialog-btn-secondary:hover{color:#eee;border-color:#666}.dialog-list{display:flex;flex-direction:column;gap:8px}.dialog-list h4{margin:0 0 4px;font-size:13px;color:#aaa;font-weight:500}.dialog-list-item{background:#2a2a2a;border:1px solid #3a3a3a;color:#eee;padding:10px 12px;border-radius:4px;cursor:pointer;font-size:14px;text-align:left;display:flex;justify-content:space-between}.dialog-list-item:hover{background:#353535;border-color:#4a4a4a}.dialog-portfolio-group{display:flex;flex-direction:column;gap:4px}.dialog-portfolio-header{font-weight:600;background:#222}.dialog-portfolio-projects{display:flex;flex-direction:column;gap:4px;padding-left:16px;margin-top:4px}.dialog-list-subitem{background:#262626;font-size:13px;padding:8px 12px}.tp-panel{position:fixed;top:10px;left:360px;z-index:200;display:flex;flex-direction:row;align-items:center;gap:2px;height:36px;width:auto;padding:0 8px;box-sizing:border-box;background:#080b16eb;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border:1px solid rgba(255,255,255,.09);border-radius:8px;box-shadow:0 4px 20px #0009;user-select:none;-webkit-user-select:none}.tp-hamburger{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:#ffffff80;cursor:pointer;flex-shrink:0;transition:color .15s,background .15s}.tp-hamburger svg{width:16px;height:16px}.tp-hamburger:hover{color:#ffffffe0;background:#ffffff12}.tp-sep{width:1px;height:20px;background:#ffffff1f;margin:0 4px;flex-shrink:0}.tp-section-label{display:none}.tp-group{display:flex;flex-direction:row;align-items:center;gap:2px;padding:0}.tp-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:44px;height:30px;padding:0 6px;border:none;border-radius:5px;background:transparent;color:#ffffff73;cursor:pointer;font-family:Inter,system-ui,-apple-system,sans-serif;flex-shrink:0;transition:background .13s,color .13s}.tp-btn:hover{background:#ffffff14;color:#ffffffe0}.tp-btn:active{opacity:.8}.tp-btn--active{background:#00c8d229;color:#00ced1}.tp-btn--active:hover{background:#00c8d23d;color:#00e5ff}.tp-btn--active .tp-icon svg{filter:drop-shadow(0 0 5px rgba(0,200,210,.55))}.tp-btn--premium{position:relative;color:#ffd278bf}.tp-btn--premium:hover{background:#ffb0201a;color:#ffd27a}.tp-btn--premium.tp-btn--active{background:linear-gradient(160deg,#ffb02038,#ffb02014);color:#ffd27a;box-shadow:0 0 0 1px #ffb02059 inset}.tp-premium-badge{position:absolute;top:1px;right:4px;font-size:7px;line-height:1;color:#ffb020}.tp-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px}.tp-icon svg{width:16px;height:16px}.tp-label{font-size:9px;font-weight:500;letter-spacing:.02em;white-space:nowrap;line-height:1}.tp-expander{display:flex;align-items:center;justify-content:center;width:24px;height:28px;border:none;border-radius:5px;background:transparent;color:#ffffff4d;cursor:pointer;flex-shrink:0;transition:color .15s,background .15s}.tp-expander svg{width:12px;height:12px;transition:transform .2s ease}.tp-expander--open svg{transform:rotate(90deg)}.tp-expander:hover{color:#ffffffa6;background:#ffffff0d}.tp-export-dropdown{position:absolute;top:calc(100% + 6px);left:0;background:#1e1e1e;border:1px solid #444;border-radius:6px;padding:4px;display:flex;flex-direction:column;gap:2px;z-index:1000;min-width:160px;box-shadow:0 6px 20px #0009}.tp-export-item{background:transparent;border:none;color:#eee;padding:7px 12px;border-radius:4px;cursor:pointer;text-align:left;font-size:12px;transition:background .1s}.tp-export-item:hover{background:#333}.pp-panel{position:fixed;left:96px;top:50%;transform:translateY(-50%);z-index:200;min-width:190px;max-width:230px;padding:14px 14px 12px;box-sizing:border-box;background:#080b16eb;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border:1px solid rgba(255,255,255,.09);border-radius:18px;box-shadow:0 8px 40px #000000a6;font-family:Inter,system-ui,-apple-system,sans-serif;animation:pp-in .16s ease}@keyframes pp-in{0%{opacity:0;transform:translateY(-50%) translate(-6px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.pp-header{font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#ffffff47;margin-bottom:14px}.pp-row{display:flex;align-items:center;gap:8px;margin-bottom:11px}.pp-row-label{font-size:10.5px;color:#ffffff6b;min-width:44px;flex-shrink:0}.pp-row-ctrl{display:flex;align-items:center;gap:7px;flex:1}.pp-color{width:32px;height:24px;border:1px solid rgba(255,255,255,.13);border-radius:6px;background:transparent;cursor:pointer;padding:2px;flex-shrink:0}.pp-hex{font-size:9.5px;color:#ffffff4d;font-family:Courier New,monospace}.pp-slider{flex:1;accent-color:#00CED1}.pp-val{font-size:10px;color:#ffffff61;min-width:28px;text-align:right;flex-shrink:0}.pp-text{flex:1;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:7px;color:#ffffffd1;font-size:11px;padding:5px 8px;font-family:inherit;outline:none}.pp-text:focus{border-color:#00ced17a;box-shadow:0 0 0 2px #00ced114}.pp-sublabel{font-size:10px;color:#ffffff52;margin-bottom:9px;line-height:1.5}.pp-cats{display:flex;flex-wrap:wrap;gap:5px}.pp-cat{display:flex;align-items:center;gap:4px;padding:4px 7px;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:#ffffff0a;color:#ffffff6b;font-size:10px;font-family:inherit;cursor:pointer;transition:all .13s}.pp-cat:hover{background:#ffffff17;color:#fffc}.pp-cat--active{border-color:#00ced16b;background:#00ced11a;color:#00ced1}.pp-cat-dot{width:8px;height:8px;border-radius:50%;background:var(--cat);flex-shrink:0}.pp-ring-row{display:flex;align-items:center;gap:6px;margin-bottom:7px}.pp-num{width:70px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:7px;color:#ffffffd1;font-size:11px;padding:4px 8px;font-family:inherit;outline:none}.pp-num:focus{border-color:#00ced17a}.pp-ring-unit{font-size:10px;color:#ffffff4d}.pp-ring-del{width:22px;height:22px;border:1px solid rgba(255,80,80,.24);border-radius:6px;background:#ff505012;color:#ff6e6ea6;font-size:15px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;line-height:1;font-family:inherit;transition:all .13s}.pp-ring-del:hover{background:#ff50502e;color:#ff7070}.pp-add{width:100%;background:transparent;border:1px dashed rgba(0,206,209,.28);border-radius:8px;color:#00ced18c;font-size:10.5px;font-family:inherit;padding:5px;cursor:pointer;margin-top:2px;transition:all .13s}.pp-add:hover{background:#00ced10f;color:#00ced1;border-color:#00ced17a}.pp-hint{font-size:10.5px;color:#ffffff4d;line-height:1.6;margin:0}.poly-popup{position:relative;background:#0a0e1cf0;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:14px 16px;min-width:230px;box-shadow:0 12px 48px #000000b3;font-family:Inter,system-ui,-apple-system,sans-serif;animation:poly-popup-in .15s ease-out}.poly-popup:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%) rotate(45deg);width:12px;height:12px;background:#0a0e1cf0;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%)}@keyframes poly-popup-in{0%{opacity:0;transform:translateY(6px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.poly-popup-header{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#ffffff59;margin-bottom:10px}.poly-popup-input{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;font-size:13px;padding:8px 10px;margin-bottom:14px;box-sizing:border-box;font-family:inherit;outline:none;transition:all .2s}.poly-popup-input:focus{border-color:#00d4ff80;background:#ffffff14}.poly-popup-metrics{display:flex;gap:14px;margin:-4px 0 14px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08)}.poly-popup-metrics>div{display:flex;flex-direction:column;gap:2px}.poly-popup-metrics span{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#ffffff59}.poly-popup-metrics strong{font-size:13px;font-weight:600;color:#00d4ff}.poly-popup-actions{display:flex;gap:8px}.poly-popup-btn{flex:1;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#ffffffd9;font-size:11px;font-weight:500;padding:7px 0;cursor:pointer;transition:all .15s}.poly-popup-btn:hover{background:#ffffff26}.poly-popup-btn--active{background:#ffb02026;border-color:#ffb02066;color:#ffb020}.poly-popup-btn--active:hover{background:#ffb02040}.poly-popup-btn--danger{flex:.6;background:#ff44441a;border-color:#ff444440;color:#f44}.poly-popup-btn--danger:hover{background:#f443}.poly-popup-close{position:absolute;top:8px;right:10px;background:transparent;border:none;color:#fff6;font-size:16px;line-height:1;cursor:pointer;padding:2px 4px}.poly-popup-close:hover{color:#fff}.poly-popup-btn--copy{width:100%;margin-top:8px;background:#00d4ff14;border-color:#00d4ff40;color:#00d4ff}.poly-popup-btn--copy:hover{background:#00d4ff29}.poly-popup-btn--primary{background:#00ced129;border-color:#00ced173;color:#00ced1}.poly-popup-btn--primary:hover{background:#00ced142}.poly-popup-cats-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-6px 0 14px}.poly-popup-cats-label{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#ffffff59;flex-shrink:0}.poly-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#04060c8c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;animation:poly-modal-fade .15s ease-out}@keyframes poly-modal-fade{0%{opacity:0}to{opacity:1}}.poly-modal{position:relative;background:#0a0e1cf7;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:18px 20px;width:100%;max-width:280px;box-shadow:0 20px 60px #000000bf;font-family:Inter,system-ui,-apple-system,sans-serif;animation:poly-popup-in .16s ease-out}.poly-modal-header{font-size:13px;font-weight:600;color:#ffffffeb;margin-bottom:12px}.poly-modal-sublabel{font-size:10.5px;color:#ffffff6b;margin:-6px 0 8px}.poly-modal-cats{margin-bottom:16px}.poly-modal-cats .pp-cat{flex:1;justify-content:center;padding:7px 0}.poly-modal-actions{margin-top:2px}.gcp-panel{display:flex;flex-direction:column;height:100%;width:100%;background:#0d0d12;border-right:1px solid rgba(255,255,255,.1);color:#fff;overflow:hidden}.gcp-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff05}.gcp-header h3{margin:0;font-size:14px;font-weight:600;color:#e2e8f0}.gcp-close{background:none;border:none;color:#94a3b8;font-size:20px;cursor:pointer;padding:0 4px}.gcp-close:hover{color:#fff}.gcp-instructions{padding:12px 16px;background:#8b5cf60d;border-bottom:1px solid rgba(139,92,246,.2)}.gcp-hint{font-size:13px;color:#cbd5e1}.gcp-hint.highlight{color:#a78bfa;font-weight:600}.gcp-image-container{flex:1;position:relative;overflow:auto;background:#000;display:flex;align-items:center;justify-content:center;padding:20px}.gcp-img{max-width:100%;max-height:100%;cursor:crosshair;transition:opacity .2s}.gcp-img.waiting{opacity:.6;cursor:not-allowed}.gcp-marker{position:absolute;width:20px;height:20px;margin-top:-10px;margin-left:-10px;background:#f43f5e;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;pointer-events:none;border:1.5px solid #fff;box-shadow:0 2px 4px #00000080;z-index:10}.gcp-marker.pending{background:#f59e0b}.gcp-table-container{height:200px;overflow-y:auto;border-top:1px solid rgba(255,255,255,.08);background:#111118}.gcp-table{width:100%;border-collapse:collapse;font-size:12px}.gcp-table th{text-align:left;padding:8px 12px;color:#94a3b8;font-weight:500;border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff05;position:sticky;top:0}.gcp-table td{padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.04);color:#e2e8f0}.gcp-empty-row{text-align:center!important;color:#64748b!important;font-style:italic;padding:24px!important}.gcp-del-btn{background:none;border:none;color:#f43f5e;cursor:pointer;font-size:16px;line-height:1}.gcp-del-btn:hover{color:#fb7185}.gcp-actions{padding:12px 16px;background:#ffffff05;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:stretch}.gcp-compute-btn{flex:1;background:#8b5cf6;color:#fff;border:none;padding:10px;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s}.gcp-compute-btn:hover:not(:disabled){background:#7c3aed}.gcp-compute-btn:disabled{background:#475569;color:#94a3b8;cursor:not-allowed}.gcp-empty{display:flex;height:100%;align-items:center;justify-content:center;color:#94a3b8;font-size:14px}.fp-bottom-panel{position:absolute;bottom:24px;left:50%;transform:translate(-50%);background:#1e1e24;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px 16px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px;box-shadow:0 4px 12px #0000004d;z-index:250;color:#e2e8f0;font-family:inherit;font-size:13px;min-height:52px;box-sizing:border-box;width:max-content;max-width:95vw}@media (max-width: 1400px){.fp-bottom-panel{gap:8px;padding:6px 12px}}@media (max-width: 1200px){.fp-bottom-panel{left:370px;transform:none;max-width:calc(100vw - 400px)}}.fp-bp-mode-switch{display:flex;background:#ffffff0d;border-radius:4px;padding:2px}.fp-bp-btn{background:transparent;border:none;color:#94a3b8;padding:6px 12px;border-radius:3px;cursor:pointer;font-size:13px;transition:all .2s}.fp-bp-btn:hover{color:#fff}.fp-bp-btn.active{background:#00ced1;color:#000;font-weight:600}.fp-bp-divider{width:1px;height:24px;background:#ffffff1a}.fp-bp-group{display:flex;align-items:center;gap:8px}.fp-bp-label{color:#94a3b8}.fp-bp-checkbox-label{display:flex;align-items:center;gap:6px;cursor:pointer;color:#cbd5e1}.fp-bp-actions{gap:6px}.fp-bp-action-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#e2e8f0;padding:4px 10px;border-radius:4px;cursor:pointer;font-size:12px;transition:background .2s}.fp-bp-action-btn:hover{background:#ffffff1a}.fp-bp-action-btn--danger{color:#ef4444;border-color:#ef44444d}.fp-bp-action-btn--danger:hover{background:#ef44441a;border-color:#ef444480}.fp-bp-gcp-hint{color:#a78bfa;font-style:italic;white-space:nowrap}.color-palette-picker{display:flex;flex-direction:column;gap:8px;background:#0003;padding:8px;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.color-palette-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.color-palette-swatch{width:20px;height:20px;border-radius:4px;border:1px solid rgba(255,255,255,.2);cursor:pointer;padding:0;margin:0;transition:transform .1s,border-color .1s}.color-palette-swatch:hover{transform:scale(1.1);border-color:#fffc}.color-palette-swatch--active{border-color:#fff;outline:2px solid rgba(255,255,255,.5)}.color-palette-native{display:flex;align-items:center;justify-content:space-between;margin-top:4px;border-top:1px solid rgba(255,255,255,.1);padding-top:8px;font-size:12px;color:#94a3b8}.color-palette-native input[type=color]{width:32px;height:22px;border:none;background:none;padding:0;cursor:pointer}.cpp-container{position:relative;display:inline-block}.cpp-swatch{width:16px;height:16px;border-radius:4px;border:1px solid rgba(255,255,255,.3);cursor:pointer;box-shadow:0 0 2px #00000080}.cpp-swatch:hover{border-color:#fff}.cpp-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:999999;background:#1e293b;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:4px;box-shadow:0 4px 12px #00000080}.cpp-style-toggle{display:flex;background:#0f172a;border-radius:4px;padding:2px;margin-bottom:6px}.cpp-toggle-btn{flex:1;background:transparent;border:none;color:#94a3b8;font-size:11px;font-weight:600;padding:4px 8px;border-radius:2px;cursor:pointer;transition:all .2s}.cpp-toggle-btn:hover{color:#e2e8f0}.cpp-toggle-btn--active{background:#334155;color:#fff}.lp-panel{position:absolute;top:60px;left:10px;width:340px;bottom:10px;z-index:200;display:flex;flex-direction:column;background:linear-gradient(135deg,#101523f2,#080b16fa);backdrop-filter:blur(32px) saturate(180%);-webkit-backdrop-filter:blur(32px) saturate(180%);border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 8px 32px #000000b3,inset 0 1px #ffffff0d;user-select:none;-webkit-user-select:none;overflow:hidden;font-family:Inter,system-ui,-apple-system,sans-serif}.lp-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.09);flex-shrink:0}.lp-title{color:#ffffffe6;font-size:14px;font-weight:600;letter-spacing:.02em}.lp-add-btn{background:#00ced126;color:#00ced1;border:none;border-radius:4px;padding:5px 10px;font-size:11px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.lp-add-btn:hover{background:#00ced140;color:#00e5ff}.lp-content{flex:1;overflow-y:auto;padding:8px 0;display:flex;flex-direction:column}.lp-layer-landmarks{margin-top:auto;border-top:1px solid rgba(255,255,255,.09);padding-top:8px}.lp-layer{display:flex;flex-direction:column;padding:1px 6px;margin:0 6px 3px;border-radius:7px;border:1px solid transparent;transition:background-color .16s ease,border-color .16s ease}.lp-layer--active{border-color:#00ced138;background:#00ced109}.lp-layer-row{display:flex;align-items:center;height:30px;gap:6px;border-radius:6px;padding:0 8px;border-left:2px solid transparent;transition:background-color .16s ease,border-color .16s ease;box-sizing:border-box;width:100%}.lp-layer-row:hover{background:#ffffff0b}.lp-layer-row--active{background:#00ced11a!important;border-left:2px solid #00CED1!important}.lp-fp-folder>.lp-layer-row{background:#ffffff06;margin-top:3px;margin-bottom:3px;border-radius:6px}.lp-fp-folder>.lp-layer-row:hover{background:#ffffff0f}.lp-plots-folder>.lp-layer-row{background:#ff6b6b09;margin-bottom:3px;border-radius:6px}.lp-plots-folder>.lp-layer-row:hover{background:#ff6b6b12}.lp-plots-folder>.lp-layer-row--active{background:#ff6b6b1f!important;border-left:2px solid #ff6b6b!important}.lp-drag-handle{color:#ffffff4d;cursor:grab;display:flex;align-items:center;justify-content:center;padding:4px}.lp-toggle-btn{background:transparent;border:none;color:#fff9;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:4px;transition:color .14s ease,background-color .14s ease}.lp-toggle-btn:hover{color:#ffffffe6;background:#ffffff0f}.lp-toggle-btn--hidden{color:#ffffff40}.lp-color-swatch-wrap{width:18px;height:18px;border-radius:50%;overflow:hidden;border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;cursor:pointer}.lp-color-swatch{width:100%;height:100%;border:none;padding:0;cursor:pointer;background:transparent}.lp-name-input{flex:1;background:transparent;border:none;color:#ffffffe6;font-size:13px;font-weight:500;outline:none;min-width:0;padding:2px 4px;border-radius:2px}.lp-name-input:focus{background:#ffffff0d}.lp-menu-wrap{position:relative}.lp-menu-btn{background:transparent;border:none;color:#fff6;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px}.lp-menu-btn:hover{color:#ffffffe6;background:#ffffff1a}.lp-expand-btn{background:transparent;border:none;color:#fff6;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px}.lp-expand-btn:hover{color:#ffffffe6;background:#ffffff1a}.lp-expand-btn{transition:color .14s ease,background-color .14s ease}.lp-expand-btn svg{transition:transform .18s ease}.lp-expand-btn--expanded svg{transform:rotate(90deg)}.lp-children{padding-left:24px;display:flex;flex-direction:column;gap:1px;margin-bottom:4px;animation:lpExpandIn .16s ease}.lp-nested-children{padding-left:20px;display:flex;flex-direction:column;gap:1px;margin-bottom:3px;animation:lpExpandIn .16s ease}.lp-child-item{display:flex;align-items:center;gap:8px;height:26px;padding:0 8px;border-radius:5px;cursor:pointer;border-left:2px solid transparent;transition:background-color .14s ease,border-color .14s ease;box-sizing:border-box;width:100%}.lp-child-item:hover{background:#ffffff0b}.lp-child-item--active{background:#00ced11a;border-left:2px solid #00CED1}@keyframes lpExpandIn{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.lp-child-icon{color:#ffffff80;display:flex;align-items:center;justify-content:center}.lp-child-name{flex:1;color:#ffffffb3;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:#181c28fa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:4px;display:flex;flex-direction:column;gap:1px;z-index:1000;min-width:140px;box-shadow:0 10px 28px #0000008c;transform-origin:top right;animation:lpPopIn .14s ease}.lp-dropdown-item{background:transparent;border:none;color:#ffffffd9;padding:6px 10px;border-radius:5px;cursor:pointer;text-align:left;font-size:12px;transition:background-color .12s ease}.lp-dropdown-item:hover{background:#ffffff14}@keyframes lpPopIn{0%{opacity:0;transform:scale(.94) translateY(-2px)}to{opacity:1;transform:scale(1) translateY(0)}}.lp-dropdown-item--danger{color:#ff6b6b}.lp-dropdown-item--danger:hover{background:#ff6b6b26}.lp-style-menu-wrap{position:relative;margin-left:28px}.lp-style-toggle{display:flex;align-items:center;gap:6px;font-size:11px;color:#4285f4;cursor:pointer;padding:4px 0;margin-bottom:4px;font-weight:500;transition:color .15s}.lp-style-toggle:hover{color:#5c99f6;text-decoration:underline}.lp-style-dropdown{position:absolute;top:100%;left:0;background:#1e1e1e;border:1px solid #444;border-radius:6px;padding:4px;display:flex;flex-direction:column;gap:2px;z-index:1000;min-width:150px;box-shadow:0 6px 20px #0009}.lp-child-swatch-wrap{width:14px;height:14px;border-radius:50%;overflow:hidden;border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;cursor:pointer;margin-left:auto}.lp-child-swatch{width:100%;height:100%;border:none;padding:0;cursor:pointer;background:transparent}.lp-child-edit-btn{background:transparent;border:none;color:#fff6;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;margin-left:4px}.lp-child-edit-btn:hover{color:#ffffffe6;background:#ffffff1a}.lp-style-btn{background:transparent;border:none;color:#fff6;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px}.lp-style-btn:hover{color:#ffffffe6;background:#ffffff1a}.lp-style-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:#181c28fa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:4px;min-width:120px;z-index:100;box-shadow:0 10px 28px #0000008c;transform-origin:top right;animation:lpPopIn .14s ease}.lp-confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:2000;display:flex;align-items:center;justify-content:center;animation:lpFadeIn .12s ease}.lp-confirm-dialog{width:300px;max-width:calc(100vw - 32px);background:#181c28fa;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:18px;box-shadow:0 20px 50px #0009;animation:lpPopIn .16s ease}.lp-confirm-message{margin:0 0 16px;color:#ffffffe6;font-size:13px;line-height:1.5}.lp-confirm-actions{display:flex;justify-content:flex-end;gap:8px}.lp-confirm-btn{border:none;border-radius:6px;padding:7px 14px;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .14s ease,color .14s ease}.lp-confirm-btn--cancel{background:#ffffff14;color:#fffc}.lp-confirm-btn--cancel:hover{background:#ffffff24}.lp-confirm-btn--danger{background:#ff6b6b2e;color:#ff8080}.lp-confirm-btn--danger:hover{background:#ff6b6b4d;color:#ff9d9d}@keyframes lpFadeIn{0%{opacity:0}to{opacity:1}}.preview-root{position:fixed;top:0;right:0;bottom:0;left:0;background:#06060a;font-family:Inter,system-ui,-apple-system,sans-serif;display:flex}.preview-map-container{flex:1;height:100vh;position:relative}.preview-layers-panel{width:300px;background:#080b16;border-right:1px solid rgba(255,255,255,.09);display:flex;flex-direction:column;z-index:10}.preview-lp-header{padding:16px;border-bottom:1px solid rgba(255,255,255,.09);display:flex;align-items:center;justify-content:space-between}.preview-lp-title{color:#ffffffe6;font-size:15px;font-weight:600;letter-spacing:.02em}.preview-download-btn{background:#8b5cf633;color:#c4b5fd;border:1px solid rgba(139,92,246,.3);border-radius:4px;padding:4px 10px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.preview-download-btn:hover{background:#8b5cf64d;color:#fff}.preview-download-btn:disabled{opacity:.5;cursor:not-allowed}.preview-lp-content{flex:1;overflow-y:auto;padding:12px 0}.preview-lp-layer{display:flex;flex-direction:column;padding:2px 8px;margin:0 8px 4px;border-radius:6px}.preview-lp-layer-row{display:flex;align-items:center;height:36px;gap:8px;cursor:pointer}.preview-lp-toggle-btn{background:transparent;border:none;color:#fff9;cursor:pointer;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0}.preview-lp-toggle-btn:hover{color:#fff}.preview-lp-toggle-btn--hidden{color:#fff3}.preview-lp-color-swatch-wrap{width:14px;height:14px;border-radius:3px;overflow:hidden;flex-shrink:0}.preview-lp-color-swatch{width:100%;height:100%}.preview-lp-name-text{flex:1;color:#ffffffe6;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-lp-expand-btn{background:transparent;border:none;color:#fff6;cursor:pointer;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;transition:transform .2s}.preview-lp-expand-btn--expanded{transform:rotate(180deg)}.preview-lp-children{margin-left:24px;padding-left:12px;border-left:1px solid rgba(255,255,255,.1);margin-top:2px;margin-bottom:8px}.preview-lp-child-item{display:flex;align-items:center;height:28px;gap:8px;color:#fff9;cursor:pointer;padding:0 8px;border-radius:4px;transition:background .15s,color .15s}.preview-lp-child-item:hover{background:#ffffff0d;color:#fff}.preview-lp-child-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:#ffffff80}.preview-lp-child-name{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.preview-loading{position:fixed;top:0;right:0;bottom:0;left:0;background:#06060a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.preview-loading-ring{width:36px;height:36px;border-radius:50%;border:2.5px solid rgba(255,255,255,.08);border-top-color:#8b5cf6cc;animation:preview-spin .9s linear infinite}@keyframes preview-spin{to{transform:rotate(360deg)}}.preview-loading-label{color:#ffffff59;font-size:12px;letter-spacing:.07em;text-transform:uppercase;font-weight:500}.poly-popup{position:relative;width:200px;background:#080b16f0;backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border:1px solid rgba(255,255,255,.12);border-radius:10px;box-shadow:0 8px 32px #0009;padding:14px 16px;font-family:Inter,system-ui,-apple-system,sans-serif;cursor:default;z-index:1000;color:#fff}.poly-popup:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%) rotate(45deg);width:12px;height:12px;background:#080b16f0;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}.poly-popup-header{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#fff6;margin-bottom:6px}.poly-popup-name{font-size:16px;font-weight:600;margin-bottom:12px;color:#fff;word-break:break-word}.poly-popup-close{position:absolute;top:10px;right:10px;background:transparent;border:none;color:#fff6;font-size:18px;line-height:1;cursor:pointer;padding:0;width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s}.poly-popup-close:hover{background:#ffffff1a;color:#fff}
