.dash-share-modal {position: fixed;inset: 0;z-index: 2300;display: none;align-items: center;justify-content: center;padding: 16px;box-sizing: border-box;overflow: hidden;}
.dash-share-modal.is-open {display: flex;pointer-events: auto;}
.dash-share-modal .stats-modal-backdrop {position: absolute;inset: 0;background: rgba(16,22,32,0.82);z-index: 1;}
.dash-share-modal .stats-modal-dialog {position: relative;z-index: 2;width: min(100%, 420px);background: #232a36;border-radius: 14px;box-shadow: 0 8px 32px rgba(0,0,0,0.45);margin: 0 auto;padding: 0;display: flex;flex-direction: column;box-sizing: border-box;}
.dash-share-body {width: 100%;padding: 14px 18px 14px 18px;display: flex;flex-direction: column;gap: 14px;max-height: none !important;overflow: visible !important;}
.dash-share-modal .stats-modal-body {max-height: none !important;overflow: visible !important;}
.dash-share-section-title {font-size: 10px;font-weight: 700;text-transform: uppercase;letter-spacing: 0.1em;margin: 0 0 8px 8px;color: #8ea5be;}
.dash-share-primary {width: 100%;}
.dash-share-native {display: flex;align-items: center;justify-content: center;width: 100%;padding: 14px 18px;border-radius: 10px;border: 1px solid #2f3740;background: #1f2937;color: #f9f9fb;font-weight: 700;gap: 10px;cursor: pointer;}
.dash-share-native:hover {background: #283240;}
.dash-share-section {width: 100%;}
.dash-share-section-title {font-size: 12px;font-weight: 700;text-transform: uppercase;letter-spacing: 0.12em;margin: 0 0 10px 8px;color: #8ea5be;}
.dash-share-grid {display: grid;grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));gap: 10px;min-width: 0;}
.dash-share-link,
.dash-share-copy {display: flex;align-items: center;gap: 8px;width: 100%;padding: 12px 14px;border-radius: 10px;border: 1px solid #2f3740;background: #171f29;color: #e4edf5 !important;text-decoration: none;justify-content: flex-start;font-weight: 600;min-width: 0;}
@media (min-width: 900px) {.dash-share-grid {display: flex;flex-wrap: wrap;align-items: center;gap: 10px;}
.dash-share-link,
.dash-share-copy {flex: 0 1 auto;min-width: 140px;}}

.dash-share-copy {cursor: pointer;margin-bottom: 16px;}
.dash-share-link:hover,
.dash-share-copy:hover,
.dash-share-native:hover {background: #212c39;color: #f9b847 !important;}
@media (max-width: 520px) {.dash-share-modal .stats-modal-dialog {max-width: 98vw;border-radius: 12px;}
.dash-share-body {padding: 12px;gap: 12px;}
.dash-share-native,
.dash-share-link,
.dash-share-copy {padding: 12px 14px;}}

@media (min-width: 900px) {.dash-share-modal {padding: 18px;}
.dash-share-grid {display: flex;flex-wrap: wrap;align-items: center;justify-content: flex-start;gap: 10px;}
.dash-share-link,
.dash-share-copy {flex: 0 1 140px;min-width: 0;}}

.dash-share-icon {display: inline-flex;align-items: center;justify-content: center;margin-right: 8px;width: 18px;height: 18px;min-width: 18px;}
.dash-share-link .dash-share-icon,
.dash-share-copy .dash-share-icon {margin-right: 8px;margin-left: 0;}
.dash-share-icon svg {width: 100%;height: 100%;display: block;}
.dash-share-icon-x svg path {stroke-linecap: round;}
.dash-share-modal .stats-modal-header {background: #181f29;border-bottom: 1px solid #2f3740;}
.dash-share-modal .stats-modal-body {padding: 0;}
.dash-share-modal .dash-share-link,
.dash-share-modal .dash-share-copy {display: flex;align-items: center;gap: 8px;font-size: 15px;padding: 12px 14px;border-radius: 10px;border: 1px solid #2f3740;background: #171f29;color: #e4edf5 !important;text-decoration: none;justify-content: flex-start;transition: background 0.15s, color 0.15s;}
.dash-share-modal .dash-share-link:hover,
.dash-share-modal .dash-share-copy:hover {background: #232a36;color: #f9a11b !important;}
.dash-share-modal .dash-share-copy {margin-bottom: 16px;}
:root {--bg-deep: #14181d;--bg-elevated: #1b232c;--bg-elevated-2: #222c36;--surface-graphite: #202a34;--surface-graphite-2: #2a3642;--surface-hover: #2d3945;--border-graphite: #384654;--text-main: #e7edf3;--text-muted: #9cafbf;--text-soft: #c8d3dd;--accent-amber: #d89a2b;--accent-amber-soft: #efbf67;--accent-amber-strong: #f0b64f;--badge-allies-bg: rgba(90, 139, 191, 0.18);--badge-allies-text: #88b6e6;--badge-axis-bg: rgba(170, 86, 86, 0.18);--badge-axis-text: #d9a0a0;--badge-draw-bg: rgba(128, 135, 144, 0.22);--badge-draw-text: #c1c8cf;--badge-aborted-bg: rgba(216, 154, 43, 0.2);--badge-aborted-text: #efbf67;}
html, body {background-color: var(--bg-deep);color: var(--text-main);font-size: 13px;font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;line-height: 1.5;margin: 0px;}
body > table,
#top_header_table,
#top_menu_layout {width: 100%;max-width: 100%;}
*, *::before, *::after {box-sizing: border-box;}
table {border-collapse: collapse;}
a {text-decoration: none;color: var(--accent-amber);transition: color 0.15s ease;}
a:hover {color: var(--accent-amber-soft);}
form {padding: 0px;margin: 0px;}
img {border: 0px;margin: 0px;}
h3 {margin: 0px;padding: 0px;font-size: 18px;font-weight: bold;}
h2 {margin: 0px;margin-top: 2px;padding: 0px;font-size: 20px;font-weight: bold;}
input, select {background-color: var(--bg-elevated);color: var(--text-main);font-size: 13px;font-family: inherit;border: 1px solid var(--border-graphite);height: 28px;margin: 1px;padding: 4px 8px;border-radius: 4px;transition: border-color 0.15s ease;}
input:focus, select:focus {border-color: var(--accent-amber);box-shadow: 0 0 0 3px rgba(216, 154, 43, 0.12);outline: none;}
input::placeholder {color: var(--text-muted);}
select {height: 30px;}
button {background-color: var(--bg-elevated);color: var(--accent-amber);border: 1px solid var(--border-graphite);cursor: pointer;font-weight: bold;font-size: 13px;font-family: inherit;height: 28px;margin: 1px;vertical-align: middle;padding: 4px 12px;border-radius: 4px;transition: background-color 0.15s ease, border-color 0.15s ease;}
button:hover {background-color: var(--surface-hover);border-color: var(--accent-amber);}
#header {min-height: 130px;text-align: right;padding: 0px;padding-right: 5px;margin: 0px;vertical-align: middle;font-size: 14px;display: flex;flex-direction: column;justify-content: center;align-items: flex-end;line-height: 1.15;}
#header b {display: block;margin: 0;}
#header br {display: none;}
#top_header_row,
#top_menu_layout tr {display: flex;align-items: center;justify-content: space-between;flex-wrap: wrap;gap: 10px;width: 100%;}
#logo_cell,
#header,
#top_menu_nav_cell,
#top_menu_actions_cell {min-width: 0;}
#logo_cell {flex: 0 0 auto;}
#logo_cell img {display: block;max-width: 100%;height: auto;}
#header {flex: 1 1 320px;overflow-wrap: anywhere;}
#top_menu {background-image: none;background-color: #171d24;height: auto;background-repeat: no-repeat;vertical-align: middle;padding: 6px 10px;}
#top_menu_nav_cell {flex: 1 1 520px;}
#top_menu_actions_cell {flex: 0 1 auto;}
#top_menu_nav {list-style-image: none;list-style-position: outside;list-style-type: none;margin: 0px;padding: 0px;display: flex;align-items: center;flex-wrap: wrap;gap: 6px;}
#top_menu_nav li {border-right: none;font-weight: bold;float: none;}
#top_menu_nav a {color: var(--text-main);margin-left: 0px;margin-right: 0px;display: inline-flex;align-items: center;justify-content: center;min-height: 30px;padding: 6px 14px;border-radius: 16px;border: 1px solid var(--border-graphite);background-color: rgba(27, 35, 44, 0.82);box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);font-size: 13px;letter-spacing: 0.2px;white-space: nowrap;transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;}
#top_menu_nav a:hover {color: var(--accent-amber-soft);background-color: rgba(36, 49, 61, 0.95);border-color: var(--accent-amber);transform: translateY(-1px);}
#top_menu_actions {display: inline-flex;align-items: center;justify-content: flex-end;flex-wrap: wrap;gap: 6px;max-width: 100%;}
#search_form {display: inline-flex;align-items: center;justify-content: flex-end;flex-wrap: wrap;gap: 6px;max-width: 100%;}
.theme-toggle {position: fixed;left: 24px;bottom: 24px;height: 40px;min-width: 78px;border-radius: 20px;margin-right: 0;padding: 0 14px;z-index: 1000;display: inline-flex;align-items: center;justify-content: center;visibility: visible;opacity: 1;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);}
.theme-toggle:hover {transform: translateY(-1px);}
@media (max-width: 600px) {.theme-toggle {left: 12px;bottom: 12px;min-width: 70px;height: 36px;border-radius: 18px;font-size: 12px;}
#top_menu {padding: 6px;}
#top_menu_nav {gap: 4px;}
#top_menu_nav a {min-height: 28px;padding: 5px 10px;font-size: 12px;}
#top_menu_actions {width: 100%;justify-content: flex-start;margin-top: 6px;}
#search_form input[type="text"] {width: 180px;}}

#search_form button {margin: 0;}
#search_form input {background-image: url(./css/backgrounds/search.gif);background-position: 5px center;background-repeat: no-repeat;padding-left: 20px;width: 230px;max-width: 100%;min-width: 0;margin: 0;}
#main_contents {background-color: #181818;color: #e0e0e0;margin: 0px;padding: 0px;width: 100%;}
#contents_header {font-size: 16px;font-weight: bold;padding: 8px 10px;margin: 0px;}
.contents_tbl {background-color: #181818;margin: 0px;width: 100%;}
.contents_tbl td {border: solid 1px #3a3a3a;margin: 0px;padding: 6px 10px;text-align: left;vertical-align: top;}
.server_status_player_list td {padding-left: 10px;padding-right: 10px;}
.server-status-page {position: relative;padding: 16px;}
#loading_icon {display: none;position: fixed;inset: 0;z-index: 2000;background: rgba(0, 0, 0, 0.55);display: flex;align-items: center;justify-content: center;}
#loading_icon .skeleton-loader {background: rgba(20, 20, 20, 0.92);border-radius: 16px;padding: 18px;box-shadow: 0 0 0 1px rgba(232, 144, 48, 0.12);}
.server-status-summary {display: grid;grid-template-columns: minmax(220px, 300px) 1fr;gap: 18px;align-items: stretch;max-width: 1180px;margin: 0 auto;}
.server-status-map-card,
.server-status-info-card,
.server-status-team-card,
.server-status-offline-card {background-color: #181818;border: 1px solid #2f2f2f;border-radius: 12px;box-shadow: 0 4px 18px rgba(0,0,0,0.12);}
.server-status-map-card {padding: 16px;text-align: center;display: flex;flex-direction: column;align-items: center;}
.server-status-map-image {position: static !important;width: 100%;max-width: 100%;height: auto;border-radius: 10px;border: 1px solid #333;margin-top: 12px;}
.server-status-map-name {font-size: 14px;font-weight: 700;color: #e0e0e0;width: 100%;text-align: center;}
.server-status-info-card {padding: 16px 18px;display: flex;flex-direction: column;justify-content: flex-start;gap: 16px;min-height: 100%;}
.server-status-title-group {display: flex;flex-direction: column;gap: 8px;}
.server-status-title-row {display: flex;align-items: center;gap: 12px;flex-wrap: wrap;}
.server-status-badge {display: inline-flex;align-items: center;justify-content: center;padding: 4px 10px;border-radius: 999px;font-size: 11px;font-weight: 700;background: #2e2e2e;color: #e89030;}
.server-status-badge.online {background: #22331e;color: #8fd48d;}
.server-status-badge.offline {background: #3a1f1f;color: #f28c8c;}
.server-status-title-group h3 {margin: 0;font-size: 22px;}
.server-status-server-link {color: #e89030;font-weight: 700;word-break: break-all;}
.server-status-meta {display: grid;gap: 10px;margin-top: 14px;}
.server-status-field {display: grid;grid-template-columns: minmax(90px, 140px) 1fr;gap: 10px;align-items: center;color: #c4c4c4;}
.server-status-field .label {color: #8f8f8f;font-size: 12px;text-transform: none;letter-spacing: 0.04em;}
.server-status-actions {margin-top: 18px;}
.refresh-server-status-button {display: inline-flex;align-items: center;justify-content: center;gap: 6px;padding: 10px 18px;border-radius: 999px;border: 1px solid transparent;background-color: #e89030;color: #111;font-weight: 700;cursor: pointer;}
.refresh-server-status-button:hover {background-color: #f7a64d;}
.server-status-players {margin-top: 26px;max-width: 1180px;margin-left: auto;margin-right: auto;}
.server-status-player-grid {display: grid;grid-template-columns: repeat(2, minmax(360px, 1fr));gap: 16px;}
.server-status-team-card {overflow: hidden;}
.team-title {padding: 12px 14px;background-color: #121212;border-bottom: 1px solid #2f2f2f;font-size: 13px;font-weight: 700;text-transform: uppercase;letter-spacing: 0.04em;}
.server-status-player-table {width: 100%;}
.server-status-player-table td:nth-child(1) {width: 32px;}
.server-status-player-table td:nth-child(2) {width: auto;}
.server-status-player-table td:nth-child(3) {width: 56px;}
.server-status-player-table td:nth-child(4) {width: 48px;}
.server-status-player-table td:nth-child(5) {width: 100px;}
.table-responsive {overflow-x: auto;}
.server-status-offline-card {max-width: 560px;margin: 18px auto 0;padding: 24px;text-align: center;}
.server-status-offline-card h3 {margin-top: 0;}
@media (max-width: 900px) {.server-status-summary,
.server-status-player-grid {grid-template-columns: 1fr;}}

@media (max-width: 600px) {.server-status-page {padding: 12px;}
.server-status-info-card,
.server-status-map-card,
.server-status-team-card,
.server-status-offline-card {border-radius: 10px;}}

.tbl_hrow_1 {background-color: #252525;cursor: default;transition: background-color 0.15s ease;}
.tbl_hrow_2 {background-color: #2d2d2d;cursor: default;transition: background-color 0.15s ease;}
.tbl_hrow_h {background-color: #333330;}
.table-responsive {overflow-x: auto;}
@media (max-width: 900px) {#top_header_table,
#top_header_table tbody,
#top_header_row,
#top_menu_layout,
#top_menu_layout tbody,
#top_menu_layout tr {display: block;width: 100%;}
#logo_cell,
#header,
#top_menu_nav_cell,
#top_menu_actions_cell {display: block;width: 100%;text-align: left !important;}
#logo_cell {text-align: center !important;padding: 6px 0;}
#header {text-align: center !important;}
#top_menu_nav_cell {margin-bottom: 6px;}
#top_menu_nav {justify-content: flex-start;}
#top_menu_actions,
#search_form {justify-content: flex-start;}
#main_contents {display: block;max-width: 100%;overflow-x: auto;}
.contents_tbl {min-width: 0;width: 100%;}
#top_menu_nav li {font-size: 12px;}
#top_menu_nav a {padding: 0 8px;}
#top_menu_actions {justify-content: flex-start;}
#search_form input[type="text"] {width: 220px;}
#header {font-size: 12px;height: auto;padding: 8px 5px;}}

@media (max-width: 1100px) {table[style*="width:480px"],
table[style*="width: 480px"] {width: 100% !important;max-width: 100% !important;}}

@media (max-width: 600px) {html, body {font-size: 12px;}
#top_menu {height: auto;}
#top_menu_nav li {float: none;border-right: none;border-bottom: none;}
#search_form {width: 100%;margin-top: 4px;}
#search_form input[type="text"] {width: calc(100% - 90px);min-width: 140px;}
.contents_tbl td {padding: 4px 6px;}}

.mod_image {position: absolute;top: 0px;left: 0px;background-color: #404040;border: solid 1px #ffffff;}
.mod_image_non_static {background-color: #404040;border: solid 1px #ffffff;margin: 4px;}
.map_image {position: absolute;top: 0px;left: 0px;background-color: #404040;border: solid 1px #ffffff;width: 240px;height: 180px;}
.player_image {background-color: #404040;border: solid 1px #ffffff;}
.tbl_hrow_name {background-color: #6D6A62;cursor: default;}
tr.team-section-axis td {background: rgba(170, 86, 86, 0.22) !important;border-left: 3px solid rgba(200, 80, 80, 0.65);color: var(--badge-axis-text);font-weight: bold;}
tr.team-section-allies td {background: rgba(90, 139, 191, 0.22) !important;border-left: 3px solid rgba(80, 130, 200, 0.65);color: var(--badge-allies-text);font-weight: bold;}
tr.tbl_hrow_name.team-axis {border-left: 5px solid #c85050;}
tr.tbl_hrow_name.team-allies {border-left: 5px solid #4e8ed0;}
body.light-theme tr.team-section-axis td {background: rgba(210, 75, 62, 0.11) !important;border-left-color: rgba(184, 79, 66, 0.55);color: #b84f42;}
body.light-theme tr.team-section-allies td {background: rgba(54, 132, 214, 0.11) !important;border-left-color: rgba(31, 103, 177, 0.55);color: #1f67b1;}
body.light-theme tr.tbl_hrow_name.team-axis {border-left-color: #b84f42;}
body.light-theme tr.tbl_hrow_name.team-allies {border-left-color: #1f67b1;}
.award-badge {display: inline-block;font-size: 13px;line-height: 1;vertical-align: middle;margin-left: 4px;cursor: default;-webkit-user-select: none;user-select: none;}
.kd-gold  { color: var(--accent-amber-soft); font-weight: bold; }
.kd-green { color: #66bb6a; font-weight: bold; }
.kd-red   { color: #ef5350; }
.kd-muted { color: #555; }
body.light-theme .kd-gold  { color: #b86800; }
body.light-theme .kd-green { color: #2a7a2a; }
body.light-theme .kd-red   { color: #c0392b; }
body.light-theme .kd-muted { color: #aaa; }
.footer {width: 100%;text-align: center;font-size: 10px;padding: 0px;padding-top: 20px;padding-bottom: 20px;}
.footer-quick-links {display: flex;flex-wrap: wrap;justify-content: center;gap: 8px;margin: 0 auto 12px;max-width: 980px;}
.footer-quick-links a {display: inline-flex;align-items: center;justify-content: center;min-height: 30px;padding: 0 12px;border-radius: 999px;background: rgba(216, 154, 43, 0.1);border: 1px solid rgba(216, 154, 43, 0.24);color: var(--accent-amber-soft);text-decoration: none;font-size: 11px;font-weight: bold;}
.footer-quick-links a:hover {background: rgba(216, 154, 43, 0.18);border-color: rgba(216, 154, 43, 0.38);color: #fff2cf;}
.playername_span {font-size: 15px;font-weight: bold;}
.contents_tbl thead th,
.contents_tbl tr.tbl_header td {position: sticky;top: 0;background-color: #1a1a1a;z-index: 10;border-bottom: 2px solid #e89030;padding: 8px 10px;font-weight: bold;text-align: center;white-space: nowrap;}
.sort-arrows {display: inline-flex;flex-direction: column;vertical-align: middle;margin-left: 4px;gap: 1px;}
.sort-arrows a {display: block;line-height: 1;font-size: 0;}
.sort-arrows a::after {display: inline-block;font-size: 9px;color: #666;transition: color 0.15s ease;}
.sort-arrows a:first-child::after {content: '\25B2';}
.sort-arrows a:last-child::after {content: '\25BC';}
.sort-arrows a:hover::after {color: #ffaa44;}
.sort-arrows a.sort-active::after {color: #e89030;}
.rating-positive {color: #66bb6a;font-weight: bold;}
.rating-negative {color: #ef5350;font-weight: bold;}
.rating-zero {color: #888;}
#main_contents {background-color: var(--bg-deep);border-radius: 6px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);}
.contents_tbl {background-color: var(--bg-deep);}
.tbl_hrow_1 {background-color: var(--bg-elevated);}
.tbl_hrow_2 {background-color: var(--bg-elevated-2);}
.tbl_hrow_h {background-color: var(--surface-graphite-2);}
.contents_tbl thead th,
.contents_tbl tr.tbl_header td {background-color: #161c23;}
.profile-layout {display: flex;gap: 20px;padding: 10px;}
.profile-sidebar {flex: 0 0 200px;min-width: 180px;}
.profile-main {flex: 1;min-width: 0;}
.stat-rings {display: flex;justify-content: space-around;align-items: flex-start;gap: 4px;padding: 8px 4px 4px;}
.stat-ring-item {display: flex;flex-direction: column;align-items: center;gap: 2px;}
.stat-ring-svg {width: 56px;height: 56px;display: block;overflow: visible;}
.stat-ring-bg {fill: none;stroke: rgba(255, 255, 255, 0.07);stroke-width: 4;}
.stat-ring-fill {fill: none;stroke-width: 4;stroke-linecap: round;stroke-dashoffset: 163.36;animation: statRingFill 1.2s 0.25s cubic-bezier(0.4, 0, 0.2, 1) forwards;}
@keyframes statRingFill {to { stroke-dashoffset: var(--ring-offset); }}

.stat-ring-kd     { stroke: #efbf67; }
.stat-ring-acc    { stroke: #63c85f; }
.stat-ring-rating { stroke: #6eb5ef; }
.stat-ring-value {font-size: 11px;font-weight: 700;color: var(--text-soft);line-height: 1;margin-top: 1px;}
.stat-ring-name {font-size: 9.5px;color: var(--text-muted);text-transform: uppercase;letter-spacing: 0.04em;line-height: 1;}
body.light-theme .stat-ring-bg    { stroke: rgba(0, 0, 0, 0.08); }
body.light-theme .stat-ring-kd    { stroke: #c08000; }
body.light-theme .stat-ring-acc   { stroke: #2a8a28; }
body.light-theme .stat-ring-rating{ stroke: #1a6aaa; }
.stats-popup-link {color: #f9a11b;font-weight: 700;text-decoration: underline;cursor: pointer;}
.stats-modal {position: fixed;inset: 0;z-index: 2200;}
.stats-modal-backdrop {position: absolute;inset: 0;background: rgba(0, 0, 0, 0.58);}
.stats-modal-dialog {position: relative;width: min(920px, calc(100vw - 24px));margin: 5vh auto;background: #11161d;border: 1px solid #2f3740;border-radius: 8px;box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);overflow: hidden;}
.stats-modal-header {display: flex;justify-content: space-between;align-items: center;padding: 10px 14px;background: #1f2630;border-bottom: 1px solid #2f3740;}
.stats-modal-header h4 {margin: 0;color: #f0f5fa;font-size: 16px;}
.stats-modal-close {color: #f0f5fa;font-size: 24px;line-height: 1;text-decoration: none;}
.stats-modal-body {padding: 12px;max-height: 78vh;overflow: auto;}
.stats-modal-empty {color: #e3e8ee;padding: 12px;}
.stats-modal-controls {display: flex;align-items: center;gap: 8px;margin-bottom: 10px;flex-wrap: wrap;}
.stats-control-label {color: #c7d1dc;font-weight: 700;margin-right: 2px;}
.chart-type-btn {display: inline-block;padding: 3px 10px;border: 1px solid #3d4650;border-radius: 999px;color: #dfe6ee;text-decoration: none;font-size: 12px;}
.chart-type-btn.is-active {background: #f9a11b;color: #1c2229;border-color: #f9a11b;}
.stats-chart-legend {margin-left: auto;color: #b8c3cf;font-size: 12px;}
.chart-tooltip {position: fixed;z-index: 2300;pointer-events: none;background: rgba(17, 22, 29, 0.96);color: #edf3f9;border: 1px solid #3a4450;border-radius: 6px;padding: 6px 8px;font-size: 12px;line-height: 1.35;box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35);}
.chart-block {margin-bottom: 12px;}
.chart-title {font-weight: 700;color: #f0f5fa;margin: 0 0 6px;}
#kills_chart_canvas,
#deaths_chart_canvas,
#eff_chart_canvas,
#team_chart_canvas {width: 100%;height: auto;border: 1px solid #2f3740;border-radius: 4px;background: #1b1f24;}
body.light-theme .stats-popup-link {color: #c26100;}
body.light-theme .stats-modal-dialog {background: #ffffff;border-color: #d8dde3;}
body.light-theme .stats-modal-header {background: #f6f8fa;border-bottom-color: #d8dde3;}
body.light-theme .stats-modal-header h4,
body.light-theme .stats-modal-close,
body.light-theme .chart-title,
body.light-theme .stats-modal-empty,
body.light-theme .stats-control-label,
body.light-theme .stats-chart-legend {color: #1e242b;}
body.light-theme .chart-type-btn {border-color: #ccd5df;color: #1e242b;}
body.light-theme .chart-type-btn.is-active {color: #1e242b;}
body.light-theme .chart-tooltip {background: rgba(250, 252, 255, 0.98);color: #1d232a;border-color: #d2dbe5;}
body.light-theme #kills_chart_canvas,
body.light-theme #deaths_chart_canvas,
body.light-theme #eff_chart_canvas,
body.light-theme #team_chart_canvas {background: #f5f8fb;border-color: #d8dde3;}
.map-popularity-badge {display: inline-block;min-width: 40px;padding: 3px 8px;border-radius: 999px;font-weight: 700;font-size: 12px;text-align: center;border: 1px solid transparent;}
.map-popularity-badge.score-low {background: rgba(244, 92, 67, 0.16);border-color: rgba(244, 92, 67, 0.35);color: #ffc7bf;}
.map-popularity-badge.score-mid {background: rgba(249, 161, 27, 0.16);border-color: rgba(249, 161, 27, 0.4);color: #ffdba2;}
.map-popularity-badge.score-high {background: rgba(38, 166, 154, 0.16);border-color: rgba(38, 166, 154, 0.38);color: #9ff0e8;}
body.light-theme .map-popularity-badge.score-low {background: #ffe5e0;border-color: #f4b4aa;color: #8d2f1f;}
body.light-theme .map-popularity-badge.score-mid {background: #fff2de;border-color: #f2cd92;color: #845314;}
body.light-theme .map-popularity-badge.score-high {background: #e4f7f4;border-color: #9ad9d3;color: #125b54;}
body.light-theme .map-popularity-badge.score-high {background: #e4f7f4;border-color: #9ad9d3;color: #125b54;}
.dash-hero {display: grid;grid-template-columns: minmax(0, 1.7fr) minmax(300px, 0.95fr);gap: 14px;margin: 2px 4px 14px;}
.dash-hero-copy,
.dash-hero-search-card {position: relative;border: 1px solid var(--tbl-border, #2d3a4a);border-radius: 12px;overflow: hidden;box-shadow: 0 10px 26px rgba(0, 0, 0, 0.2);}
.dash-hero-copy {padding: 24px 24px 20px;background:
radial-gradient(circle at top right, rgba(245, 176, 65, 0.18), transparent 32%),
linear-gradient(135deg, #14202f 0%, #1d2f45 52%, #101921 100%);}
.dash-hero-kicker {display: inline-block;margin-bottom: 10px;padding: 5px 10px;border-radius: 999px;background: rgba(245, 176, 65, 0.15);color: #f5b041;font-size: 11px;font-weight: bold;text-transform: uppercase;letter-spacing: 0.08em;}
.dash-hero-title {margin: 0 0 10px;color: #f4f7fb;font: bold 34px/1.05 Georgia, "Trebuchet MS", serif;}
.dash-hero-text {max-width: 700px;margin: 0 0 18px;color: #c3d2df;font-size: 15px;line-height: 1.55;}
.dash-hero-actions {display: flex;flex-wrap: wrap;gap: 10px;margin-bottom: 18px;}
.dash-hero-btn {display: inline-flex;align-items: center;justify-content: center;min-width: 148px;padding: 11px 16px;border-radius: 999px;font-size: 12px;font-weight: bold;letter-spacing: 0.04em;text-transform: uppercase;text-decoration: none;}
.dash-hero-btn-primary {background: linear-gradient(135deg, #f5b041 0%, #d97706 100%);color: #12161a !important;box-shadow: 0 8px 18px rgba(217, 119, 6, 0.3);}
.dash-hero-btn-secondary {border: 1px solid rgba(143, 160, 178, 0.45);background: rgba(11, 17, 24, 0.22);color: #e4edf5 !important;}
.dash-share-wrap {position: relative;}
.dash-hero-btn-share {min-width: 148px;min-height: 44px;padding: 11px 16px;line-height: 1.2;border: 1px solid rgba(143, 160, 178, 0.45);background: rgba(11, 17, 24, 0.22);color: #e4edf5 !important;}
.dash-share-menu {display: none;position: absolute;top: calc(100% + 8px);left: 0;z-index: 50;min-width: 240px;padding: 8px;border-radius: 12px;border: 1px solid var(--border-graphite);background: rgba(17, 24, 31, 0.98);box-shadow: 0 14px 30px rgba(0, 0, 0, 0.28);}
.dash-share-menu.is-open {display: block;}
.dash-share-link,
.dash-share-copy {display: block;width: 100%;padding: 10px 12px;margin: 0;border: 0;border-radius: 8px;background: transparent;color: var(--text-main) !important;text-align: left;font-size: 13px;font-weight: 600;text-transform: none;letter-spacing: 0;box-shadow: none;}
.dash-share-link:hover,
.dash-share-copy:hover {background: rgba(45, 57, 69, 0.92);color: var(--accent-amber-soft) !important;}
.dash-hero-meta {display: flex;flex-wrap: wrap;gap: 8px;align-items: center;}
.dash-copy-btn {height: 34px;padding: 0 12px;border: 1px solid var(--border-graphite);border-radius: 999px;background: rgba(27, 35, 44, 0.88);color: #dce7f1;font-size: 11px;font-weight: bold;text-transform: uppercase;letter-spacing: 0.06em;cursor: pointer;}
.dash-copy-btn:hover {background: rgba(45, 57, 69, 0.92);border-color: rgba(240, 182, 79, 0.55);color: #fff6df;}
.dash-hero-freshness {margin-top: 12px;color: var(--text-muted);font-size: 12px;}
.dash-hero-meta-label {color: var(--text-muted);font-size: 11px;text-transform: uppercase;letter-spacing: 0.08em;}
.dash-hero-meta-value {display: inline-flex;align-items: center;padding: 7px 10px;border-radius: 8px;background: rgba(20, 24, 29, 0.88);border: 1px solid rgba(56, 70, 84, 0.95);color: #f4f7fb;font: bold 13px/1.2 Consolas, "Courier New", monospace;}
.dash-hero-search-card {padding: 20px;background: linear-gradient(180deg, #202a34 0%, #1a222b 100%);}
.dash-search-card-title {margin-bottom: 6px;color: #f4f7fb;font-size: 20px;font-weight: bold;}
.dash-search-card-text {margin-bottom: 14px;color: var(--text-muted);font-size: 13px;line-height: 1.5;}
.dash-search-form {display: grid;grid-template-columns: minmax(0, 1fr) auto;gap: 8px;margin-bottom: 12px;}
.dash-search-input {min-width: 0;padding: 12px 14px;border: 1px solid var(--border-graphite);border-radius: 10px;background: #151c23;color: #eef4fa;font: 14px/1.2 "Trebuchet MS", Verdana, sans-serif;}
.dash-search-input::placeholder {color: var(--text-muted);}
.dash-search-input:focus {outline: none;border-color: #f5b041;box-shadow: 0 0 0 3px rgba(245, 176, 65, 0.14);}
.dash-search-btn {display: inline-flex;align-items: center;justify-content: center;padding: 12px 16px;border: none;border-radius: 10px;background: linear-gradient(180deg, var(--accent-amber-strong) 0%, var(--accent-amber) 100%);color: #161a1f;font: bold 12px/1 "Trebuchet MS", Verdana, sans-serif;text-transform: uppercase;cursor: pointer;box-shadow: 0 8px 18px rgba(216, 154, 43, 0.18);}
.dash-search-btn:hover {background: linear-gradient(180deg, #f5c468 0%, var(--accent-amber-strong) 100%);}
.dash-quick-links {display: flex;flex-wrap: wrap;gap: 8px;margin-bottom: 16px;}
.dash-quick-links a {display: inline-flex;align-items: center;padding: 6px 10px;border-radius: 999px;background: rgba(216, 154, 43, 0.14);color: var(--accent-amber-soft);border: 1px solid rgba(216, 154, 43, 0.22);font-size: 11px;text-decoration: none;}
.dash-quick-links a:hover {background: rgba(216, 154, 43, 0.2);border-color: rgba(240, 182, 79, 0.38);color: #fff2cf;}
.dash-featured-player {padding-top: 14px;border-top: 1px solid rgba(56, 70, 84, 0.55);}
.dash-featured-label {margin-bottom: 4px;color: var(--text-muted);font-size: 11px;text-transform: uppercase;letter-spacing: 0.08em;}
.dash-featured-name {display: inline-block;margin-bottom: 8px;color: #f7fbff;font-size: 17px;font-weight: bold;text-decoration: none;}
.dash-featured-metrics {display: flex;flex-wrap: wrap;gap: 10px;color: var(--text-soft);font-size: 12px;}
.dash-stats-bar {display: flex;flex-wrap: wrap;gap: 10px;padding: 10px 4px 14px;}
.dash-stat-item {flex: 1 1 160px;background: var(--surface-graphite);border: 1px solid var(--border-graphite);border-radius: 8px;padding: 10px 14px;display: flex;flex-direction: column;align-items: flex-start;gap: 3px;}
.dash-stat-value {font-size: 22px;font-weight: bold;color: var(--accent-amber-soft);line-height: 1.2;}
.dash-stat-label {font-size: 11px;color: var(--text-muted);text-transform: uppercase;letter-spacing: 0.04em;}
.dash-stat-subtext {font-size: 12px;color: var(--text-soft);line-height: 1.35;}
.dash-stat-leader .dash-stat-value {font-size: 22px;}
.dash-leader-link {text-decoration: none;}
.dash-leader-link:hover {text-decoration: underline;}
.dash-grid {display: flex;flex-wrap: wrap;gap: 12px;align-items: flex-start;}
.dash-panel {flex: 1 1 340px;min-width: 280px;background: var(--bg-elevated);border: 1px solid var(--border-graphite);border-radius: 8px;overflow: hidden;margin-bottom: 12px;animation: dashPanelEnter .45s ease both;box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;}
.dash-panel-wide {flex-basis: 100%;}
.dash-panel-header {display: flex;justify-content: space-between;align-items: center;padding: 7px 12px;background: #1c2630;border-bottom: 1px solid var(--border-graphite);font-weight: bold;font-size: 13px;}
.dash-panel-title {color: #edf4fb;font-size: 14px;font-weight: bold;}
.dash-panel-subtitle {margin-top: 2px;color: var(--text-muted);font-size: 11px;font-weight: normal;}
.dash-panel-more {font-size: 11px;font-weight: normal;opacity: 0.7;}
.dash-panel-more:hover {opacity: 1;}
.dash-panel:hover,
.page-intro:hover,
.dash-hero-copy:hover,
.dash-hero-search-card:hover {transform: translateY(-2px);}
.dash-panel:hover,
.page-intro:hover,
.dash-hero-search-card:hover {box-shadow: 0 14px 30px rgba(0, 0, 0, 0.24);border-color: rgba(216, 154, 43, 0.28);}
.dash-inner-tbl {border-radius: 0 !important;border: none !important;}
.dash-summary-table td {vertical-align: middle;}
.dash-summary-table tr.tbl_hrow_1 td,
.dash-summary-table tr.tbl_hrow_2 td {transition: background-color .15s ease, transform .15s ease;}
.dash-summary-table tr.tbl_hrow_1:hover td,
.dash-summary-table tr.tbl_hrow_2:hover td {background-color: rgba(216, 154, 43, 0.08);}
.dash-result-badge {display: inline-flex;align-items: center;justify-content: center;min-width: 70px;padding: 5px 10px;border-radius: 999px;border: 1px solid transparent;font-size: 11px;font-weight: bold;letter-spacing: 0.04em;text-transform: uppercase;}
.dash-result-badge.result-allies {background: var(--badge-allies-bg);border-color: rgba(136, 182, 230, 0.24);color: var(--badge-allies-text);}
.dash-result-badge.result-axis {background: var(--badge-axis-bg);border-color: rgba(217, 160, 160, 0.24);color: var(--badge-axis-text);}
.dash-result-badge.result-draw {background: var(--badge-draw-bg);border-color: rgba(193, 200, 207, 0.2);color: var(--badge-draw-text);}
.dash-result-badge.result-aborted {background: var(--badge-aborted-bg);border-color: rgba(239, 191, 103, 0.24);color: var(--badge-aborted-text);}
.dash-result-badge.result-recorded {background: rgba(216, 154, 43, 0.12);border-color: rgba(239, 191, 103, 0.2);color: var(--accent-amber-soft);}
.dash-recent-thumb {width: 54px;height: 40px;display: block;margin: 0 auto;border-radius: 6px;border: 1px solid rgba(56, 70, 84, 0.95);object-fit: cover;}
.page-shell {margin: 0 0 8px;}
.page-intro {display: flex;align-items: center;justify-content: space-between;gap: 16px;margin-bottom: 12px;padding: 18px 20px;border: 1px solid var(--border-graphite);border-radius: 12px;background: linear-gradient(135deg, #202a34 0%, #172029 100%);box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);}
.page-intro-kicker {margin-bottom: 6px;color: var(--accent-amber-soft);font-size: 11px;font-weight: bold;text-transform: uppercase;letter-spacing: 0.08em;}
.page-intro-title {margin: 0 0 6px;color: #eef4fb;font: bold 28px/1.05 Georgia, "Trebuchet MS", serif;}
.page-intro-text {margin: 0;color: var(--text-muted);font-size: 14px;line-height: 1.5;}
.page-data-table {border-radius: 10px;overflow: hidden;box-shadow: 0 8px 22px rgba(0, 0, 0, 0.16);}
.page-data-table .page-table-head td {background: #1c2630;color: #edf4fb;border-bottom: 1px solid var(--border-graphite);box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.02);}
.page-data-table tr.tbl_hrow_1 td,
.page-data-table tr.tbl_hrow_2 td {transition: background-color .15s ease;}
.player-row-link {cursor: pointer;}
.page-data-table tr.tbl_hrow_1:hover td,
.page-data-table tr.tbl_hrow_2:hover td {background-color: rgba(216, 154, 43, 0.08);}
@keyframes dashPanelEnter {from {opacity: 0;transform: translateY(10px);}
to {opacity: 1;transform: translateY(0);}}

.page-data-table-players .table-toolbar,
.page-data-table-games .table-toolbar {gap: 10px;}
.games-filter-pills {display: flex;flex-wrap: wrap;align-items: center;gap: 8px;margin-top: 10px;}
.games-filter-pill {display: inline-flex;align-items: center;justify-content: center;min-height: 28px;padding: 0 11px;border-radius: 999px;border: 1px solid rgba(56, 70, 84, 0.8);background: rgba(27, 35, 44, 0.85);color: var(--text-muted);font-size: 11px;font-weight: bold;text-decoration: none;text-transform: uppercase;letter-spacing: 0.05em;}
.games-filter-pill:hover,
.games-filter-pill.is-active {border-color: rgba(216, 154, 43, 0.42);background: rgba(216, 154, 43, 0.14);color: var(--accent-amber-soft);}
.games-summary-cell {padding: 4px 0 12px;}
.games-summary-strip {display: grid;grid-template-columns: repeat(4, minmax(0, 1fr));gap: 10px;}
.games-summary-item {padding: 12px 14px;border: 1px solid var(--border-graphite);border-radius: 10px;background: rgba(27, 35, 44, 0.84);}
.games-summary-item-wide {grid-column: span 2;}
.games-summary-label {display: block;margin-bottom: 4px;color: var(--text-muted);font-size: 11px;font-weight: bold;letter-spacing: 0.06em;text-transform: uppercase;}
.games-summary-value {color: var(--text-main);font-size: 14px;line-height: 1.35;}
.page-data-table-games .game-map-name {display: inline-block;color: #eef4fb;font-size: 13px;font-weight: bold;letter-spacing: 0.02em;line-height: 1.2;}
.page-data-table-games .game-map-cell,
.page-data-table-games .game-ended-cell,
.page-data-table-games .game-result-cell {display: flex;flex-direction: column;gap: 3px;}
.page-data-table-games .game-map-meta,
.page-data-table-games .game-ended-secondary,
.page-data-table-games .game-result-meta {color: var(--text-muted);font-size: 11px;line-height: 1.35;}
.page-data-table-games .game-ended-primary {color: var(--text-main);font-size: 12px;font-weight: bold;}
.page-data-table-games .game-kills-split {display: inline-flex;align-items: center;gap: 6px;flex-wrap: wrap;justify-content: center;}
.page-data-table-games .game-kills-axis {color: #d9a0a0;font-weight: bold;}
.page-data-table-games .game-kills-allies {color: #88b6e6;font-weight: bold;}
.page-data-table-games .game-kills-divider {color: var(--text-muted);}
body.light-theme .page-data-table-games td[data-label="Map"] {color: #20384f;}
body.light-theme .page-data-table-games .game-map-name {color: #20384f !important;font-size: 13px;}
body.light-theme .games-filter-pill {border-color: #d5e1ec;background: rgba(255, 255, 255, 0.86);color: #53687d;}
body.light-theme .games-filter-pill:hover,
body.light-theme .games-filter-pill.is-active {border-color: rgba(233, 154, 38, 0.36);background: rgba(233, 154, 38, 0.14);color: #8f5609;}
body.light-theme .games-summary-item {border-color: #c8d6e5;background: rgba(255, 255, 255, 0.92);}
body.light-theme .games-summary-label,
body.light-theme .page-data-table-games .game-map-meta,
body.light-theme .page-data-table-games .game-ended-secondary,
body.light-theme .page-data-table-games .game-result-meta {color: #607080;}
body.light-theme .games-summary-value,
body.light-theme .page-data-table-games .game-ended-primary {color: #20384f;}
body.light-theme .page-data-table-games tr.tbl_hrow_1 td,
body.light-theme .page-data-table-games tr.tbl_hrow_2 td {color: #2a4157;}
body.light-theme .page-data-table-games a {color: #1d5f95;}
body.light-theme .page-data-table-games a:hover {color: #144a75;}
body.light-theme .page-data-table-games .dash-result-badge {font-weight: bold;}
.dash-inner-tbl tr:last-child td {border-bottom: none;}
.dash-activity-chart {display: flex;align-items: flex-end;gap: 4px;min-height: 126px;padding: 10px 10px 12px;overflow-x: auto;}
.dash-activity-controls {display: inline-flex;align-items: center;gap: 8px;}
.dash-activity-summary-strip {display: grid;grid-template-columns: repeat(4, minmax(0, 1fr));gap: 10px;padding: 10px 10px 0;}
.dash-activity-summary-item {position: relative;display: flex;align-items: flex-start;gap: 10px;min-height: 86px;padding: 11px 13px;border: 1px solid var(--border-graphite);border-radius: 14px;background: linear-gradient(180deg, rgba(30, 39, 48, 0.96) 0%, rgba(23, 30, 37, 0.96) 100%);box-shadow: 0 10px 22px rgba(0, 0, 0, 0.16);overflow: hidden;}
.dash-activity-summary-item-wide {grid-column: span 1;}
.dash-activity-summary-item::before {content: '';position: absolute;inset: 0 auto 0 0;width: 4px;background: var(--accent-amber);opacity: 0.9;}
.dash-activity-summary-matches::before {background: #88b6e6;}
.dash-activity-summary-peak::before {background: #d89a2b;}
.dash-activity-summary-average::before {background: #9cafbf;}
.dash-activity-summary-longest::before {background: #d9a0a0;}
.dash-activity-summary-icon {flex: 0 0 34px;align-self: center;width: 34px;height: 34px;display: inline-flex;align-items: center;justify-content: center;border-radius: 10px;background: rgba(255, 255, 255, 0.05);border: 1px solid rgba(255, 255, 255, 0.08);color: var(--accent-amber-soft);font-size: 15px;line-height: 1;}
.dash-activity-summary-copy {min-width: 0;flex: 1 1 auto;}
.dash-activity-summary-matches .dash-activity-summary-icon {color: #88b6e6;}
.dash-activity-summary-peak .dash-activity-summary-icon {color: var(--accent-amber-soft);}
.dash-activity-summary-average .dash-activity-summary-icon {color: #c1d1de;}
.dash-activity-summary-longest .dash-activity-summary-icon {color: #d9a0a0;}
.dash-activity-summary-label {display: block;margin-bottom: 4px;color: var(--text-muted);font-size: 10px;font-weight: bold;text-transform: uppercase;letter-spacing: 0.06em;}
.dash-activity-summary-value {display: block;color: var(--text-main);font-size: 23px;line-height: 1.05;letter-spacing: -0.03em;}
.dash-activity-summary-meta {display: block;margin-top: 5px;color: var(--text-muted);font-size: 11px;line-height: 1.35;}
.dash-activity-bar {flex: 1 0 28px;min-width: 24px;max-width: 36px;display: flex;flex-direction: column;align-items: center;justify-content: flex-end;gap: 6px;}
.dash-activity-fill {width: 100%;border-radius: 4px 4px 0 0;background: linear-gradient(180deg, #f5b041 0%, #e67e22 100%);border: 1px solid #955d22;min-height: 2px;}
.dash-activity-label {font-size: 10px;color: #8fa0b2;transform: rotate(-35deg);transform-origin: top left;white-space: nowrap;}
.dash-activity-empty {color: #9aa5b2;font-size: 12px;padding: 12px;}
.dash-activity-canvas-wrap {padding: 10px;}
.dash-activity-canvas-title {font-size: 12px;color: #9aa5b2;font-weight: bold;margin-bottom: 6px;}
#dash_activity_mixed_canvas {width: 100%;height: 240px;display: block;cursor: crosshair;background: #11181f;border: 1px solid #2d3a4a;border-radius: 6px;}
.dash-chart-tooltip {position: absolute;z-index: 30;min-width: 180px;max-width: 240px;padding: 7px 9px;border-radius: 6px;border: 1px solid #2d3a4a;background: rgba(16, 23, 32, 0.96);color: #d7e0e8;font: 12px/1.35 "Trebuchet MS", Verdana, Tahoma, sans-serif;box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);pointer-events: none;opacity: 0;transition: opacity .1s linear;white-space: nowrap;}
.dash-chart-tooltip-title {margin-bottom: 3px;color: #f5b041;font-weight: bold;}
body.light-theme .dash-stat-item {background: #f0f4f8;border-color: #c8d6e5;}
body.light-theme .dash-hero-copy,
body.light-theme .dash-hero-search-card {border-color: #c8d6e5;box-shadow: 0 10px 24px rgba(44, 73, 109, 0.12);}
body.light-theme .dash-hero-copy {background:
radial-gradient(circle at top right, rgba(233, 154, 38, 0.12), transparent 30%),
linear-gradient(135deg, #f6fbff 0%, #edf5fb 58%, #e3eef7 100%);}
body.light-theme .dash-hero-kicker {background: rgba(233, 154, 38, 0.12);color: #af6c11;}
body.light-theme .dash-hero-title {color: #193048;}
body.light-theme .dash-hero-text {color: #4e6478;}
body.light-theme .dash-hero-btn-primary {color: #fff !important;}
body.light-theme .dash-hero-btn-secondary {background: rgba(255, 255, 255, 0.7);border-color: #c8d6e5;color: #24435f !important;}
body.light-theme .dash-hero-meta-label,
body.light-theme .dash-featured-label,
body.light-theme .dash-stat-label {color: #607080;}
body.light-theme .dash-hero-meta-value {background: rgba(255, 255, 255, 0.75);border-color: #d5e1ec;color: #1f3851;}
body.light-theme .dash-copy-btn {background: rgba(255, 255, 255, 0.8);border-color: #d5e1ec;color: #24435f;}
body.light-theme .dash-copy-btn:hover {background: rgba(255, 255, 255, 0.96);border-color: rgba(233, 154, 38, 0.42);color: #193048;}
body.light-theme .dash-hero-freshness {color: #607080;}
body.light-theme .dash-hero-search-card {background: linear-gradient(180deg, #f6fbff 0%, #edf5fb 100%);}
body.light-theme .dash-search-card-title,
body.light-theme .dash-featured-name {color: #18324c;}
body.light-theme .dash-search-card-text,
body.light-theme .dash-featured-metrics,
body.light-theme .dash-stat-subtext {color: #5f7284;}
body.light-theme .dash-search-input {border-color: #c8d6e5;background: #fff;color: #20384e;}
body.light-theme .dash-search-input::placeholder {color: #6c7e90;}
body.light-theme .dash-search-btn {background: linear-gradient(180deg, #f2bb63 0%, #e6952d 100%);box-shadow: 0 8px 18px rgba(233, 154, 38, 0.18);}
body.light-theme .dash-search-btn:hover {background: linear-gradient(180deg, #f5c978 0%, #ecac4b 100%);}
body.light-theme .dash-quick-links a {background: rgba(233, 154, 38, 0.12);border-color: rgba(233, 154, 38, 0.22);color: #91560a;}
body.light-theme .dash-quick-links a:hover {background: rgba(233, 154, 38, 0.18);border-color: rgba(233, 154, 38, 0.34);color: #754507;}
body.light-theme .dash-stat-value {color: #1a6fa8;}
body.light-theme .dash-stat-label {color: #607080;}
body.light-theme .dash-panel {background: #f7fbff;border-color: #c8d6e5;box-shadow: 0 10px 24px rgba(44, 73, 109, 0.12);}
body.light-theme .dash-panel-header {background: #dce8f4;border-bottom-color: #c8d6e5;}
body.light-theme .dash-panel-title {color: #20384f;}
body.light-theme .dash-panel-subtitle {color: #607080;}
body.light-theme .dash-panel:hover,
body.light-theme .page-intro:hover,
body.light-theme .dash-hero-search-card:hover {box-shadow: 0 14px 30px rgba(44, 73, 109, 0.16);border-color: rgba(233, 154, 38, 0.26);}
body.light-theme .dash-summary-table tr.tbl_hrow_1:hover td,
body.light-theme .dash-summary-table tr.tbl_hrow_2:hover td {background-color: rgba(54, 132, 214, 0.08);}
body.light-theme .dash-result-badge.result-allies {background: rgba(54, 132, 214, 0.12);border-color: rgba(31, 103, 177, 0.16);color: #1f67b1;}
body.light-theme .dash-result-badge.result-axis {background: rgba(210, 75, 62, 0.12);border-color: rgba(184, 79, 66, 0.16);color: #b84f42;}
body.light-theme .dash-result-badge.result-draw {background: rgba(126, 142, 160, 0.14);border-color: rgba(85, 105, 124, 0.14);color: #55697c;}
body.light-theme .dash-result-badge.result-aborted {background: rgba(233, 154, 38, 0.14);border-color: rgba(145, 86, 10, 0.14);color: #91560a;}
body.light-theme .dash-result-badge.result-recorded {background: rgba(31, 143, 107, 0.14);border-color: rgba(29, 123, 92, 0.14);color: #1d7b5c;}
body.light-theme .dash-recent-thumb {border-color: #d5e1ec;}
body.light-theme .page-intro {background: linear-gradient(135deg, #f6fbff 0%, #ecf4fb 100%);border-color: #c8d6e5;box-shadow: 0 10px 24px rgba(44, 73, 109, 0.12);}
body.light-theme .footer-quick-links a {background: rgba(233, 154, 38, 0.12);border-color: rgba(233, 154, 38, 0.2);color: #91560a;}
body.light-theme .footer-quick-links a:hover {background: rgba(233, 154, 38, 0.18);border-color: rgba(233, 154, 38, 0.32);color: #754507;}
body.light-theme .page-intro-title {color: #1b334b;}
body.light-theme .page-intro-text {color: #5f7284;}
body.light-theme .page-table-head td {background: #dce8f4;color: #20384f;border-bottom-color: #c8d6e5;box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.4);}
body.light-theme .page-data-table tr.tbl_hrow_1:hover td,
body.light-theme .page-data-table tr.tbl_hrow_2:hover td {background-color: rgba(54, 132, 214, 0.08);}
body.light-theme .dash-activity-fill {background: linear-gradient(180deg, #f3c47a 0%, #d98936 100%);border-color: #b4722f;}
body.light-theme .dash-activity-summary-item {border-color: #c8d6e5;background: rgba(255, 255, 255, 0.92);}
body.light-theme .dash-activity-summary-label,
body.light-theme .dash-activity-summary-meta {background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(244, 249, 253, 0.98) 100%);box-shadow: 0 14px 28px rgba(44, 73, 109, 0.12);}
body.light-theme .dash-activity-summary-value {color: #20384f;}
body.light-theme .dash-activity-label {color: #607080;}
body.light-theme .dash-activity-summary-icon {background: rgba(220, 232, 244, 0.72);border-color: rgba(200, 214, 229, 0.9);}
body.light-theme .dash-activity-empty {color: #5f6770;}
body.light-theme .dash-activity-canvas-title {color: #607080;}
@media (max-width: 900px) {.dash-activity-summary-strip {grid-template-columns: repeat(2, minmax(0, 1fr));}}

@media (max-width: 640px) {.dash-activity-controls {width: 100%;justify-content: flex-start;margin-top: 8px;}
.dash-activity-summary-strip {grid-template-columns: 1fr;}
.dash-activity-summary-item {min-height: 0;}}

body.light-theme #dash_activity_mixed_canvas {background: #f7fbff;border-color: #c8d6e5;}
body.light-theme .dash-chart-tooltip {border-color: #c8d6e5;background: rgba(250, 253, 255, 0.97);color: #2d3e4e;box-shadow: 0 6px 16px rgba(64, 84, 104, 0.18);}
body.light-theme .dash-chart-tooltip-title {color: #b06f1f;}
@media (max-width: 940px) {.dash-hero {grid-template-columns: 1fr;}
.dash-hero-title {font-size: 28px;}}

@media (max-width: 640px) {.dash-search-form {grid-template-columns: 1fr;}
.dash-hero-copy,
.dash-hero-search-card {padding: 18px;}
.page-intro {padding: 16px;}
.page-intro-title {font-size: 24px;}
.dash-summary-table,
.dash-summary-table tbody,
.dash-summary-table tr,
.dash-summary-table td {display: block;width: 100% !important;}
.dash-summary-table {border-spacing: 0;}
.dash-summary-table .dash-table-head {display: none;}
.dash-summary-table tr.tbl_hrow_1,
.dash-summary-table tr.tbl_hrow_2 {margin: 10px;border: 1px solid var(--tbl-border, #2d3a4a);border-radius: 10px;overflow: hidden;background: rgba(17, 24, 31, 0.55);}
.dash-summary-table tr.tbl_hrow_1 td,
.dash-summary-table tr.tbl_hrow_2 td {display: flex;justify-content: space-between;gap: 12px;padding: 10px 12px !important;text-align: left !important;border-bottom: 1px solid rgba(143, 160, 178, 0.12);}
.dash-summary-table tr.tbl_hrow_1 td:last-child,
.dash-summary-table tr.tbl_hrow_2 td:last-child {border-bottom: none;}
.dash-summary-table td:before {content: attr(data-label);color: #8fa0b2;font-size: 11px;font-weight: bold;text-transform: uppercase;letter-spacing: 0.06em;}
.dash-summary-maps td:first-child img {margin-left: auto;}
body.light-theme .dash-summary-table tr.tbl_hrow_1,
body.light-theme .dash-summary-table tr.tbl_hrow_2 {background: rgba(255, 255, 255, 0.85);border-color: #c8d6e5;}
body.light-theme .dash-summary-table td:before {color: #607080;}
.page-data-table-games,
.page-data-table-games tbody,
.page-data-table-games tr,
.page-data-table-games td {display: block;width: 100% !important;}
.page-data-table-games .page-table-head {display: none;}
.page-data-table-games tr.tbl_hrow_1,
.page-data-table-games tr.tbl_hrow_2 {margin: 10px 0;border: 1px solid var(--tbl-border, #2d3a4a);border-radius: 10px;overflow: hidden;}
.page-data-table-games tr.tbl_hrow_1 td,
.page-data-table-games tr.tbl_hrow_2 td {display: flex;justify-content: space-between;align-items: flex-start;gap: 12px;padding: 10px 12px !important;text-align: left !important;border-bottom: 1px solid rgba(143, 160, 178, 0.12);}
.page-data-table-games tr.tbl_hrow_1 td:last-child,
.page-data-table-games tr.tbl_hrow_2 td:last-child {border-bottom: none;}
.page-data-table-games td:before {content: attr(data-label);color: #8fa0b2;font-size: 11px;font-weight: bold;text-transform: uppercase;letter-spacing: 0.06em;}
body.light-theme .page-data-table-games tr.tbl_hrow_1,
body.light-theme .page-data-table-games tr.tbl_hrow_2 {background: rgba(255, 255, 255, 0.92);border-color: #c8d6e5;}
body.light-theme .page-data-table-games tr.tbl_hrow_1 td,
body.light-theme .page-data-table-games tr.tbl_hrow_2 td {border-bottom-color: rgba(101, 126, 151, 0.16);color: #2a4157;}
body.light-theme .page-data-table-games td:before {color: #607080;}
.games-summary-strip {grid-template-columns: 1fr;}
.games-summary-item-wide {grid-column: span 1;}
.page-data-table-games td[data-label="Map"] {order: 1;}
.page-data-table-games td[data-label="Result"] {order: 2;}
.page-data-table-games td[data-label="Ended"] {order: 3;}
.page-data-table-games td[data-label="Players"] {order: 4;}
.page-data-table-games td[data-label="Clients"] {order: 5;}
.page-data-table-games td[data-label="Duration"] {order: 6;}
.page-data-table-games td[data-label="Kills"] {order: 7;}
.page-data-table-games td[data-label="Game"] {order: 8;}
.page-data-table-games .game-kills-split {justify-content: flex-end;}
.footer-quick-links {padding: 0 10px;}}

.profile-page-wrap {overflow-x: auto;}
#player_profile_layout {min-width: 1080px;}
#player_profile_layout td.profile-sidebar {width: 180px;}
@media (max-width: 1200px) {#player_profile_layout {min-width: 0;width: 100%;}
#player_profile_layout,
#player_profile_layout tbody,
#player_profile_layout tr {display: block;width: 100%;}
#player_profile_layout td.profile-sidebar,
#player_profile_layout td.profile-main {display: block;width: 100% !important;max-width: 100%;margin-bottom: 10px;}}

.profile-sidebar .contents_tbl,
.profile-main .contents_tbl {border-radius: 6px;overflow: hidden;box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);}
.player_image {background-color: #2a2a2a;border: 2px solid #444;border-radius: 6px;}
.skill-pills {display: flex;flex-wrap: wrap;gap: 6px;padding: 6px 0;}
.skill-pill {display: inline-flex;align-items: center;gap: 4px;background: #2a2a2a;border: 1px solid #444;border-radius: 16px;padding: 3px 10px 3px 4px;font-size: 12px;white-space: nowrap;}
.skill-pill img {width: 18px;height: 18px;}
.signature-cell {text-align: left;padding: 8px;}
.signature-label {font-size: 11px;color: #9aa5b2;margin-bottom: 4px;}
.signature-code {width: 100%;min-height: 42px;resize: vertical;box-sizing: border-box;border: 1px solid #3a4653;background: #151e28;color: #d7e3ef;border-radius: 4px;padding: 6px;font-family: Consolas, "Courier New", monospace;font-size: 11px;}
.signature-copy-btn {margin-top: 6px;padding: 4px 8px;border: 1px solid #4d6176;background: #223243;color: #d7e3ef;border-radius: 4px;cursor: pointer;font-size: 11px;}
.signature-copy-btn:hover {background: #2a3d51;}
.tbl_hrow_name {background: linear-gradient(135deg, #333 0%, #222 100%);border-radius: 6px 6px 0 0;}
@media (max-width: 700px) {.profile-layout {flex-direction: column;}
.profile-sidebar {flex: none;width: 100%;}}

.pagination {display: flex;flex-wrap: wrap;align-items: center;justify-content: flex-end;gap: 4px;padding: 8px 4px;}
.pagination .page-label {font-weight: bold;margin-right: 6px;color: #e0e0e0;}
.pagination a,
.pagination .page-current {display: inline-flex;align-items: center;justify-content: center;min-width: 30px;height: 28px;padding: 0 8px;border-radius: 14px;font-size: 12px;font-weight: bold;text-decoration: none;transition: background-color 0.15s ease, color 0.15s ease;}
.pagination a {background-color: #2a2a2a;color: #e89030;border: 1px solid #444;}
.pagination a:hover {background-color: #383838;color: #ffaa44;border-color: #e89030;}
.pagination .page-current {background-color: #e89030;color: #111;border: 1px solid #e89030;}
.table-toolbar-cell {padding-top: 8px;padding-bottom: 8px;}
.table-toolbar {display: inline-flex;align-items: center;flex-wrap: wrap;gap: 8px;}
.table-toolbar-inline {justify-content: flex-start;}
.table-toolbar-right {justify-content: flex-end;}
.table-toolbar-label {color: #b9b9b9;font-size: 11px;font-weight: bold;letter-spacing: 0.06em;text-transform: uppercase;}
.table-toolbar-select,
.table-toolbar input[type="number"],
.table-toolbar-button {height: 28px;margin: 0;border-radius: 14px;}
.table-toolbar-select {min-width: 76px;padding: 3px 28px 3px 10px;background-color: #202020;border-color: #454545;}
.table-toolbar input[type="number"] {min-width: 64px;padding: 3px 10px;background-color: #202020;border: 1px solid #454545;color: #e89030;}
.table-toolbar-button {padding: 3px 12px;background-color: #2a2a2a;border-color: #444;}
.table-toolbar-button:hover {background-color: #383838;}
.player-trend {display: inline-block;min-width: 46px;padding: 2px 7px;border-radius: 999px;font-size: 11px;font-weight: bold;border: 1px solid transparent;}
.player-trend.trend-up {background: rgba(47, 191, 113, 0.16);border-color: rgba(47, 191, 113, 0.42);color: #94f0bd;}
.player-trend.trend-down {background: rgba(224, 86, 91, 0.16);border-color: rgba(224, 86, 91, 0.42);color: #ffb8ba;}
.player-trend.trend-flat {background: rgba(130, 146, 164, 0.16);border-color: rgba(130, 146, 164, 0.42);color: #b8c5d4;}
.player-form-spark {width: 84px;height: 22px;display: inline-block;background: #121b25;border: 1px solid #2b3a4b;border-radius: 4px;}
.last-seen-badge {display: inline-block;margin-top: 3px;padding: 1px 6px;border-radius: 999px;font-size: 10px;border: 1px solid transparent;}
.last-seen-badge.seen-now,
.last-seen-badge.seen-recent {background: rgba(47, 191, 113, 0.16);border-color: rgba(47, 191, 113, 0.42);color: #94f0bd;}
.last-seen-badge.seen-warm {background: rgba(245, 176, 65, 0.16);border-color: rgba(245, 176, 65, 0.42);color: #ffd699;}
.last-seen-badge.seen-old {background: rgba(130, 146, 164, 0.16);border-color: rgba(130, 146, 164, 0.42);color: #b8c5d4;}
body.light-theme .player-trend.trend-up {background: #e6f7ef;border-color: #9ed8b9;color: #186742;}
body.light-theme .player-trend.trend-down {background: #ffe9ea;border-color: #f0b2b5;color: #8f2b2f;}
body.light-theme .player-trend.trend-flat {background: #eef2f6;border-color: #cfd8e2;color: #4f5e6d;}
body.light-theme .player-form-spark {background: #f5f8fb;border-color: #cfd9e3;}
body.light-theme .last-seen-badge.seen-now,
body.light-theme .last-seen-badge.seen-recent {background: #e6f7ef;border-color: #9ed8b9;color: #186742;}
body.light-theme .last-seen-badge.seen-warm {background: #fff4e5;border-color: #efcea0;color: #7b5316;}
body.light-theme .last-seen-badge.seen-old {background: #eef2f6;border-color: #cfd8e2;color: #4f5e6d;}
.player-pct-badge {display: inline-block;margin-top: 2px;padding: 1px 6px;border-radius: 999px;font-size: 10px;border: 1px solid transparent;}
.player-pct-badge.pct-elite {background: rgba(53, 193, 161, 0.18);border-color: rgba(53, 193, 161, 0.45);color: #9ff0e8;}
.player-pct-badge.pct-high {background: rgba(90, 163, 245, 0.16);border-color: rgba(90, 163, 245, 0.42);color: #c0deff;}
.player-pct-badge.pct-mid {background: rgba(245, 176, 65, 0.14);border-color: rgba(245, 176, 65, 0.38);color: #ffd699;}
.player-pct-badge.pct-base {background: rgba(128, 142, 160, 0.14);border-color: rgba(128, 142, 160, 0.36);color: #b8c5d4;}
.alias-meta-badge {display: inline-block;margin-top: 2px;margin-right: 4px;padding: 1px 6px;border-radius: 999px;font-size: 10px;color: #9fb0c3;border: 1px solid #3a4b5f;background: rgba(42, 56, 73, 0.45);}
.alias-meta-badge.alias-meta-churn {color: #ffb8ba;border-color: rgba(224, 86, 91, 0.45);background: rgba(224, 86, 91, 0.16);}
.cmp-overlay {position: fixed;inset: 0;background: rgba(0,0,0,0.65);display: flex;align-items: center;justify-content: center;z-index: 9999;}
.cmp-box {background: #1a2535;border: 1px solid #2e4160;border-radius: 10px;box-shadow: 0 8px 40px rgba(0,0,0,0.7);min-width: 340px;max-width: 90vw;max-height: 85vh;overflow: hidden;display: flex;flex-direction: column;}
.cmp-header {display: flex;align-items: center;justify-content: space-between;padding: 12px 18px 10px;border-bottom: 1px solid #2e4160;flex-shrink: 0;}
.cmp-title {font-size: 14px;font-weight: bold;color: #d4dde6;letter-spacing: 0.02em;}
.cmp-view-toggle {margin-left: auto;margin-right: 10px;display: inline-flex;gap: 6px;}
.cmp-view-btn {border: 1px solid #2e4160;background: #1e2d3f;color: #8ca0b8;border-radius: 4px;padding: 3px 8px;font-size: 11px;cursor: pointer;}
.cmp-view-btn:hover {color: #d4dde6;border-color: #4b6a8e;}
.cmp-view-btn.active {background: #2f4a67;color: #dff1ff;border-color: #5e88b7;}
.cmp-close {background: none;border: none;color: #8ca0b8;font-size: 16px;cursor: pointer;padding: 2px 6px;line-height: 1;border-radius: 4px;}
.cmp-close:hover { background: #2e4160; color: #d4dde6; }
.cmp-body {overflow: auto;padding: 14px 18px 18px;}
.cmp-radar-wrap {width: 100%;}
.cmp-radar-canvas {width: min(760px, 80vw);height: auto;display: block;margin: 0 auto;background: radial-gradient(circle at center, rgba(73,168,232,0.06), rgba(73,168,232,0.01));border: 1px solid #2a3c56;border-radius: 8px;}
.cmp-radar-legend {display: flex;flex-wrap: wrap;gap: 12px;justify-content: center;margin-top: 12px;}
.cmp-radar-legend-item {display: inline-flex;align-items: center;gap: 6px;color: #b9cddd;font-size: 12px;}
.cmp-radar-legend-dot {width: 10px;height: 10px;border-radius: 50%;display: inline-block;}
.cmp-table {border-collapse: collapse;width: 100%;}
.cmp-table thead tr th {padding: 6px 14px 8px;text-align: center;font-size: 12px;font-weight: bold;color: #7ec8e3;border-bottom: 2px solid #2e4160;white-space: nowrap;}
.cmp-stat-col {text-align: left !important;width: 90px;}
.cmp-player-col {min-width: 110px;}
.cmp-stat-label {padding: 7px 14px 7px 0;font-size: 12px;color: #8ca0b8;white-space: nowrap;border-bottom: 1px solid #1f2f42;}
.cmp-stat-sort {background: transparent;border: none;color: #8ca0b8;font-size: 12px;padding: 0;margin: 0;cursor: pointer;text-align: left;}
.cmp-stat-sort:hover {color: #b9d5ea;}
.cmp-stat-val {padding: 7px 14px;text-align: center;font-size: 13px;color: #c8d8e8;border-bottom: 1px solid #1f2f42;white-space: nowrap;}
.cmp-stat-val.cmp-best {color: #2fbf71;font-weight: bold;}
.cmp-delta {margin-top: 2px;font-size: 10px;color: #6f859c;white-space: nowrap;}
.cmp-delta.cmp-delta-pos {color: #2fbf71;}
.cmp-delta.cmp-delta-neg {color: #e0565b;}
.compare-inline-msg {font-size: 13px;color: #8ca0b8;}
body.light-theme .player-pct-badge.pct-elite {background: #e4f7f4;border-color: #9ad9d3;color: #125b54;}
body.light-theme .player-pct-badge.pct-high {background: #e8f1ff;border-color: #b4cdf2;color: #214f86;}
body.light-theme .player-pct-badge.pct-mid {background: #fff4e5;border-color: #efcea0;color: #7b5316;}
body.light-theme .player-pct-badge.pct-base {background: #eef2f6;border-color: #cfd8e2;color: #4f5e6d;}
body.light-theme .alias-meta-badge {color: #4f5e6d;border-color: #cfd8e2;background: #eef2f6;}
body.light-theme .alias-meta-badge.alias-meta-churn {color: #8f2b2f;border-color: #f0b2b5;background: #ffe9ea;}
body.light-theme .cmp-box {background: #f5f8fb;border-color: #c5d5e5;box-shadow: 0 8px 40px rgba(0,0,0,0.2);}
body.light-theme .cmp-header { border-bottom-color: #c5d5e5; }
body.light-theme .cmp-title { color: #1e334d; }
body.light-theme .cmp-view-btn {border-color: #c5d5e5;background: #eef4fa;color: #5a7593;}
body.light-theme .cmp-view-btn:hover {color: #1d6fa0;border-color: #8cb4d8;}
body.light-theme .cmp-view-btn.active {background: #d9ebfb;color: #1e334d;border-color: #8cb4d8;}
body.light-theme .cmp-close { color: #5a7593; }
body.light-theme .cmp-close:hover { background: #dde8f2; color: #1e334d; }
body.light-theme .cmp-radar-canvas {border-color: #c5d5e5;background: radial-gradient(circle at center, rgba(29,111,160,0.08), rgba(29,111,160,0.01));}
body.light-theme .cmp-radar-legend-item { color: #3f5872; }
body.light-theme .cmp-table thead tr th { color: #1d6fa0; border-bottom-color: #c5d5e5; }
body.light-theme .cmp-stat-label { color: #5a7593; border-bottom-color: #dde8f2; }
body.light-theme .cmp-stat-sort { color: #5a7593; }
body.light-theme .cmp-stat-sort:hover { color: #1d6fa0; }
body.light-theme .cmp-stat-val { color: #2c3e50; border-bottom-color: #dde8f2; }
body.light-theme .cmp-stat-val.cmp-best { color: #0a7a45; }
body.light-theme .cmp-delta { color: #6f859c; }
body.light-theme .cmp-delta.cmp-delta-pos { color: #0a7a45; }
body.light-theme .cmp-delta.cmp-delta-neg { color: #c23d42; }
.activity-heatmap {overflow-x: auto;}
.activity-heatmap-grid {display: grid;grid-template-columns: 54px repeat(24, 12px);gap: 3px;align-items: center;}
.activity-heatmap-day {font-size: 11px;color: #9aa5b2;text-align: right;padding-right: 6px;}
.activity-heatmap-cell {width: 12px;height: 12px;display: inline-block;border: 1px solid #2f3a44;border-radius: 2px;background: #4ca3dd;}
.activity-heatmap-scale,
.activity-heatmap-empty {margin-top: 8px;color: #9aa5b2;font-size: 11px;}
#search_form {position: relative;display: inline-flex;align-items: center;}
#search_form input[type="text"] {width: 260px;height: 34px;padding: 6px 32px 6px 32px;border-radius: 17px;border: 1px solid #444;background-color: #141414;background-image: url(./css/backgrounds/search.gif);background-position: 10px center;background-repeat: no-repeat;font-size: 13px;color: #e0e0e0;transition: border-color 0.2s ease, box-shadow 0.2s ease;}
#search_form input[type="text"]:focus {border-color: #e89030;box-shadow: 0 0 0 3px rgba(232, 144, 48, 0.15);outline: none;}
#search_form input[type="text"]::placeholder {color: #666;}
#search_form button {height: 34px;padding: 0 16px;border-radius: 17px;margin-left: 4px;}
.kd-bar {display: inline-block;width: 40px;height: 6px;border-radius: 3px;background-color: #ef5350;overflow: hidden;vertical-align: middle;margin-left: 4px;}
.kd-bar-fill {display: block;height: 100%;background-color: #66bb6a;border-radius: 3px 0 0 3px;transition: width 0.3s ease;}
.skeleton-loader {display: flex;flex-direction: column;align-items: center;gap: 16px;padding: 40px 0;}
.skeleton-pulse {background: linear-gradient(90deg, #2a2a2a 25%, #3a3a3a 50%, #2a2a2a 75%);background-size: 200% 100%;animation: skeleton-shimmer 1.5s ease-in-out infinite;border-radius: 4px;}
.skeleton-bar {width: 80%;height: 14px;}
.skeleton-bar-short {width: 50%;height: 14px;}
.skeleton-circle {width: 48px;height: 48px;border-radius: 50%;}
@keyframes skeleton-shimmer {0% { background-position: 200% 0; }
100% { background-position: -200% 0; }}

[data-tooltip] {position: relative;cursor: pointer;}
[data-tooltip]::before,
[data-tooltip]::after {position: absolute;z-index: 100;pointer-events: none;opacity: 0;transition: opacity 0.2s ease;}
[data-tooltip]::before {content: attr(data-tooltip);bottom: calc(100% + 8px);left: 50%;transform: translateX(-50%);padding: 6px 10px;border-radius: 4px;background-color: #1a1a1a;border: 1px solid #444;color: #e0e0e0;font-size: 12px;white-space: nowrap;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);}
[data-tooltip]::after {content: '';bottom: calc(100% + 3px);left: 50%;transform: translateX(-50%);border: 5px solid transparent;border-top-color: #444;}
[data-tooltip]:hover::before,
[data-tooltip]:hover::after {opacity: 1;}
.scroll-to-top {position: fixed;bottom: 24px;right: 24px;width: 40px;height: 40px;border-radius: 50%;background-color: #2a2a2a;border: 1px solid #444;color: #e89030;font-size: 18px;cursor: pointer;display: none;align-items: center;justify-content: center;z-index: 999;transition: background-color 0.2s ease, opacity 0.3s ease, transform 0.3s ease;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);opacity: 0;transform: translateY(10px);}
.scroll-to-top.visible {display: flex;opacity: 1;transform: translateY(0);}
.scroll-to-top:hover {background-color: #383838;border-color: #e89030;}
.mod_image_non_static {background-color: #2a2a2a;border: 1px solid #444;border-radius: 4px;margin: 4px;}
.map_image {border: 2px solid #444;border-radius: 4px;box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);}
.mod_image {border: 2px solid #444;border-radius: 4px;box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);}
.footer {font-size: 11px;color: #666;padding: 24px 0;border-top: 1px solid #333;}
.weapon-grid {display: grid;grid-template-columns: repeat(3, 1fr);gap: 14px;padding: 12px 10px;}
.weapon-card {min-width: 0;}
.weapon-card > table {width: 100%;}
.weapon-card-head {display: flex;align-items: flex-start;gap: 8px;padding: 6px 8px;border-bottom: 1px solid #333;overflow: hidden;}
.weapon-card-head .mod_image_non_static {display: block;object-fit: contain;border-radius: 4px;}
.weapon-card-meta {display: flex;flex-direction: column;justify-content: flex-start;gap: 2px;flex: 1;min-width: 0;width: 100%;padding: 8px 0 0;}
.weapon-card-name {display: block;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;margin: 0 0 4px;font-size: 24px;line-height: 1.2;}
.weapon-rank {margin: 0;}
.weapon-stats-dl {display: grid;grid-template-columns: auto 1fr;gap: 0;margin: 0;padding: 4px 0;}
.weapon-stats-dl dt {text-align: right;white-space: nowrap;color: #aaa;font-size: 12px;padding: 3px 8px 3px 10px;align-self: center;}
.weapon-stats-dl dd {margin: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-size: 13px;padding: 3px 10px 3px 0;min-width: 0;align-self: center;}
.weapon-kill-dd {white-space: normal !important;overflow: visible !important;padding-top: 2px;padding-bottom: 2px;display: flex;align-items: center;}
@media (max-width: 1100px) {.weapon-grid {grid-template-columns: repeat(2, 1fr);}}

@media (max-width: 700px) {.weapon-grid {grid-template-columns: 1fr;}}

.weapon-rank {display: inline-block;background-color: #2e2e1a;color: #e89030;border: 1px solid #e89030;font-size: 12px;font-weight: bold;padding: 2px 8px;border-radius: 8px;margin: 0 0 2px 0;line-height: 1.2;align-self: flex-start;}
.weapon-kill-bar-outer {display: flex;align-items: center;gap: 6px;}
.weapon-kill-bar-wrap {flex: 1;height: 12px;background-color: #232323;border-radius: 8px;overflow: hidden;min-width: 110px;box-shadow: inset 0 0 0 1px rgba(232, 144, 48, 0.16);}
.weapon-kill-bar-fill {height: 100%;background: linear-gradient(90deg, #ffb56e 0%, #e89030 100%);opacity: 1;min-width: 6px;transition: width 0.4s ease, background-color 0.4s ease;}
.weapon-kill-bar-label {font-size: 11px;color: #f3d3a1;white-space: nowrap;min-width: 30px;text-align: right;font-weight: 700;}
body.light-theme .weapon-rank {background-color: #fff3e0;color: #b35e00;border-color: #e08030;}
body.light-theme .weapon-card-head {border-bottom-color: #ddd;}
body.light-theme .weapon-stats-dl dt {color: #555;}
body.light-theme .weapon-kill-bar-wrap {background-color: #ddd;}
body.light-theme .weapon-kill-bar-fill {background-color: #e08030;}
body.light-theme .weapon-kill-bar-label {color: #444;}
body.light-theme #weapon-jump-nav {background-color: #f0f0f0;border-bottom-color: #ccc;}
body.light-theme #weapon-jump-nav a {color: #444;background-color: #fff;border-color: #ccc;}
body.light-theme #weapon-jump-nav a:hover {color: #b35e00;border-color: #e08030;background-color: #fff8ef;}
body.light-theme {background-color: #f3f2ee;color: #1d1d1d;}
body.light-theme a {color: #944000;}
body.light-theme a:hover {color: #b34f00;}
body.light-theme input,
body.light-theme select,
body.light-theme button {background-color: #ffffff;color: #232323;border-color: #bfc3c7;}
body.light-theme input:focus,
body.light-theme select:focus,
body.light-theme button:hover {border-color: #b34f00;}
body.light-theme #top_menu {background-image: none;background-color: #e7e4dc;border-top: none;border-bottom: none;}
body.light-theme #top_menu_nav li {border-right: none;}
body.light-theme #top_menu_nav a {color: #242424;background-color: rgba(255, 255, 255, 0.96);border: 1px solid #c9c5bc;box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);}
body.light-theme #top_menu_nav a:hover {color: #ffffff;background-color: #b34f00;border-color: #a44700;}
body.light-theme #main_contents,
body.light-theme .contents_tbl {background-color: #fcfcfb;color: #1d1d1d;box-shadow: none;}
body.light-theme .contents_tbl td {border-color: #d3d3d0;}
body.light-theme .tbl_hrow_1 {background-color: #f4f4f1;}
body.light-theme .tbl_hrow_2 {background-color: #ecebe6;}
body.light-theme .tbl_hrow_h {background-color: #f1e4d4;}
body.light-theme .tbl_hrow_name {background: linear-gradient(135deg, #eee6dc 0%, #e1d8ca 100%);}
body.light-theme .contents_tbl thead th,
body.light-theme .contents_tbl tr.tbl_header td {background-color: #f7f5f1;border-bottom-color: #b34f00;color: #1b1b1b;}
body.light-theme .server-status-page {background-color: #f9fafb;color: #1d1d1d;}
body.light-theme .server-status-map-card,
body.light-theme .server-status-info-card,
body.light-theme .server-status-team-card,
body.light-theme .server-status-offline-card {background-color: #ffffff;border-color: #d5d7db;box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);color: #1d1d1d;}
body.light-theme .server-status-map-name,
body.light-theme .server-status-field,
body.light-theme .server-status-server-link,
body.light-theme .server-status-badge,
body.light-theme .team-title {color: #1f2937;}
body.light-theme .server-status-title-group h3 {text-shadow: 0 0 4px rgba(0, 0, 0, 0.55), 0 1px 2px rgba(0, 0, 0, 0.4);}
body.light-theme .server-status-field {color: #4d565f;}
body.light-theme .server-status-badge {background: #e0e7ef;color: #1f2937;}
body.light-theme .server-status-badge.online {background: #d7f3d9;color: #166523;}
body.light-theme .server-status-badge.offline {background: #ffe6e6;color: #9d2b2b;}
body.light-theme .server-status-server-link {color: #0f4d91;}
body.light-theme .refresh-server-status-button {background-color: #0f4d91;color: #ffffff;}
body.light-theme .refresh-server-status-button:hover {background-color: #1a68b7;}
body.light-theme .team-title {background-color: #f4f5f7;border-color: #d5d7db;}
body.light-theme .server-status-player-table {background-color: #ffffff;}
body.light-theme .pagination .page-label {color: #2a2a2a;}
body.light-theme .pagination a {background-color: #f4f4f1;color: #2a2a2a;border-color: #c5c5c2;}
body.light-theme .pagination a:hover {background-color: #efe3d5;color: #8f3e00;border-color: #b34f00;}
body.light-theme .pagination .page-current {background-color: #b34f00;border-color: #b34f00;color: #ffffff;}
body.light-theme .table-toolbar-label {color: #5c5c58;}
body.light-theme .table-toolbar-select {background-color: #f4f4f1;border-color: #c5c5c2;}
body.light-theme .table-toolbar input[type="number"] {background-color: #f4f4f1;border-color: #c5c5c2;color: #2a2a2a;}
body.light-theme .table-toolbar-button {background-color: #f4f4f1;border-color: #c5c5c2;}
body.light-theme .table-toolbar-button:hover {background-color: #efe3d5;border-color: #b34f00;}
body.light-theme .activity-heatmap-day,
body.light-theme .activity-heatmap-scale,
body.light-theme .activity-heatmap-empty {color: #5f6770;}
body.light-theme .activity-heatmap-cell {border-color: #c8d6e5;background: #2f89c2;}
body.light-theme #search_form input[type="text"] {background-color: #ffffff;border-color: #c2c2c2;color: #1f1f1f;}
body.light-theme #search_form input[type="text"]:focus {border-color: #b34f00;box-shadow: 0 0 0 3px rgba(179, 79, 0, 0.14);}
body.light-theme #search_form input[type="text"]::placeholder {color: #767676;}
body.light-theme .skeleton-pulse {background: linear-gradient(90deg, #e7e7e4 25%, #f4f4f1 50%, #e7e7e4 75%);}
body.light-theme [data-tooltip]::before {background-color: #ffffff;border-color: #c9c9c6;color: #1c1c1c;}
body.light-theme [data-tooltip]::after {border-top-color: #c9c9c6;}
body.light-theme .player_image,
body.light-theme .mod_image_non_static,
body.light-theme .map_image,
body.light-theme .mod_image {background-color: #efefeb;border-color: #bebebe;}
body.light-theme .skill-pill {background: #f0efeb;border-color: #c2c2be;}
body.light-theme .signature-label {color: #5f7488;}
body.light-theme .signature-code {border-color: #c5d5e5;background: #ffffff;color: #2c3e50;}
body.light-theme .signature-copy-btn {border-color: #b8ccdf;background: #e8f1fa;color: #24415c;}
body.light-theme .signature-copy-btn:hover {background: #d8e8f7;}
body.light-theme .scroll-to-top {background-color: #ffffff;border-color: #bfc3c7;color: #944000;}
body.light-theme .scroll-to-top:hover {background-color: #efe3d5;border-color: #b34f00;}
body.light-theme .theme-toggle {background-color: #ffffff;border-color: #bfc3c7;color: #944000;}
body.light-theme .theme-toggle:hover {background-color: #efe3d5;border-color: #b34f00;color: #8f3e00;}
body.light-theme .rating-positive {color: #1f7a3e;}
body.light-theme .rating-negative {color: #b63c3c;}
body.light-theme .rating-zero {color: #666;}
body.light-theme a .et-colored,
body.light-theme td[title="Name"] .et-colored,
body.light-theme .playername_span .et-colored {color: #1e1e1e !important;}
body.light-theme .footer {border-top-color: #cac8c2;color: #5f5f5f;}
