﻿










.axis path,
.axis line {
    fill: none;
    stroke: #000;
    shape-rendering: crispEdges;
}

.x.axis path {
    display: none;
}

/* Keyframe animations for hover effects - always complete fully */
@keyframes hoverGlowIn {
    from { filter: none; }
    to { filter: drop-shadow(0 0 var(--glow-size-medium) var(--color-hover-primary)) 
               drop-shadow(0 0 var(--glow-size-large) var(--color-hover-secondary)); }
}

@keyframes hoverGlowOut {
    from { filter: drop-shadow(0 0 var(--glow-size-medium) var(--color-hover-primary)) 
               drop-shadow(0 0 var(--glow-size-large) var(--color-hover-secondary)); }
    to { filter: none; }
}

/* Hover animation trigger class - uses animations that complete fully */
/* DISABLED in interactions-disabled mode (discrete values) */
body:not(.interactions-disabled) path.interfaceLine.hover-anim {
    animation: hoverGlowIn 0.2s ease-in-out forwards;
}

/* Specific fade-out class - only applies to lines that are explicitly fading out */
body:not(.interactions-disabled) path.interfaceLine.hover-anim-out {
    animation: hoverGlowOut 0.3s ease-in-out forwards;
}

/* Base interfaceLine - no transition needed, animations handle it */
path.interfaceLine {
    filter: none;
}

/* Multi-selection styles with faster fade in */
path.interfaceLine.multi-selected-line {
    opacity: 1 !important;
    filter: drop-shadow(0 0 var(--glow-size-medium) var(--color-selection-primary)) 
           drop-shadow(0 0 var(--glow-size-large) var(--color-selection-secondary)) !important;
    transition: filter 0.2s ease-in-out, opacity 0.2s ease-in-out;
}

path.interfaceLine.linearLine.multi-selected-line {
    opacity: 1 !important;
    filter: drop-shadow(0 0 var(--glow-size-small) var(--color-selection-primary)) 
           drop-shadow(0 0 5px var(--color-selection-secondary)) !important;
    transition: filter 0.2s ease-in-out, opacity 0.2s ease-in-out;
}

/* Base polygon transition for smooth fade out */
polygon[typeOfPolygon="main"],
polygon[typeOfPolygon="internal"] {
    fill: white;
    fill-opacity: 1; /* Fully opaque white to prevent color bleeding from polygons beneath */
    transition: fill 0.3s ease-in-out, fill-opacity 0.3s ease-in-out, stroke 0.3s ease-in-out, stroke-width 0.3s ease-in-out;
}

/* Hover state - MUST override heat map inline styles with !important */
/* DISABLED in tooltip-only modes (TB heatmap, U-value heatmap) and interactions-disabled mode (discrete values) */
body:not(.tooltips-only-mode):not(.interactions-disabled) polygon[typeOfPolygon="main"].polygon-hover,
body:not(.tooltips-only-mode):not(.interactions-disabled) polygon[typeOfPolygon="internal"].polygon-hover {
    fill: var(--color-hover-primary) !important; /* Blue fill - fully opaque */
    fill-opacity: 1.0 !important;
    stroke: var(--color-hover-secondary) !important;
    stroke-width: 1px !important; /* Matches thermal bridge line thickness */
    transition: fill 0.15s ease-in-out, fill-opacity 0.15s ease-in-out, stroke 0.15s ease-in-out, stroke-width 0.15s ease-in-out;
}

/* Multi-selected polygons with faster fade in - MUST override heat map */
polygon.multi-selected {
    fill: var(--color-selection-primary) !important; /* Green fill - fully opaque */
    fill-opacity: 1.0 !important;
    stroke: var(--color-selection-secondary) !important;
    stroke-width: 1px !important; /* Matches thermal bridge line thickness */
    transition: fill 0.2s ease-in-out, fill-opacity 0.2s ease-in-out, stroke 0.2s ease-in-out, stroke-width 0.2s ease-in-out;
}









