:root{--brand-color:#019863;--brand-color-hover:#017a4f;--brand-color-light:#e6f7f1;--brand-color-focus-ring:rgba(22,163,74,0.3)}body{background-color:var(--bg-page);color:var(--text-primary)}:fullscreen{background:#fff}svg{background:#fff}.map-controls{position:absolute;top:15px;right:15px;display:flex;flex-direction:column;gap:12px;z-index:9999}.map-control-btn{width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,0.85);box-shadow:0 3px 8px rgba(0,0,0,0.2);display:flex;justify-content:center;align-items:center;cursor:pointer;transition:.2s}.map-control-btn:hover{background:white;transform:scale(1.07)}.map-control-btn[data-tooltip]{position:relative}.map-control-btn[data-tooltip]::after{content:attr(data-tooltip);position:absolute;right:110%;top:50%;transform:translateY(-50%);background:black;color:white;padding:4px 8px;font-size:12px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s}.map-control-btn[data-tooltip]:hover::after{opacity:1}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background-color:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background-color:#019863;border-radius:4px}::-webkit-scrollbar-thumb:hover{background-color:#166534}.svg-aspect-container{position:relative;width:100%;padding-bottom:calc(85% / (1400 / 800))}.demo-gif{cursor:pointer}.custom-tooltip{--bs-tooltip-bg:var(--brand-color);--bs-tooltip-padding-y:.4rem;--bs-tooltip-padding-x:.8rem;--bs-tooltip-border-radius:.375rem;--bs-tooltip-color:#212529}.tooltip .tooltip-inner{font-weight:500;letter-spacing:.01em;line-height:1.3}.svg-aspect-container svg{position:absolute;top:0;left:0;width:100%;height:100%}.btn-brand{background-color:var(--brand-color);border:2px solid var(--brand-color);color:white;transition:background-color .2s ease-out,border-color .2s ease-out,transform .2s ease-out,box-shadow .2s ease-out}.btn-brand:hover{background-color:var(--brand-color-hover);border-color:var(--brand-color-hover);color:white;transform:translateY(-2px);box-shadow:0 6px 16px rgba(22,163,74,0.25)}.btn-outline-secondary{--bs-btn-color:var(--brand-color);--bs-btn-border-color:var(--brand-color);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:var(--brand-color);--bs-btn-hover-border-color:var(--brand-color);--bs-btn-focus-shadow-rgb:112,146,98;--bs-btn-active-color:#000;--bs-btn-active-bg:var(--brand-color);--bs-btn-active-border-color:var(--brand-color);--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color:var(--brand-color);--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:var(--brand-color);--bs-gradient:none}.btn-brand:focus,.btn-brand:focus-visible{outline:0;box-shadow:0 0 0 3px var(--brand-color-focus-ring),0 2px 8px rgba(22,163,74,0.2)}.btn-brand:active{transform:translateY(0);background-color:#166534;box-shadow:0 2px 4px rgba(22,163,74,0.2)}.quality-badge{font-size:.7rem;padding:.1rem .35rem;border-radius:.3rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;line-height:1}.quality-high{background-color:var(--brand-color);color:white}.quality-standard{background-color:#3b82f6;color:white}.toggle-active{background-color:var(--brand-color) !important;color:white !important;border-color:var(--brand-color) !important}.toggle-active:hover{background-color:var(--brand-color-hover) !important;border-color:var(--brand-color-hover) !important}.animate-in{animation-duration:250ms;animation-timing-function:cubic-bezier(0.2,0.8,0.2,1);animation-fill-mode:forwards}.animate-out{animation-duration:200ms;animation-timing-function:cubic-bezier(0.8,0.2,0.8,0.2);animation-fill-mode:forwards}.fade-in{animation-name:fadeIn}.fade-out{animation-name:fadeOut}.slide-in-from-top-dropdown{animation-name:slideInFromTopDropdown}.slide-in-from-bottom-toast{animation-name:slideInFromBottomToast}.slide-out-to-bottom-toast{animation-name:slideOutToBottomToast}.rotate-180{transform:rotate(180deg)}.animate-spin{animation:spin 1s linear infinite}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes slideInFromTopDropdown{from{transform:translateY(-12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInFromBottomToast{from{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideOutToBottomToast{from{transform:translateY(0);opacity:1}to{transform:translateY(12px);opacity:0}}@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.print-hidden{@media print{display:none}}.dropdown-item-custom{transition:background-color .15s ease-out,transform .15s ease-out}.dropdown-item-custom:hover{background-color:#f9fafb}.icon-size-sm{width:1rem;height:1rem}.icon-size-md{width:1.25rem;height:1.25rem}.icon-size-lg{width:1.5rem;height:1.5rem}.width-10{width:2.5rem}.width-6{width:1.5rem}.height-10{height:2.5rem}.height-6{height:1.5rem}.min-w-12{min-width:3rem}.custom-backdrop-blur{backdrop-filter:blur(8px)}.divide-y-custom>*:not(:first-child){border-top:1px solid var(--bs-border-color)}.z-3{z-index:1055}.width-max-xs{max-width:20rem}.fs-7{font-size:.875em}.transition-colors-custom{transition:background-color .15s ease-in-out,border-color .15s ease-in-out}.download-section-pro{background-color:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:.75rem;padding:1.25rem;margin-bottom:1.5rem}.list-group-flush .list-group-item{background-color:transparent}.btn-action-group{display:flex;gap:.5rem}.btn-action-group .btn{flex-grow:1}.btn-copy{flex-grow:0 !important;flex-basis:auto !important;padding-left:.75rem;padding-right:.75rem}.last-choice-indicator{box-shadow:0 0 0 2px var(--brand-color-light),0 0 0 4px var(--brand-color);z-index:2}.btn .btn-text,.btn .btn-loader,.btn .btn-success{display:none}.btn.state-idle .btn-text{display:inline-block}.btn.state-loading{cursor:wait}.btn.state-loading .btn-loader{display:inline-block;animation:spin 1s linear infinite}.btn.state-success{background-color:var(--brand-color) !important;border-color:var(--brand-color) !important;color:white !important}.btn.state-success .btn-success{display:inline-block;animation:pop-in .3s cubic-bezier(0.25,0.25,0.25,1.5)}@keyframes pop-in{from{transform:scale(0.5);opacity:0}to{transform:scale(1);opacity:1}}.skeleton-container{position:absolute;top:0;left:0;width:100%;height:100%;padding:2rem;background-color:#f8fafc;z-index:10}.skeleton-title,.skeleton-content{background-color:#e2e8f0;border-radius:.5rem;position:relative;overflow:hidden}.skeleton-title::after,.skeleton-content::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,0.4),transparent);animation:shimmer 1.5s infinite}.skeleton-title{width:20%;height:2.5rem;margin:0 auto 2rem auto}.skeleton-content{width:100%;height:85%}@keyframes shimmer{100%{transform:translateX(100%)}}.map-control-btn.active{background-color:#2ba461;color:white;box-shadow:0 0 0 2px rgba(43,164,97,0.4)}.error-container{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;background-color:#f8fafc;z-index:9;padding:2rem}.error-card{text-align:center;background-color:#fff;padding:2.5rem;border-radius:1rem;border:1px solid var(--bs-border-color);box-shadow:0 4px 12px rgba(0,0,0,0.05);max-width:450px}.error-card-icon{font-size:3rem;color:var(--bs-danger);margin-bottom:1rem}.error-card-title{font-weight:700;color:var(--bs-body-color)}.error-card-text{color:var(--bs-secondary-color);margin-top:.5rem;margin-bottom:1.5rem}.error-card-actions{display:flex;justify-content:center;gap:1rem}.labels text{font-family:'IBM Plex Sans',sans-serif;font-size:12px;fill:#343a40;stroke:#f8f9fa;stroke-width:3px;stroke-linejoin:round;font-weight:600;paint-order:stroke fill}#node-code-offcanvas .offcanvas-body pre,#code-tooltip pre{white-space:pre-wrap;word-break:break-word}#node-code-offcanvas .offcanvas-body pre{margin:0}.code-tooltip{position:absolute;background:var(--bs-tertiary-bg);color:var(--bs-body-color);padding:1rem;border-radius:.75rem;font-family:'IBM Plex Sans',sans-serif;box-shadow:0 8px 32px rgba(0,0,0,0.15);border:1px solid var(--bs-border-color-translucent);max-width:450px;max-height:350px;overflow:auto;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.code-tooltip-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--bs-border-color)}.code-tooltip-title{font-weight:600;font-size:.9rem}.code-tooltip-actions{display:flex;gap:.5rem}.code-tooltip-btn{background:var(--bs-secondary-bg);color:var(--bs-body-color);border:1px solid var(--bs-border-color);border-radius:.375rem;padding:.25rem .6rem;font-size:.75rem;cursor:pointer;transition:background-color .2s}.code-tooltip-btn:hover{background:var(--bs-tertiary-bg);border-color:var(--bs-secondary-color)}.code-tooltip pre,.code-tooltip code{font-size:.8rem !important;line-height:1.5}
