/* General Body and Container Styles */body {    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;	background-image: url('whatsapp_background.png'); /* <<< ADDED BACK */	background-repeat: repeat;	background-attachment: fixed;	background-color: #f0f2f5;    margin: 0;    padding: 20px;    display: flex;    justify-content: center;    align-items: flex-start;    min-height: 100vh;    color: #333;}.container {    background-color: #fff;    padding: 30px;    border-radius: 8px;    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);    text-align: center;    max-width: 950px;    width: 100%;    display: none;    box-sizing: border-box;}.container.active { display: block; }/* Headings and Text */h1 { color: #1c1e21; margin-bottom: 10px; }p { color: #555; margin-bottom: 15px; line-height: 1.5; } /* Default paragraph spacing *//* Buttons and Input */.upload-button { display: inline-block; padding: 12px 25px; background-color: #007bff; color: white; border: none; border-radius: 6px; cursor: pointer; font-size: 16px; transition: background-color 0.3s ease; }.upload-button:hover { background-color: #0056b3; }.back-button { display: block; margin: 0 auto 25px auto; padding: 10px 20px; background-color: #e9ecef; color: #343a40; border: 1px solid #ced4da; border-radius: 6px; cursor: pointer; font-size: 14px; transition: background-color 0.3s ease; }.back-button:hover { background-color: #dee2e6; }/* Error and Loading Messages */.error { color: #dc3545; font-weight: bold; margin-top: 15px; }#loading-message { margin-top: 15px; color: #6c757d; }/* Results Section Specifics */#results-section h2 { color: #212529; margin-bottom: 20px; text-align: center; }/* Stats Containers Styling */.stats-container { background-color: #f8f9fa; border: 1px solid #dee2e6; border-radius: 6px; padding: 15px 20px; margin-bottom: 10px; text-align: left; }.stats-container h3, .stats-container h4 { margin-top: 0; margin-bottom: 15px; color: #343a40; border-bottom: 1px solid #dee2e6; padding-bottom: 8px; font-size: 1.1em; font-weight: 600; }.stats-container p { margin-bottom: 8px; font-size: 0.95em; color: #495057; } /* Default spacing for overall group stats */.stats-container p strong { color: #212529; min-width: 180px; display: inline-block; font-weight: 600; }.stats-divider { border: none; border-top: 1px solid #dee2e6; margin: 25px 0; }/* Specific spacing for Peak/HOF lists */#group-stats-content ol { margin: 0; padding-left: 20px; list-style-position: inside; }#group-stats-content li { margin-bottom: 4px; font-size: 0.95em; }/* --- Year Navigation --- */.year-nav {    text-align: center;    margin-bottom: 20px;    position: sticky;    top: 0;    background-color: #fff;    padding-top: 10px;    padding-bottom: 10px;    z-index: 10;}.year-nav-button { padding: 5px 12px; font-size: 0.9em; background-color: #f8f9fa; border: 1px solid #ced4da; border-radius: 4px; cursor: pointer; margin: 0 10px; transition: background-color 0.2s ease; color: #495057; }.year-nav-button:hover:not(:disabled) { background-color: #e9ecef; }.year-nav-button:disabled { opacity: 0.5; cursor: not-allowed; }.year-nav-display { font-weight: bold; font-size: 1.1em; color: #343a40; display: inline-block; min-width: 120px; text-align: center; }/* --- User Graph Area --- */.user-graph { margin-bottom: 30px; padding-bottom: 20px; border-bottom: 1px dashed #ced4da; }.user-graph:last-child { border-bottom: none; }.user-title { font-size: 1.15em; color: #343a40; margin-bottom: 15px; text-align: left; font-weight: 600; }.user-title .contribution-count { font-weight: normal; color: #6c757d; font-size: 0.9em; }.user-title .display-name { }.toggle-anonymize-icon { font-size: 0.9em; margin-left: 5px; display: inline-block; vertical-align: middle; opacity: 0.6; transition: opacity 0.2s ease; user-select: none; }.toggle-anonymize-icon:hover { opacity: 1; }/* --- Heatmap Container (Unchanged) --- */.heatmap-container { display: flex; flex-direction: column; align-items: center; margin-bottom: 20px; }.heatmap-months { display: flex; margin-bottom: 3px; padding-left: 25px; padding-right: 5px; font-size: 11px; color: #6c757d; width: 100%; max-width: 850px; box-sizing: border-box; justify-content: space-between; margin: 0 auto 3px auto; }.heatmap-month { text-align: center; white-space: nowrap; visibility: hidden; }.heatmap-month.visible { visibility: visible; }.heatmap-body { display: flex; width: 100%; max-width: 850px; margin: 0 auto; box-sizing: border-box; }.heatmap-days-labels { display: flex; flex-direction: column; justify-content: space-between; margin-right: 5px; padding: 10px 0; font-size: 10px; color: #6c757d; flex-shrink: 0; height: 125px; box-sizing: border-box; text-align: right;}.heatmap-days-labels span { display: block; visibility: hidden; line-height: 15px; height: 15px; }.heatmap-days-labels span:nth-child(2), .heatmap-days-labels span:nth-child(4), .heatmap-days-labels span:nth-child(6) { visibility: visible;}.heatmap-grid { display: grid; grid-template-columns: repeat(53, 13px); grid-template-rows: repeat(7, 13px); grid-auto-flow: column; grid-gap: 2px; height: 125px; overflow: hidden; border: 1px solid #dee2e6; padding: 10px; border-radius: 3px; flex-grow: 1; box-sizing: border-box; }.heatmap-cell { width: 13px; height: 13px; background-color: #e9ecef; border-radius: 2px; cursor: default; }.heatmap-cell.level-0 { background-color: #e9ecef; }.heatmap-cell.level-1 { background-color: #9be9a8; }.heatmap-cell.level-2 { background-color: #40c463; }.heatmap-cell.level-3 { background-color: #30a14e; }.heatmap-cell.level-4 { background-color: #216e39; }.heatmap-cell.placeholder { background-color: transparent; border: none; pointer-events: none; }.heatmap-cell[title]:hover::after { content: attr(title); position: absolute; transform: translate(-50%, -110%); background-color: rgba(0, 0, 0, 0.85); color: white; padding: 4px 8px; border-radius: 4px; font-size: 12px; white-space: nowrap; z-index: 10; pointer-events: none; }/* --- End Heatmap --- *//* Individual User Stats Area */.user-stats {    margin-top: 15px;    font-size: 0.9em;    padding: 0 20px 10px 20px; /* Remove top padding, keep others */}/* <<< MODIFIED: Apply tighter spacing to ALL user stats paragraphs >>> */.user-stats p {    margin-bottom: 6px; /* Tighter spacing */    line-height: 1.3;}.user-stats p strong {    font-weight: 600;    color: #212529;    min-width: 150px;    display: inline-block;}.user-stats-overall {    border-top: 2px solid #adb5bd;    margin-top: 20px;    padding-top: 15px;    background-color: #f1f3f5;    border-radius: 0 0 6px 6px;}.user-stats-overall h4 { /* Target overall stats heading */    margin-top: 0;    margin-bottom: 10px;    padding-bottom: 5px;    border-bottom: 1px solid #dee2e6;    font-size: 1.1em; /* Match other h4 */    font-weight: 600;}/* <<< ADDED: Styles for Collapsible Sections >>> */.collapsible-trigger {    cursor: pointer;    display: block; /* Make whole heading clickable */    position: relative; /* For caret positioning */}.collapsible-caret {    display: inline-block;    margin-right: 8px;    transition: transform 0.2s ease-in-out;    font-size: 0.8em; /* Smaller caret */}/* Style for when content is collapsed (can be added by JS) */.collapsed .collapsible-caret {    transform: rotate(-90deg);}.collapsed .collapsible-body {    display: none;}.collapsible-body {    padding-top: 10px; /* Space between heading and content */}