.back { display: inline-block; padding: 8px 14px; border: 1px solid var(--line2); background: var(--panel2); color: var(--text); text-decoration: none; border-radius: 2px; font-weight: 600; }
.back:hover { border-color: var(--accent); }
.grid button.gamebtn { text-align: left; display: flex; flex-direction: column; gap: 4px; padding: 16px; background: var(--panel); border: 1px solid var(--line); border-left: 3px solid var(--accent); color: var(--text); cursor: pointer; border-radius: 0; }
.gamebtn:hover { background: var(--panel2); }
.gamebtn .name { font: 700 26px "Barlow Condensed", "Arial Narrow", sans-serif; letter-spacing: .05em; text-transform: uppercase; }
.gamebtn .sub { font-size: 13px; color: var(--mute); }
.backdrop { position: fixed; inset: 0; z-index: 10; background: rgba(8,11,6,.78); display: flex; align-items: center; justify-content: center; padding: 16px; }
.backdrop[hidden] { display: none; }
.dialog { position: relative; width: min(640px, 100%); max-height: 88vh; overflow: auto; background: var(--panel); border: 1px solid var(--line2); padding: 22px 20px 20px; }
.dialog h2 { margin: 0 40px 8px 0; font: 700 28px "Barlow Condensed", "Arial Narrow", sans-serif; letter-spacing: .06em; color: var(--text); }
.close { position: absolute; top: 8px; right: 8px; width: 40px; height: 40px; padding: 0; font-size: 28px; line-height: 1; background: var(--panel2); }
.close:hover { border-color: var(--accent); }
.tablewrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: 15px; }
th, td { padding: 7px 8px; text-align: left; border-bottom: 1px solid var(--line); white-space: nowrap; }
th { color: var(--mute); font: 600 12px "Barlow Condensed", sans-serif; letter-spacing: .14em; text-transform: uppercase; }
td.num, th.num { text-align: right; font-family: "IBM Plex Mono", monospace; }
td.rank { font-family: "IBM Plex Mono", monospace; color: var(--mute); width: 3ch; }
td.nick { max-width: 18ch; overflow: hidden; text-overflow: ellipsis; }
tr.me td { background: rgba(242,194,48,.12); }
tr.top1 td.rank { color: var(--accent); font-weight: 700; }
