.firefly-marker{filter:drop-shadow(0 0 6px currentColor) drop-shadow(0 0 12px currentColor);mix-blend-mode:screen;animation:fireflyPulse 2s ease-in-out infinite alternate}.firefly-marker-high{filter:drop-shadow(0 0 8px currentColor) drop-shadow(0 0 16px currentColor) drop-shadow(0 0 24px currentColor);mix-blend-mode:screen;animation:fireflyPulse 1.5s ease-in-out infinite alternate}.firefly-marker-premium{filter:drop-shadow(0 0 10px currentColor) drop-shadow(0 0 20px currentColor) drop-shadow(0 0 30px currentColor);mix-blend-mode:screen;animation:fireflyPulseIntense 1.2s ease-in-out infinite alternate}@keyframes fireflyPulse{0%{opacity:.6;transform:scale(1)}to{opacity:.95;transform:scale(1.05)}}@keyframes fireflyPulseIntense{0%{opacity:.7;transform:scale(1);filter:drop-shadow(0 0 10px currentColor) drop-shadow(0 0 20px currentColor) drop-shadow(0 0 30px currentColor)}50%{opacity:.85;transform:scale(1.08);filter:drop-shadow(0 0 12px currentColor) drop-shadow(0 0 24px currentColor) drop-shadow(0 0 36px currentColor)}to{opacity:1;transform:scale(1.1);filter:drop-shadow(0 0 15px currentColor) drop-shadow(0 0 30px currentColor) drop-shadow(0 0 45px currentColor)}}.firefly-red{color:rgba(255,107,107,.9)}.firefly-orange{color:rgba(255,140,0,.9)}.firefly-gold{color:rgba(255,215,0,.95)}.firefly-green{color:rgba(144,238,144,.9)}.firefly-spring{color:rgba(0,255,127,.95)}.firefly-container{mix-blend-mode:screen}.firefly-overlay{position:absolute;pointer-events:none;mix-blend-mode:overlay;opacity:.3}.firefly-marker:hover{animation-duration:.8s;filter:drop-shadow(0 0 12px currentColor) drop-shadow(0 0 24px currentColor) drop-shadow(0 0 36px currentColor);transform:scale(1.15);z-index:1000}.enhanced-polygon{transition:all .3s ease-in-out;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.gradient-polygon{background:linear-gradient(45deg,var(--polygon-primary),var(--polygon-secondary));opacity:.8;transition:opacity .3s ease}.radial-polygon{background:radial-gradient(circle at center,var(--polygon-primary),var(--polygon-secondary));opacity:.75}.glow-border{stroke-width:2px;animation:borderGlow 3s ease-in-out infinite alternate;filter:drop-shadow(0 0 3px currentColor)}.subtle-border{stroke-width:1.5px;animation:subtlePulse 4s ease-in-out infinite;opacity:.9}@keyframes borderGlow{0%{stroke-width:2px;filter:drop-shadow(0 0 3px currentColor);opacity:.8}to{stroke-width:3px;filter:drop-shadow(0 0 6px currentColor) drop-shadow(0 0 12px currentColor);opacity:1}}@keyframes subtlePulse{0%,to{opacity:.9;stroke-width:1.5px}50%{opacity:1;stroke-width:2px}}.shadow-polygon{filter:drop-shadow(0 4px 8px rgba(0,0,0,.15)) drop-shadow(0 2px 4px rgba(0,0,0,.1))}.enhanced-shadow{filter:drop-shadow(0 6px 12px rgba(0,0,0,.2)) drop-shadow(0 3px 6px rgba(0,0,0,.15)) drop-shadow(0 1px 3px rgba(0,0,0,.1))}.crosshatch-texture{background-image:linear-gradient(45deg,transparent 45%,rgba(255,255,255,.1) 0,rgba(255,255,255,.1) 55%,transparent 0),linear-gradient(-45deg,transparent 45%,rgba(255,255,255,.1) 0,rgba(255,255,255,.1) 55%,transparent 0);background-size:8px 8px}.dots-texture{background-image:radial-gradient(circle at 2px 2px,rgba(255,255,255,.15) 1px,transparent 0);background-size:6px 6px}.lines-texture{background-image:linear-gradient(90deg,transparent,rgba(255,255,255,.1) 50%,transparent);background-size:4px 4px}.enhanced-polygon:hover{transform:scale(1.02);filter:drop-shadow(0 4px 8px rgba(0,0,0,.2)) drop-shadow(0 0 12px var(--polygon-glow,currentColor));opacity:1;z-index:100;transition:all .2s ease-out}.glow-border:hover{animation-duration:1s;stroke-width:4px;filter:drop-shadow(0 0 8px currentColor) drop-shadow(0 0 16px currentColor)}.high-value-polygon{background:linear-gradient(135deg,var(--polygon-primary),var(--polygon-secondary),var(--polygon-tertiary));filter:drop-shadow(0 0 8px var(--polygon-glow)) drop-shadow(0 4px 12px rgba(0,0,0,.15));animation:highValueShimmer 4s ease-in-out infinite}@keyframes highValueShimmer{0%,to{filter:drop-shadow(0 0 8px var(--polygon-glow)) drop-shadow(0 4px 12px rgba(0,0,0,.15))}50%{filter:drop-shadow(0 0 12px var(--polygon-glow)) drop-shadow(0 6px 16px rgba(0,0,0,.2))}}.premium-polygon{background:linear-gradient(45deg,var(--polygon-primary),var(--polygon-secondary));filter:drop-shadow(0 0 12px var(--polygon-glow)) drop-shadow(0 0 24px var(--polygon-glow)) drop-shadow(0 6px 16px rgba(0,0,0,.2));animation:premiumGlow 3s ease-in-out infinite alternate}@keyframes premiumGlow{0%{filter:drop-shadow(0 0 12px var(--polygon-glow)) drop-shadow(0 0 24px var(--polygon-glow)) drop-shadow(0 6px 16px rgba(0,0,0,.2));transform:scale(1)}to{filter:drop-shadow(0 0 16px var(--polygon-glow)) drop-shadow(0 0 32px var(--polygon-glow)) drop-shadow(0 8px 20px rgba(0,0,0,.25));transform:scale(1.01)}}.polygon-red{--polygon-primary:rgba(255,107,107,0.8);--polygon-secondary:rgba(255,107,107,0.4);--polygon-tertiary:rgba(255,107,107,0.2);--polygon-glow:rgba(255,107,107,0.6)}.polygon-orange{--polygon-primary:rgba(255,140,0,0.8);--polygon-secondary:rgba(255,140,0,0.4);--polygon-tertiary:rgba(255,140,0,0.2);--polygon-glow:rgba(255,140,0,0.6)}.polygon-gold{--polygon-primary:rgba(255,215,0,0.8);--polygon-secondary:rgba(255,215,0,0.4);--polygon-tertiary:rgba(255,215,0,0.2);--polygon-glow:rgba(255,215,0,0.6)}.polygon-green{--polygon-primary:rgba(144,238,144,0.8);--polygon-secondary:rgba(144,238,144,0.4);--polygon-tertiary:rgba(144,238,144,0.2);--polygon-glow:rgba(144,238,144,0.6)}.polygon-spring{--polygon-primary:rgba(0,255,127,0.8);--polygon-secondary:rgba(0,255,127,0.4);--polygon-tertiary:rgba(0,255,127,0.2);--polygon-glow:rgba(0,255,127,0.6)}.cluster-polygon{stroke-dasharray:5,5;animation:dashMove 2s linear infinite}@keyframes dashMove{to{stroke-dashoffset:-10}}.enhanced-polygon,.gradient-polygon,.radial-polygon{will-change:transform,filter,opacity;transform:translateZ(0)}:root{--firefly-1:#D6191C;--firefly-2:#dc2626;--firefly-3:#ef4444;--firefly-4:#f87171;--firefly-5:#fca5a5;--firefly-6:#fed7d7;--firefly-7:#FFC085;--firefly-8:#FCAD61;--firefly-9:#f59e0b;--firefly-10:#fbbf24;--firefly-11:#fde047;--firefly-12:#C0EB75;--firefly-13:#A6D96A;--firefly-14:#33a852;--firefly-15:#1A9641;--firefly-16:#15803d;--firefly-17:#166534;--firefly-18:#FCAD61;--firefly-19:#D6191C;--firefly-20:#1A9641;--firefly-neutral:#ffffff;--firefly-light-1:#B91C1C;--firefly-light-2:#dc2626;--firefly-light-3:#ef4444;--firefly-light-4:#f87171;--firefly-light-5:#fca5a5;--firefly-light-6:#fed7d7;--firefly-light-7:#EA8441;--firefly-light-8:#E09142;--firefly-light-9:#f59e0b;--firefly-light-10:#fbbf24;--firefly-light-11:#fde047;--firefly-light-12:#84C95A;--firefly-light-13:#7CB05A;--firefly-light-14:#2E8B47;--firefly-light-15:#16713E;--firefly-light-16:#15803d;--firefly-light-17:#166534;--firefly-light-18:#E09142;--firefly-light-19:#B91C1C;--firefly-light-20:#16713E;--firefly-light-neutral:#4b5563;--theme-bg-primary:#1a1a1a;--theme-bg-secondary:#2a2a2a;--theme-bg-tertiary:#333333;--theme-text-primary:#ffffff;--theme-text-secondary:#cccccc;--theme-text-muted:#999999;--theme-border:#444444;--theme-accent-primary:var(--firefly-14);--theme-accent-secondary:var(--firefly-15);--theme-warning:var(--firefly-18);--theme-error:var(--firefly-19);--theme-success:var(--firefly-20);--theme-basemap:"dark-gray-vector"}[data-theme=light]{--theme-bg-primary:#f8f8f8;--theme-bg-secondary:#f0f0f0;--theme-bg-tertiary:#ffffff;--theme-text-primary:#333333;--theme-text-secondary:#666666;--theme-text-muted:#999999;--theme-border:#e0e0e0;--theme-accent-primary:var(--firefly-light-14);--theme-accent-secondary:var(--firefly-light-15);--theme-warning:var(--firefly-light-18);--theme-error:var(--firefly-light-19);--theme-success:var(--firefly-light-20);--theme-basemap:"gray-vector"}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.theme-dialog-content,.theme-legend-container,.theme-popup-container,.theme-sidebar,body{transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1)}.theme-button-primary,.theme-button-secondary,.theme-popup-button,.theme-tab-active,.theme-tab-inactive,a,button,input,select,textarea{transition:all .2s cubic-bezier(.4,0,.2,1)}@keyframes subtle-glow-pulse{0%,to{box-shadow:0 0 4px rgba(51,168,82,.1),0 0 8px rgba(51,168,82,.08),inset 0 0 2px rgba(255,255,255,.03)}50%{box-shadow:0 0 6px rgba(51,168,82,.15),0 0 10px rgba(51,168,82,.12),inset 0 0 3px rgba(255,255,255,.05)}}.theme-button-primary:hover{box-shadow:0 0 4px rgba(51,168,82,.2),0 2px 8px rgba(51,168,82,.1);transition:box-shadow .3s ease}.firefly-glow-on-hover:hover{box-shadow:0 0 3px rgba(51,168,82,.1),0 1px 4px rgba(51,168,82,.08);transition:box-shadow .3s ease}.firefly-glow-subtle:hover{text-shadow:0 0 2px rgba(51,168,82,.15);transition:text-shadow .2s ease}.firefly-glow{box-shadow:0 0 4px rgba(51,168,82,.15),0 0 8px rgba(51,168,82,.1)}.theme-input:focus,.theme-select:focus,.theme-textarea:focus{box-shadow:0 0 0 2px var(--theme-accent-primary),0 0 4px rgba(51,168,82,.1)!important}@keyframes firefly-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes firefly-slide-in{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.theme-dialog-content,.theme-popup-container{animation:firefly-fade-in .3s cubic-bezier(.4,0,.2,1)}.theme-legend-item{animation:firefly-slide-in .3s cubic-bezier(.4,0,.2,1)}.theme-button-primary:active,.theme-button-secondary:active,.theme-popup-button:active{transform:scale(.98)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.firefly-glow,.theme-button-primary:hover,.theme-skeleton{animation:none!important}.theme-skeleton{background:var(--theme-bg-tertiary)!important}}@media (prefers-contrast:high){:root{--theme-accent-primary:#00ff00;--theme-accent-secondary:#ff8800;--theme-border:#ffffff}[data-theme=light]{--theme-accent-primary:#008800;--theme-accent-secondary:#cc6600;--theme-border:#000000}.theme-button-primary,.theme-popup-button{border:2px solid var(--theme-text-primary)!important}.theme-input,.theme-select,.theme-textarea{border-width:2px!important}}.theme-button-primary:focus-visible,.theme-button-secondary:focus-visible,.theme-link:focus-visible,.theme-popup-button:focus-visible,.theme-tab-active:focus-visible,.theme-tab-inactive:focus-visible{outline:3px solid var(--theme-accent-primary)!important;outline-offset:2px!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}body{background-color:var(--theme-bg-primary);color:var(--theme-text-primary)}.firefly-point{position:relative;border-radius:50%;z-index:10;transition:all .3s ease}.firefly-point-standard{background:radial-gradient(circle,currentColor 0,currentColor 50%,transparent 80%);box-shadow:0 0 4px currentColor,0 0 8px rgba(0,0,0,.2),inset 0 0 4px rgba(255,255,255,.1)}.firefly-point-shimmer{background:radial-gradient(circle,currentColor 0,currentColor 40%,transparent 70%);box-shadow:0 0 3px currentColor,0 0 6px currentColor,0 0 12px rgba(0,0,0,.1),inset 0 0 8px rgba(255,255,255,.2);animation:subtle-twinkle 3s ease-in-out infinite alternate}@keyframes subtle-twinkle{0%{box-shadow:0 0 3px currentColor,0 0 6px currentColor,0 0 12px rgba(0,0,0,.1),inset 0 0 8px rgba(255,255,255,.2);transform:scale(1);opacity:.9}to{box-shadow:0 0 4px currentColor,0 0 8px currentColor,0 0 16px rgba(0,0,0,.15),inset 0 0 10px rgba(255,255,255,.3);transform:scale(1.05);opacity:1}}.firefly-point-xs{width:4px;height:4px}.firefly-point-sm{width:8px;height:8px}.firefly-point-md{width:12px;height:12px}.firefly-point-lg{width:20px;height:20px}.firefly-point-xl{width:32px;height:32px}.firefly-polygon{position:relative;z-index:5;transition:all .3s ease}.firefly-polygon-standard{background:rgba(0,0,0,.1);border:1px solid;box-shadow:0 0 3px currentColor,0 0 6px rgba(0,0,0,.1),inset 0 0 4px rgba(255,255,255,.03)}.firefly-polygon-inner{background:linear-gradient(45deg,transparent,rgba(255,255,255,.05) 50%,transparent);border:1px solid;box-shadow:inset 0 0 15px currentColor,inset 0 0 30px currentColor}.firefly-line{position:relative;height:2px;background:currentColor;box-shadow:0 0 2px currentColor,0 0 4px rgba(0,0,0,.1)}[data-theme=light] .firefly-point-standard{background:radial-gradient(circle,currentColor 0,currentColor 50%,rgba(255,255,255,.9) 80%,transparent 100%);box-shadow:0 0 3px rgba(0,0,0,.2),0 0 6px currentColor,0 0 8px rgba(0,0,0,.1),inset 0 0 4px rgba(0,0,0,.1),inset 0 0 8px rgba(255,255,255,.4);border:1px solid rgba(0,0,0,.15)}[data-theme=light] .firefly-polygon-standard{background:rgba(255,255,255,.4);border:1px solid;box-shadow:0 0 3px rgba(0,0,0,.15),0 0 6px currentColor,inset 0 0 4px rgba(255,255,255,.4),inset 0 0 8px rgba(0,0,0,.05)}[data-theme=light] .firefly-line{height:2px;box-shadow:0 0 2px rgba(0,0,0,.2),0 0 4px currentColor,0 0 6px rgba(0,0,0,.1);border-radius:1px}.firefly-accent-primary{color:var(--theme-accent-primary)}.firefly-accent-secondary{color:var(--theme-accent-secondary)}.firefly-warning{color:var(--theme-warning)}.firefly-error{color:var(--theme-error)}.firefly-success{color:var(--theme-success)}.firefly-color-1{color:var(--firefly-1)}.firefly-color-2{color:var(--firefly-2)}.firefly-color-3{color:var(--firefly-3)}.firefly-color-4{color:var(--firefly-4)}.firefly-color-5{color:var(--firefly-5)}.firefly-color-6{color:var(--firefly-6)}.firefly-color-7{color:var(--firefly-7)}.firefly-color-8{color:var(--firefly-8)}.firefly-color-9{color:var(--firefly-9)}.firefly-color-10{color:var(--firefly-10)}.firefly-color-11{color:var(--firefly-11)}.firefly-color-12{color:var(--firefly-12)}.firefly-color-13{color:var(--firefly-13)}.firefly-color-14{color:var(--firefly-14)}.firefly-color-15{color:var(--firefly-15)}.firefly-color-16{color:var(--firefly-16)}.firefly-color-17{color:var(--firefly-17)}.firefly-color-18{color:var(--firefly-18)}.firefly-color-19{color:var(--firefly-19)}.firefly-color-20{color:var(--firefly-20)}[data-theme=light] .firefly-color-1{color:var(--firefly-light-1)}[data-theme=light] .firefly-color-2{color:var(--firefly-light-2)}[data-theme=light] .firefly-color-3{color:var(--firefly-light-3)}[data-theme=light] .firefly-color-4{color:var(--firefly-light-4)}[data-theme=light] .firefly-color-5{color:var(--firefly-light-5)}[data-theme=light] .firefly-color-6{color:var(--firefly-light-6)}[data-theme=light] .firefly-color-7{color:var(--firefly-light-7)}[data-theme=light] .firefly-color-8{color:var(--firefly-light-8)}[data-theme=light] .firefly-color-9{color:var(--firefly-light-9)}[data-theme=light] .firefly-color-10{color:var(--firefly-light-10)}[data-theme=light] .firefly-color-11{color:var(--firefly-light-11)}[data-theme=light] .firefly-color-12{color:var(--firefly-light-12)}[data-theme=light] .firefly-color-13{color:var(--firefly-light-13)}[data-theme=light] .firefly-color-14{color:var(--firefly-light-14)}[data-theme=light] .firefly-color-15{color:var(--firefly-light-15)}[data-theme=light] .firefly-color-16{color:var(--firefly-light-16)}[data-theme=light] .firefly-color-17{color:var(--firefly-light-17)}[data-theme=light] .firefly-color-18{color:var(--firefly-light-18)}[data-theme=light] .firefly-color-19{color:var(--firefly-light-19)}[data-theme=light] .firefly-color-20{color:var(--firefly-light-20)}.theme-button{background-color:var(--theme-bg-tertiary);color:var(--theme-text-primary);border:1px solid var(--theme-border);padding:8px 16px;border-radius:6px;cursor:pointer}.theme-button:hover{box-shadow:0 0 4px rgba(51,168,82,.2)}.theme-button-primary,.theme-button:hover{background-color:var(--theme-accent-primary)}.theme-button-primary{color:var(--theme-bg-primary);box-shadow:0 0 4px rgba(51,168,82,.15)}.theme-input{background-color:var(--theme-bg-tertiary);color:var(--theme-text-primary);border:1px solid var(--theme-border);padding:8px 12px;border-radius:4px}.theme-input:focus{outline:none;border-color:var(--theme-accent-primary);box-shadow:0 0 3px rgba(51,168,82,.2)}.theme-card{border:1px solid var(--theme-border);border-radius:8px;padding:16px}.theme-card,.theme-sidebar{background-color:var(--theme-bg-secondary)}.theme-sidebar{border-right:1px solid var(--theme-border)}.theme-tab{background-color:var(--theme-bg-secondary);color:var(--theme-text-secondary);border-bottom:2px solid transparent;padding:12px 16px;cursor:pointer}.theme-tab-active{color:var(--theme-accent-primary);border-bottom-color:var(--theme-accent-primary);box-shadow:0 0 4px rgba(51,168,82,.2)}.theme-tab:hover:not(.theme-tab-active){color:var(--theme-text-primary);background-color:var(--theme-bg-tertiary)}.theme-dialog{background-color:var(--theme-bg-primary);border:1px solid var(--theme-border);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.3),0 0 8px rgba(51,168,82,.1)}[data-theme=light] .theme-dialog{box-shadow:0 10px 30px rgba(0,0,0,.15),0 0 6px rgba(46,139,71,.1)}@media (prefers-reduced-motion:reduce){.firefly-point-shimmer{animation:none}*{transition:none}}@media (prefers-contrast:high){.firefly-point,.firefly-polygon{filter:contrast(1.5) brightness(1.2)}}@media (max-width:768px){.firefly-glow,.firefly-point-shimmer,.theme-button-primary:hover{animation:none}.firefly-point-standard{box-shadow:0 0 5px currentColor,0 0 10px currentColor}.theme-legend-container,.theme-popup-container{box-shadow:0 2px 8px rgba(0,0,0,.15)!important}*{transition-duration:.2s!important}.theme-button-primary,.theme-button-secondary,.theme-popup-button{min-height:44px;min-width:44px}}@media (max-width:768px) and (hover:none){.theme-button-primary:hover,.theme-button-secondary:hover,.theme-tab-inactive:hover{animation:none!important;box-shadow:none!important}}@media (prefers-reduced-data:reduce){.firefly-glow,.firefly-point-shimmer{animation:none!important}}.firefly-point,.firefly-polygon{transform:translateZ(0);will-change:transform}@keyframes firefly-map-pulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.1);opacity:1}}.firefly-point:hover{animation:firefly-map-pulse 1s ease-in-out infinite;cursor:pointer}.firefly-polygon-active{filter:drop-shadow(0 0 8px rgba(34,197,94,.3));animation:firefly-glow-pulse 2s ease-in-out infinite}.firefly-line,.firefly-point,.firefly-polygon{transition:filter .3s ease,opacity .3s ease,transform .2s ease}.theme-tab-active{color:var(--theme-accent-primary)!important;border-bottom:2px solid var(--theme-accent-primary)!important;background-color:var(--theme-bg-tertiary)!important}.theme-tab-inactive{color:var(--theme-text-secondary)!important;background-color:transparent!important}.theme-tab-inactive:hover{color:var(--theme-text-primary)!important;border-bottom:1px solid var(--theme-border)!important;background-color:var(--theme-bg-tertiary)!important}.theme-dialog-overlay{background-color:rgba(0,0,0,.8)!important}[data-theme=light] .theme-dialog-overlay{background-color:rgba(0,0,0,.5)!important}.theme-dialog-content{background-color:var(--theme-bg-primary)!important;color:var(--theme-text-primary)!important}.theme-dialog-close,.theme-dialog-content{border:1px solid var(--theme-border)!important}.theme-dialog-close{color:var(--theme-text-secondary)!important;background-color:transparent!important;border-radius:4px!important}.theme-dialog-close:hover{background-color:var(--theme-bg-tertiary)!important}.theme-dialog-close:hover,.theme-dialog-title{color:var(--theme-text-primary)!important}.theme-dialog-description{color:var(--theme-text-secondary)!important}.theme-button-primary{background-color:var(--theme-accent-primary)!important;color:var(--theme-bg-primary)!important;border:1px solid var(--theme-accent-primary)!important;padding:.5rem 1rem!important;border-radius:.375rem!important;font-weight:500!important;transition:all .2s ease!important}.theme-button-primary:hover{background-color:var(--theme-accent-secondary)!important;border-color:var(--theme-accent-secondary)!important;box-shadow:0 0 10px var(--theme-accent-primary)!important}.theme-button-secondary{background-color:transparent!important;color:var(--theme-accent-primary)!important;border:1px solid var(--theme-accent-primary)!important;padding:.5rem 1rem!important;border-radius:.375rem!important;font-weight:500!important;transition:all .2s ease!important}.theme-button-secondary:hover{background-color:var(--theme-bg-tertiary)!important;box-shadow:0 0 8px var(--theme-accent-primary)!important}.theme-button-danger{background-color:var(--firefly-1)!important;color:white!important;border:1px solid var(--firefly-1)!important;padding:.5rem 1rem!important;border-radius:.375rem!important;font-weight:500!important;transition:all .2s ease!important}.theme-button-danger:hover{background-color:var(--firefly-2)!important;border-color:var(--firefly-2)!important;box-shadow:0 0 10px var(--firefly-1)!important}.theme-input{background-color:var(--theme-bg-secondary)!important;color:var(--theme-text-primary)!important;border:1px solid var(--theme-border)!important;border-radius:.375rem!important;padding:.5rem .75rem!important;font-size:.875rem!important;transition:all .2s ease!important}.theme-input:focus{border-color:var(--theme-accent-primary)!important;box-shadow:0 0 5px var(--theme-accent-primary)!important;outline:none!important}.theme-textarea{background-color:var(--theme-bg-secondary)!important;color:var(--theme-text-primary)!important;border:1px solid var(--theme-border)!important;border-radius:.375rem!important;padding:.75rem!important;font-size:.875rem!important;resize:vertical!important;transition:all .2s ease!important}.theme-textarea:focus{border-color:var(--theme-accent-primary)!important;box-shadow:0 0 5px var(--theme-accent-primary)!important;outline:none!important}.theme-select{background-color:var(--theme-bg-secondary)!important;color:var(--theme-text-primary)!important;border:1px solid var(--theme-border)!important;border-radius:.375rem!important;padding:.5rem .75rem!important;font-size:.875rem!important;transition:all .2s ease!important}.theme-select:focus{border-color:var(--theme-accent-primary)!important;box-shadow:0 0 5px var(--theme-accent-primary)!important;outline:none!important}.theme-link{color:var(--theme-accent-primary)!important;text-decoration:none!important;transition:color .2s ease!important}.theme-link:hover{color:var(--theme-accent-secondary)!important;text-shadow:0 0 5px var(--theme-accent-primary)!important}.theme-code{border:1px solid var(--theme-border)!important;border-radius:.25rem!important;padding:.25rem .5rem!important}.theme-code,.theme-pre{background-color:var(--theme-bg-tertiary)!important;color:var(--theme-text-primary)!important;font-family:Courier New,monospace!important;font-size:.875rem!important}.theme-pre{border:1px solid var(--theme-border)!important;border-radius:.375rem!important;padding:1rem!important;overflow-x:auto!important}.theme-heading-1{color:var(--theme-text-primary)!important;font-size:2rem!important;font-weight:700!important;line-height:1.2!important;margin-bottom:1rem!important}.theme-heading-2{font-size:1.5rem!important;line-height:1.3!important;margin-bottom:.75rem!important}.theme-heading-2,.theme-heading-3{color:var(--theme-text-primary)!important;font-weight:600!important}.theme-heading-3{font-size:1.25rem!important;line-height:1.4!important;margin-bottom:.5rem!important}.theme-body-text{color:var(--theme-text-primary)!important;font-size:1rem!important;line-height:1.6!important}.theme-body-text-secondary{color:var(--theme-text-secondary)!important;font-size:.875rem!important;line-height:1.5!important}.theme-caption{color:var(--theme-text-muted)!important;font-size:.75rem!important;line-height:1.4!important}.theme-focus-ring{outline:2px solid var(--theme-accent-primary)!important;outline-offset:2px!important}.theme-disabled{opacity:.5!important;cursor:not-allowed!important;pointer-events:none!important}.theme-map-widget{background-color:var(--theme-bg-secondary)!important;color:var(--theme-text-primary)!important;border:1px solid var(--theme-border)!important;border-radius:.375rem!important;box-shadow:0 2px 8px rgba(0,0,0,.15)!important}.theme-map-widget:hover{background-color:var(--theme-bg-tertiary)!important;box-shadow:0 0 10px var(--theme-accent-primary)!important}.theme-compass-widget,.theme-popup-container,.theme-zoom-widget{background-color:var(--theme-bg-primary)!important;border:1px solid var(--theme-border)!important}.theme-popup-container{color:var(--theme-text-primary)!important;border-radius:.5rem!important;box-shadow:0 4px 20px rgba(0,0,0,.25)!important;max-width:400px!important;padding:1rem!important}.theme-popup-title{color:var(--theme-text-primary)!important;font-size:.75rem!important;font-weight:600!important;margin-bottom:.75rem!important;border-bottom:1px solid var(--theme-border)!important;padding-bottom:.5rem!important}.theme-popup-content{color:var(--theme-text-secondary)!important;font-size:.875rem!important;line-height:1.5!important}.theme-popup-chart{margin:.75rem 0!important}.theme-popup-chart-bar{height:20px!important;background:linear-gradient(90deg,var(--theme-accent-primary),var(--theme-accent-secondary))!important;border-radius:.25rem!important;margin:.25rem 0!important;transition:all .3s ease!important}.theme-popup-chart-bar:hover{box-shadow:0 0 8px var(--theme-accent-primary)!important;transform:scale(1.02)!important}.theme-popup-actions{display:flex!important;gap:.5rem!important;margin-top:1rem!important;padding-top:.75rem!important;border-top:1px solid var(--theme-border)!important}.theme-popup-button{background-color:var(--theme-accent-primary)!important;color:var(--theme-bg-primary)!important;border:none!important;border-radius:.25rem!important;padding:.5rem 1rem!important;font-size:.875rem!important;font-weight:500!important;cursor:pointer!important;transition:all .2s ease!important}.theme-popup-button:hover{background-color:var(--theme-accent-secondary)!important;box-shadow:0 0 8px var(--theme-accent-primary)!important}.theme-popup-close{position:absolute!important;top:.5rem!important;right:.5rem!important;background-color:transparent!important;color:var(--theme-text-secondary)!important;border:none!important;border-radius:50%!important;width:2rem!important;height:2rem!important;cursor:pointer!important;transition:all .2s ease!important;display:flex!important;align-items:center!important;justify-content:center!important}.theme-popup-close:hover{background-color:var(--theme-bg-tertiary)!important;color:var(--theme-text-primary)!important}.theme-legend-container{background-color:var(--theme-bg-primary)!important;color:var(--theme-text-primary)!important;border:1px solid var(--theme-border)!important;border-radius:.375rem!important;padding:1rem!important;margin:.5rem!important;box-shadow:0 2px 8px rgba(0,0,0,.1)!important}.theme-legend-title{color:var(--theme-text-primary)!important;font-size:1rem!important;font-weight:600!important;margin-bottom:.75rem!important;padding-bottom:.5rem!important;border-bottom:1px solid var(--theme-border)!important}.theme-legend-item{display:flex!important;align-items:center!important;gap:.5rem!important;margin:.5rem 0!important;padding:.25rem!important;border-radius:.25rem!important;transition:background-color .2s ease!important}.theme-legend-item:hover{background-color:var(--theme-bg-tertiary)!important}.theme-legend-symbol{width:16px!important;height:16px!important;border-radius:2px!important;border:1px solid var(--theme-border)!important;flex-shrink:0!important}.theme-legend-label{color:var(--theme-text-primary)!important;font-size:.875rem!important;line-height:1.4!important}.theme-legend-value{color:var(--theme-text-secondary)!important;font-size:.75rem!important;margin-left:auto!important}.theme-loading-spinner{border-top:2px solid var(--theme-bg-tertiary)!important;border:2px solid var(--theme-bg-tertiary)!important;border-top-color:var(--theme-accent-primary)!important;border-radius:50%!important;animation:firefly-spin 1s linear infinite!important}@keyframes firefly-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.theme-progress-bar{background-color:var(--theme-bg-tertiary)!important;border-radius:.25rem!important;overflow:hidden!important;height:8px!important}.theme-progress-fill{background:linear-gradient(90deg,var(--theme-accent-primary),var(--theme-accent-secondary))!important;height:100%!important;transition:width .3s ease!important;box-shadow:0 0 8px var(--theme-accent-primary)!important}.theme-skeleton{background:linear-gradient(90deg,var(--theme-bg-tertiary),var(--theme-bg-secondary),var(--theme-bg-tertiary))!important;background-size:200% 100%!important;animation:firefly-shimmer 2s ease-in-out infinite!important;border-radius:.25rem!important}@keyframes firefly-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.theme-error-container{background-color:rgba(255,0,64,.1)!important;border:1px solid var(--firefly-1)!important;color:var(--firefly-1)!important;border-radius:.375rem!important;padding:1rem!important;margin:.5rem 0!important}.theme-error-title{color:var(--firefly-1)!important;font-weight:600!important;margin-bottom:.5rem!important}.theme-error-message{color:var(--theme-text-primary)!important;font-size:.875rem!important;line-height:1.5!important}.theme-retry-button{background-color:var(--firefly-1)!important;color:white!important;border:none!important;border-radius:.25rem!important;padding:.5rem 1rem!important;font-size:.875rem!important;font-weight:500!important;cursor:pointer!important;transition:all .2s ease!important;margin-top:.75rem!important}.theme-retry-button:hover{background-color:var(--firefly-2)!important;box-shadow:0 0 10px var(--firefly-1)!important}.theme-bg-destructive-subtle{background-color:rgba(255,0,64,.1)!important}.theme-text-destructive{color:var(--firefly-1)!important}.theme-border-destructive{border-color:var(--firefly-1)!important}.theme-dialog{background-color:var(--theme-bg-primary)!important;color:var(--theme-text-primary)!important;border:1px solid var(--theme-border)!important}.theme-tooltip{padding:.5rem!important;font-size:.875rem!important;box-shadow:0 4px 12px rgba(0,0,0,.2)!important}.theme-step-header,.theme-tooltip{background-color:var(--theme-bg-secondary)!important;color:var(--theme-text-primary)!important;border:1px solid var(--theme-border)!important;border-radius:.375rem!important}.theme-step-header{padding:1rem!important}.theme-draw-button{background-color:var(--theme-bg-tertiary)!important;color:var(--theme-text-primary)!important;border:1px solid var(--theme-border)!important;border-radius:.25rem!important;padding:.5rem!important;transition:all .2s ease!important}.theme-draw-button:hover{box-shadow:0 0 8px var(--theme-accent-primary)!important}.theme-draw-button.active,.theme-draw-button:hover{background-color:var(--theme-accent-primary)!important;color:var(--theme-bg-primary)!important}.theme-draw-button.active{box-shadow:0 0 12px var(--theme-accent-primary)!important}.firefly-map-graphic{transition:all .3s cubic-bezier(.4,0,.2,1)!important;cursor:pointer!important}.firefly-map-graphic:hover{transform:scale(1.1)!important;filter:drop-shadow(0 0 8px var(--theme-accent-primary))!important;z-index:1000!important}.firefly-map-graphic:active{transform:scale(1.05)!important;filter:drop-shadow(0 0 12px var(--theme-accent-primary))!important}.firefly-map-layer-highlight{animation:firefly-pulse 2s ease-in-out infinite!important;filter:drop-shadow(0 0 6px var(--theme-accent-primary))!important}@keyframes firefly-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.firefly-map-point{transition:all .2s ease!important;cursor:pointer!important}.firefly-map-point:hover{animation:firefly-point-glow 1s ease-in-out infinite alternate!important}@keyframes firefly-point-glow{0%{filter:drop-shadow(0 0 4px var(--theme-accent-primary))}to{filter:drop-shadow(0 0 12px var(--theme-accent-primary))}}.firefly-map-polygon{transition:all .3s ease!important;cursor:pointer!important}.firefly-map-polygon:hover{filter:drop-shadow(0 0 8px var(--theme-accent-primary)) brightness(1.1)!important;stroke-width:3!important}.firefly-map-selected{animation:firefly-selected-glow 1.5s ease-in-out infinite!important}@keyframes firefly-selected-glow{0%,to{filter:drop-shadow(0 0 8px var(--theme-accent-primary))}50%{filter:drop-shadow(0 0 16px var(--theme-accent-primary))}}.theme-bg-success-light{background-color:#dcfce7!important}.theme-text-success{color:#15803d!important}[data-theme=dark] .theme-bg-success-light{background-color:rgba(34,197,94,.1)!important}[data-theme=dark] .theme-text-success{color:#4ade80!important}.theme-analysis-card{background-color:var(--theme-bg-tertiary)!important;border:1px solid var(--theme-border)!important;color:var(--theme-text-primary)!important;box-shadow:0 1px 3px rgba(0,0,0,.1)!important;transition:all .2s ease!important}.theme-analysis-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.15)!important;background-color:var(--theme-bg-secondary)!important}.theme-analysis-card-selected{background-color:rgba(34,197,94,.1)!important;border:2px solid var(--theme-accent-primary)!important;box-shadow:0 4px 20px rgba(34,197,94,.2)!important}[data-theme=dark] .theme-analysis-card-selected{background-color:rgba(34,197,94,.15)!important;border:2px solid var(--theme-accent-primary)!important}.theme-analysis-card-disabled{opacity:.5!important;cursor:not-allowed!important;background-color:var(--theme-bg-secondary)!important;border:1px solid var(--theme-border)!important}input[type=search],input[type=text],textarea{background-color:var(--theme-bg-tertiary)!important;color:var(--theme-text-primary)!important;border:1px solid var(--theme-border)!important}input[type=search]:focus,input[type=text]:focus,textarea:focus{border-color:var(--theme-accent-primary)!important;box-shadow:0 0 0 2px rgba(34,197,94,.2)!important;outline:none!important}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--theme-text-muted)!important}input::placeholder,textarea::placeholder{color:var(--theme-text-muted)!important}.dialog-content,.theme-dialog-content,[role=dialog]{background-color:var(--theme-bg-primary)!important;color:var(--theme-text-primary)!important;border:1px solid var(--theme-border)!important}.dialog-header,.theme-dialog-header{border-bottom:1px solid var(--theme-border)!important}.dialog-title,.theme-dialog-title{color:var(--theme-text-primary)!important}.dialog-description,.theme-dialog-description{color:var(--theme-text-secondary)!important}.theme-loading-container{background-color:var(--theme-bg-secondary)!important;color:var(--theme-text-primary)!important;border:1px solid var(--theme-border)!important;border-radius:.5rem!important;padding:1rem!important}.theme-processing-indicator{color:var(--theme-text-secondary)!important}.theme-message-container,.theme-processing-indicator{background-color:var(--theme-bg-secondary)!important;border-radius:.5rem!important;padding:.75rem!important}.theme-message-container{color:var(--theme-text-primary)!important;transition:background-color .2s ease!important}.theme-message-container:hover{background-color:var(--theme-bg-tertiary)!important}.theme-message-user{background-color:rgba(34,197,94,.1)!important;color:var(--theme-text-primary)!important;border:1px solid var(--theme-accent-primary)!important}[data-theme=dark] .theme-message-user{background-color:rgba(34,197,94,.15)!important}.bg-green-100,.inline-flex.items-center.bg-green-100.text-green-800,.inline.text-\[#33a852\],button.bg-green-100,button[class*="text-[#33a852]"],button[title*="Click to zoom"],button[title*="Zoom to"]{color:#33a852!important;background-color:#dcfce7!important;border:1px solid #bbf7d0!important}.theme-message-container a,.theme-message-container button{color:#33a852!important}.theme-message-container.theme-message-user{background-color:rgba(34,197,94,.1)!important;border-color:#22c55e!important}.custom-zoom-control{position:absolute!important;bottom:20px!important;left:84px!important;display:flex!important;flex-direction:column!important;gap:4px!important;z-index:1000!important}.custom-zoom-control button{background-color:var(--theme-bg-primary)!important;color:var(--theme-text-primary)!important;border:1px solid var(--theme-border)!important;box-shadow:0 1px 3px rgba(0,0,0,.1)!important;transition:all .15s ease!important}.custom-zoom-control button:hover{background-color:var(--theme-bg-tertiary)!important;transform:translateY(-1px)!important;box-shadow:0 2px 4px rgba(0,0,0,.08)!important}.custom-zoom-control button:focus{border-color:var(--theme-accent-primary)!important;box-shadow:0 0 0 2px rgba(34,197,94,.2)!important}.custom-zoom-control button:active{background-color:var(--theme-bg-secondary)!important;transform:translateY(0)!important;box-shadow:0 1px 2px rgba(0,0,0,.1)!important}[data-theme=dark] .custom-zoom-control button{box-shadow:0 1px 3px rgba(0,0,0,.3)!important}[data-theme=dark] .custom-zoom-control button:hover{box-shadow:0 2px 4px rgba(0,0,0,.2)!important}