@@ -651,12 +651,12 @@ body {
651651 display : flex;
652652 flex-direction : column;
653653 gap : var (--space-sm );
654- padding : var ( --space-md ) ;
655- background : rgba ( 255 , 255 , 255 , 0.05 ) ;
656- border-radius : var ( --radius-md ) ;
657- border : 1 px solid rgba ( 255 , 255 , 255 , 0.1 ) ;
658- backdrop-filter : blur ( 12 px ) ;
659- box-shadow : 0 4 px 16 px rgba ( 0 , 0 , 0 , 0.1 ) ;
654+ padding : 0 ;
655+ background : none ;
656+ border-radius : 0 ;
657+ border : none ;
658+ backdrop-filter : none ;
659+ box-shadow : none ;
660660}
661661
662662.stats-grid {
@@ -729,7 +729,7 @@ body {
729729}
730730
731731.stat-paragraph {
732- margin-bottom : var (--space-lg );
732+ margin-bottom : var (--space-sm );
733733}
734734
735735.stat-paragraph : last-child {
@@ -739,7 +739,7 @@ body {
739739.stat-paragraph p {
740740 margin : 0 ;
741741 color : var (--text-secondary );
742- font-size : 15 px ;
742+ font-size : 14 px ;
743743 line-height : 1.7 ;
744744 font-family : 'Helvetica Neue' , Helvetica, Arial, sans-serif;
745745 font-weight : 400 ;
@@ -776,17 +776,19 @@ body {
776776.legend-item {
777777 display : flex;
778778 align-items : center;
779- font-size : 13 px ;
779+ font-size : 12 px ;
780780 color : var (--text-primary );
781- padding : var (--space-xs ) 0 ;
782- background : none;
783- border : none;
781+ padding : var (--space-sm ) var (--space-md );
782+ background : rgba (255 , 255 , 255 , 0.03 );
783+ border : 1px solid rgba (255 , 255 , 255 , 0.06 );
784+ border-radius : var (--radius-sm );
784785 transition : all 0.2s cubic-bezier (0.4 , 0 , 0.2 , 1 );
785786 position : relative;
786787 overflow : hidden;
787788 font-family : 'Helvetica Neue' , Helvetica, Arial, sans-serif;
788789 font-weight : 500 ;
789- margin-bottom : var (--space-xs );
790+ margin-bottom : var (--space-sm );
791+ min-height : 36px ;
790792}
791793
792794.legend-item ::before {
@@ -802,8 +804,8 @@ body {
802804}
803805
804806.legend-item : hover {
805- background : rgba (255 , 255 , 255 , 0.06 );
806- border-color : rgba (255 , 255 , 255 , 0.12 );
807+ background : rgba (255 , 255 , 255 , 0.08 );
808+ border-color : rgba (255 , 255 , 255 , 0.15 );
807809 transform : translateY (-1px );
808810}
809811
@@ -1035,43 +1037,127 @@ body {
10351037}
10361038
10371039/* Custom Scale Bar - positioned under compass */
1038- .scale-bar {
1040+ /* Combined Map Legend Panel - positioned at bottom right, grows upward */
1041+ .map-legend-panel {
10391042 position : fixed;
1040- top : calc (100vh - 80px ); /* Position below compass */
1041- left : 50% ;
1042- transform : translateX (-50% );
1043+ bottom : 12px ;
1044+ right : var (--space-xl );
10431045 background : var (--glass-bg );
10441046 backdrop-filter : blur (24px ) saturate (180% );
10451047 -webkit-backdrop-filter : blur (24px ) saturate (180% );
10461048 border : 1px solid var (--glass-border );
1047- border-radius : 8px ;
1048- padding : 8px 12px ;
1049+ border-radius : var (--radius-xl );
10491050 box-shadow : var (--panel-shadow );
1050- font-size : 11px ;
1051+ width : 240px ; /* Made wider */
1052+ max-height : 70vh ;
1053+ overflow-y : auto;
1054+ z-index : 99 ;
1055+ font-family : 'Helvetica Neue' , Helvetica, Arial, sans-serif;
1056+ display : flex;
1057+ flex-direction : column;
1058+ }
1059+
1060+ .legend-layers-section {
1061+ padding : var (--space-md ) var (--space-sm );
1062+ }
1063+
1064+ .legend-scale-section {
1065+ display : flex;
1066+ justify-content : center;
1067+ align-items : center;
1068+ }
1069+
1070+ .legend-section-title {
1071+ font-size : 12px ;
1072+ color : var (--text-muted );
1073+ font-weight : 600 ;
1074+ text-transform : uppercase;
1075+ letter-spacing : 0.8px ;
1076+ margin-bottom : var (--space-md );
1077+ font-family : 'Helvetica Neue' , Helvetica, Arial, sans-serif;
1078+ }
1079+
1080+ .scale-bar {
1081+ background : none;
1082+ border : none;
1083+ border-radius : 0 ;
1084+ padding : 0 ;
1085+ box-shadow : none;
1086+ font-size : 12px ;
10511087 font-weight : 500 ;
10521088 font-family : 'Helvetica Neue' , Helvetica, Arial, sans-serif;
10531089 color : var (--text-primary );
10541090 text-align : center;
10551091 min-width : 80px ;
1056- z-index : 99 ;
1092+ z-index : auto;
1093+ position : relative;
1094+ top : auto;
1095+ left : auto;
1096+ transform : none;
10571097}
10581098
10591099.scale-line {
10601100 width : 100% ;
1061- height : 2 px ;
1101+ height : 2.5 px ;
10621102 background : var (--text-primary );
10631103 margin-bottom : 4px ;
10641104 border-radius : 1px ;
10651105}
10661106
10671107.scale-text {
1068- font-size : 10 px ;
1108+ font-size : 11 px ;
10691109 color : var (--text-secondary );
10701110 font-weight : 600 ;
10711111 font-family : 'Helvetica Neue' , Helvetica, Arial, sans-serif;
10721112 letter-spacing : 0.3px ;
10731113}
10741114
1115+ /* Legend Controls Section */
1116+ .legend-controls-section {
1117+ padding : var (--space-md ) var (--space-lg );
1118+ display : flex;
1119+ justify-content : center;
1120+ align-items : center;
1121+ }
1122+
1123+ .legend-controls {
1124+ display : flex;
1125+ gap : var (--space-sm );
1126+ align-items : center;
1127+ }
1128+
1129+ .legend-control-btn {
1130+ width : 32px ;
1131+ height : 32px ;
1132+ border-radius : 8px ;
1133+ border : 1px solid var (--glass-border );
1134+ background : var (--glass-bg );
1135+ backdrop-filter : blur (20px ) saturate (180% );
1136+ -webkit-backdrop-filter : blur (20px ) saturate (180% );
1137+ color : var (--text-primary );
1138+ font-size : 16px ;
1139+ font-weight : 600 ;
1140+ cursor : pointer;
1141+ transition : all 0.2s ease;
1142+ display : flex;
1143+ align-items : center;
1144+ justify-content : center;
1145+ user-select : none;
1146+ box-shadow : 0 2px 8px rgba (0 , 0 , 0 , 0.1 );
1147+ }
1148+
1149+ .legend-control-btn : hover {
1150+ background : rgba (255 , 255 , 255 , 0.25 );
1151+ border-color : var (--accent-blue );
1152+ transform : translateY (-1px );
1153+ box-shadow : 0 4px 12px rgba (0 , 0 , 0 , 0.15 );
1154+ }
1155+
1156+ .legend-control-btn : active {
1157+ transform : translateY (0 );
1158+ box-shadow : 0 2px 4px rgba (0 , 0 , 0 , 0.1 );
1159+ }
1160+
10751161/* Disabled state for controls */
10761162.control-group .disabled {
10771163 opacity : 0.4 ;
@@ -1424,13 +1510,38 @@ body {
14241510 top : 84px !important ; /* 60px mobile banner + 24px spacing */
14251511 }
14261512
1427- /* Mobile scale bar positioning */
1428- .scale-bar {
1429- top : calc (100vh - 70px ); /* Adjust for mobile */
1430- padding : 6px 10px ;
1431- font-size : 10px ;
1432- font-family : 'Helvetica Neue' , Helvetica, Arial, sans-serif;
1433- min-width : 70px ;
1513+ /* Mobile legend panel positioning */
1514+ .map-legend-panel {
1515+ bottom : var (--space-md );
1516+ right : var (--space-lg );
1517+ width : 160px ; /* Even skinnier on mobile */
1518+ max-height : 60vh ;
1519+ }
1520+
1521+ .legend-layers-section {
1522+ padding : var (--space-sm ) var (--space-md );
1523+ }
1524+
1525+ .legend-scale-section {
1526+ padding : var (--space-xs ) var (--space-md );
1527+ }
1528+
1529+ .legend-section-title {
1530+ font-size : 11px ;
1531+ }
1532+
1533+ .legend-item {
1534+ font-size : 11px ;
1535+ }
1536+
1537+ .legend-controls-section {
1538+ padding : var (--space-xs ) var (--space-md );
1539+ }
1540+
1541+ .legend-control-btn {
1542+ width : 28px ;
1543+ height : 28px ;
1544+ font-size : 14px ;
14341545 }
14351546
14361547 .scale-text {
0 commit comments