.excel-table-panel { min-width: 0; max-width: 100%; margin: 1.5rem 0; color: #203f52; }
.excel-table-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin: 1rem 0; }
.excel-table-controls button, .excel-table-panel th button { font: inherit; cursor: pointer; color: #204c63; }
.excel-table-controls button { padding: .5rem 1rem; border: 1px solid #96bdcf; border-radius: 2rem; background: #e7f4fa; }
.excel-table-scroll { overflow: auto; max-height: 70vh; border: 1px solid #b8d3df; border-radius: 12px; background: #fff; }
.markdown-content .excel-table-panel table { display: table; width: 100%; table-layout: fixed; margin: 0; border-collapse: separate; border-spacing: 0; font-size: var(--table-font-size, 13px); }
.excel-table-controls input { width: 4.5rem; padding: .35rem; border: 1px solid #96bdcf; border-radius: .5rem; background: white; color: #204c63; font: inherit; }
.excel-table-controls .excel-table-search input { width: min(18rem, 42vw); }
.excel-table-controls select { padding: .4rem .55rem; border: 1px solid #96bdcf; border-radius: .5rem; background: white; color: #204c63; font: inherit; }
.excel-table-source { margin: .35rem 0; color: #71858e; font-size: .78rem; }
.markdown-content .excel-table-panel td, .markdown-content .excel-table-panel th { font-size: inherit; }
.excel-score-cell { font-family: 'Cherry Bomb One', cursive; text-align: center; }
.excel-score { display: inline-block; position: relative; min-width: 3em; font-size: 1.45em; text-align: center; color: var(--score-color); line-height: 1.6; isolation: isolate; }
.excel-score--normal { background: linear-gradient(110deg, var(--score-color) 30%, #e7f5dd 48%, var(--score-color) 60%); background-size: 220% 100%; background-clip: text; -webkit-background-clip: text; color: transparent; -webkit-text-stroke: .25px var(--score-color); animation: score-glitter 4s linear infinite; }
.excel-score-meter { display: block; width: 4.8em; height: 3px; margin: .15em auto 0; overflow: hidden; border-radius: 99px; background: #dfe9ed; }
.excel-score-meter > span { display: block; height: 100%; border-radius: inherit; background: var(--score-color); }
.excel-table-panel th:nth-child(1), .excel-table-panel td:nth-child(1) { width: 7%; }
.excel-table-panel th:nth-child(2), .excel-table-panel td:nth-child(2) { width: 35%; }
.excel-table-panel th:nth-child(3), .excel-table-panel td:nth-child(3) { width: 17%; }
.excel-table-panel th:nth-child(4), .excel-table-panel td:nth-child(4) { width: 10%; }
.excel-table-panel th:nth-child(5), .excel-table-panel td:nth-child(5) { width: 13%; }
.excel-table-panel th:nth-child(6), .excel-table-panel td:nth-child(6) { width: 10%; }
.excel-score--gold { background: linear-gradient(110deg, #875400 10%, #bc810d 30%, #ffe4a0 48%, #956000 62%, #cc9318 85%); background-size: 220% 100%; background-clip: text; -webkit-background-clip: text; color: transparent; -webkit-text-stroke: .25px #875400; animation: score-glitter 3.5s linear infinite; }
.excel-score--gold::after { content: ''; position: absolute; inset: 0 -.15em; pointer-events: none; background: radial-gradient(circle at 10% 25%, #d59a16 0 1px, transparent 1.8px), radial-gradient(circle at 90% 65%, #e4b443 0 1px, transparent 1.8px), radial-gradient(circle at 70% 10%, #c18812 0 1px, transparent 1.8px); animation: score-sparkle 2.4s ease-in-out infinite alternate; }
.excel-score--slime { transform-origin: center bottom; animation: score-squish 3.2s ease-in-out infinite; text-shadow: 0 2px 0 #f5bcc2; }
.excel-score--slime::after { content: ''; position: absolute; bottom: .1em; left: 12%; width: 76%; height: .2em; border-radius: 50% 40% 55% 35%; background: #b4233233; z-index: -1; }
@keyframes score-glitter { to { background-position: -220% 0; } }
@keyframes score-sparkle { from { opacity: .25; transform: scale(.9); } to { opacity: 1; transform: scale(1.1); } }
@keyframes score-squish { 0%, 100% { transform: scale(1, 1); } 40% { transform: scale(1.08, .85) skewX(-3deg); } 65% { transform: scale(.96, 1.06) skewX(2deg); } }
@media (prefers-reduced-motion: reduce) { .excel-score, .excel-score::after { animation: none; } }
.excel-table-panel caption { padding: .8rem; text-align: left; font-weight: 700; color: #204c63; }
.markdown-content .excel-table-panel th { position: sticky; top: 0; background: #e0f1f8; padding: 0; z-index: 1; }
.excel-table-panel th button { display: block; width: 100%; padding: .8rem; border: 0; background: transparent; text-align: left; white-space: nowrap; font-weight: 700; }
.markdown-content .excel-table-panel td { padding: .65rem .8rem; border-bottom: 1px solid #dfebf0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.excel-table-panel .excel-name-cell { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.excel-category-cell { text-align: center; }
.excel-category-cell::before { content: ''; display: inline-block; width: .45em; height: .45em; margin-right: .35em; border-radius: 50%; vertical-align: .08em; background: currentColor; }
.excel-category--game { color: #24735e; background: #e9f7ef; }
.excel-category--dlc { color: #9a6511; background: #fff4d9; }
.excel-category--sw { color: #3966a0; background: #eaf2ff; }
.excel-category--died { color: #b42332; background: #ffeaed; font-weight: 700; }
.excel-name-copy { display: block; width: 100%; overflow: hidden; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.excel-name-copy:hover { color: #176987; text-decoration: underline; text-decoration-style: dotted; text-underline-offset: .18em; }
.excel-table-panel tbody tr:nth-child(even) { background: #f5fafc; }
.excel-table-panel tbody tr:hover { background: #e9f5fa; }
.excel-table-panel :focus-visible { outline: 3px solid #287c9f; outline-offset: -3px; }
