@@ -165,6 +165,17 @@ body.dark-mode .stat-value {
165165 height : 350px ;
166166}
167167
168+ .chart-subtitle {
169+ font-size : 0.875rem ;
170+ color : # 718096 ;
171+ margin : -0.5rem 0 1rem 0 ;
172+ font-style : italic;
173+ }
174+
175+ body .dark-mode .chart-subtitle {
176+ color : # a0aec0 ;
177+ }
178+
168179@media (max-width : 768px ) {
169180 .chart-row {
170181 flex-direction : column;
@@ -432,3 +443,201 @@ body.dark-mode .threat-count {
432443 }
433444}
434445
446+ /* Player Class Heatmap */
447+ .heatmap-container {
448+ overflow-x : auto;
449+ margin : 1.5rem 0 ;
450+ }
451+
452+ .player-class-heatmap-table {
453+ border-collapse : collapse;
454+ font-size : 0.875rem ;
455+ width : 100% ;
456+ min-width : 800px ;
457+ }
458+
459+ .player-class-heatmap-table th ,
460+ .player-class-heatmap-table td {
461+ padding : 0.5rem ;
462+ text-align : center;
463+ border : 1px solid # e2e8f0 ;
464+ }
465+
466+ body .dark-mode .player-class-heatmap-table th ,
467+ body .dark-mode .player-class-heatmap-table td {
468+ border-color : # 4a5568 ;
469+ }
470+
471+ .player-class-heatmap-table thead th {
472+ background-color : # f7fafc ;
473+ font-weight : 600 ;
474+ position : sticky;
475+ top : 0 ;
476+ z-index : 10 ;
477+ }
478+
479+ body .dark-mode .player-class-heatmap-table thead th {
480+ background-color : # 2d3748 ;
481+ color : # e2e8f0 ;
482+ }
483+
484+ .player-class-heatmap-table .player-name {
485+ text-align : left;
486+ font-weight : 500 ;
487+ white-space : nowrap;
488+ background-color : # f7fafc ;
489+ position : sticky;
490+ left : 0 ;
491+ z-index : 5 ;
492+ }
493+
494+ body .dark-mode .player-class-heatmap-table .player-name {
495+ background-color : # 2d3748 ;
496+ color : # e2e8f0 ;
497+ }
498+
499+ .player-class-heatmap-table th .rotate {
500+ height : 120px ;
501+ white-space : nowrap;
502+ vertical-align : bottom;
503+ padding : 0 ;
504+ }
505+
506+ .player-class-heatmap-table th .rotate > div {
507+ transform : translate (0 , 0 ) rotate (-90deg );
508+ width : 30px ;
509+ height : 170% ;
510+ display : flex;
511+ align-items : center;
512+ justify-content : flex-start;
513+ padding-left : -50px ;
514+ }
515+
516+ .player-class-heatmap-table th .rotate > div > span {
517+ padding : 2px -25px ;
518+ }
519+
520+ .player-class-heatmap-table tbody td {
521+ font-weight : 500 ;
522+ transition : all 0.2s ;
523+ }
524+
525+ .player-class-heatmap-table tbody td : hover {
526+ transform : scale (1.1 );
527+ box-shadow : 0 0 8px rgba (0 , 0 , 0 , 0.2 );
528+ z-index : 10 ;
529+ position : relative;
530+ }
531+
532+ @media (max-width : 768px ) {
533+ .player-class-heatmap-table {
534+ font-size : 0.75rem ;
535+ min-width : 600px ;
536+ }
537+
538+ .player-class-heatmap-table th ,
539+ .player-class-heatmap-table td {
540+ padding : 0.3rem ;
541+ }
542+ }
543+
544+ /* Player Signature Profile */
545+ .dimension-legend {
546+ display : grid;
547+ grid-template-columns : repeat (auto-fit, minmax (280px , 1fr ));
548+ gap : 0.75rem ;
549+ margin : 1rem 0 2rem 0 ;
550+ padding : 1.25rem ;
551+ background : linear-gradient (135deg , rgba (102 , 126 , 234 , 0.05 ) 0% , rgba (118 , 75 , 162 , 0.05 ) 100% );
552+ border-radius : 8px ;
553+ border : 1px solid rgba (102 , 126 , 234 , 0.15 );
554+ }
555+
556+ .dimension-legend > div {
557+ font-size : 0.9rem ;
558+ line-height : 1.6 ;
559+ color : # 374151 ;
560+ }
561+
562+ .dimension-legend strong {
563+ color : # 667eea ;
564+ }
565+
566+ body .dark-mode .dimension-legend {
567+ background : linear-gradient (135deg , rgba (102 , 126 , 234 , 0.1 ) 0% , rgba (118 , 75 , 162 , 0.1 ) 100% );
568+ border-color : rgba (102 , 126 , 234 , 0.25 );
569+ }
570+
571+ body .dark-mode .dimension-legend > div {
572+ color : # e2e8f0 ;
573+ }
574+
575+ body .dark-mode .dimension-legend strong {
576+ color : # 8b9dff ;
577+ }
578+
579+ .signature-profiles-grid {
580+ display : grid;
581+ grid-template-columns : repeat (auto-fit, minmax (320px , 1fr ));
582+ gap : 2rem ;
583+ margin : 2rem 0 ;
584+ }
585+
586+ .signature-profile-card {
587+ background : white;
588+ border-radius : 12px ;
589+ padding : 1.5rem ;
590+ box-shadow : 0 4px 6px rgba (0 , 0 , 0 , 0.1 );
591+ border : 2px solid transparent;
592+ transition : all 0.3s ;
593+ }
594+
595+ .signature-profile-card : hover {
596+ transform : translateY (-4px );
597+ box-shadow : 0 8px 16px rgba (0 , 0 , 0 , 0.15 );
598+ }
599+
600+ .signature-profile-card h5 {
601+ margin : 0 0 1rem 0 ;
602+ font-size : 1.1rem ;
603+ font-weight : 700 ;
604+ text-align : center;
605+ padding-bottom : 0.75rem ;
606+ border-bottom : 2px solid # e2e8f0 ;
607+ }
608+
609+ .signature-profile-canvas {
610+ position : relative;
611+ height : 280px ;
612+ }
613+
614+ body .dark-mode .signature-profile-card {
615+ background : # 2d3748 ;
616+ border-color : # 4a5568 ;
617+ }
618+
619+ body .dark-mode .signature-profile-card h5 {
620+ color : # e2e8f0 ;
621+ border-bottom-color : # 4a5568 ;
622+ }
623+
624+ @media (max-width : 768px ) {
625+ .dimension-legend {
626+ grid-template-columns : 1fr ;
627+ gap : 0.5rem ;
628+ padding : 1rem ;
629+ }
630+
631+ .signature-profiles-grid {
632+ grid-template-columns : 1fr ;
633+ gap : 1.5rem ;
634+ }
635+
636+ .signature-profile-card {
637+ padding : 1rem ;
638+ }
639+
640+ .signature-profile-canvas {
641+ height : 240px ;
642+ }
643+ }
0 commit comments