/* Shared public race / admin controls, using CSDouble's dark palette. */
html { color-scheme: dark; }
body { margin:0; padding-top:0!important; background:#171717; color:#ddd; font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; }
.lb-page { width:calc(100% - 48px); max-width:1240px; margin:105px auto 45px; min-height:60vh; }
.lb-page [hidden] { display:none!important; }
.lb-page h1,.lb-page h2,.lb-page h3,.lb-page p { margin:0; }
.lb-page a { color:#91c99a; text-decoration:none; }
.lb-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:28px; }
.lb-eyebrow { color:#80bd8a; letter-spacing:.12em; font-size:11px; font-weight:700; text-transform:uppercase; }
.lb-heading h1 { font-size:32px; color:#f5f5f5; font-weight:700; margin:9px 0; }
.lb-heading p { color:#949494; font-size:14px; }
.lb-edition-label { display:flex; flex-direction:column; gap:7px; font-size:11px; text-transform:uppercase; letter-spacing:.07em; color:#999; min-width:210px; }
.lb-page select,.lb-page input:not([type=hidden]):not([type=checkbox]),.lb-page textarea { background:#202220; border:1px solid #383b38; border-radius:6px; padding:11px 12px; color:#eee; font:inherit; box-sizing:border-box; max-width:100%; }
.lb-page select { text-transform:none; letter-spacing:normal; font-size:13px; }
.lb-page input[type=checkbox] { accent-color:#69a976; }
.lb-page :focus-visible { outline:2px solid #7ab985; outline-offset:3px; }
.lb-race-summary { display:grid; grid-template-columns:1.3fr .65fr 1fr; align-items:center; gap:28px; border:1px solid #343834; border-radius:10px; background:linear-gradient(115deg,#242a25,#202220 70%); padding:25px 30px; }
.lb-race-summary h2 { font-size:21px; font-weight:600; color:#f1f1f1; margin:8px 0 12px; }
.lb-games { display:flex; flex-wrap:wrap; gap:6px; }
.lb-game { font-size:11px; color:#b8c4ba; background:#303931; border:1px solid #3e4a40; padding:4px 9px; border-radius:4px; }
.lb-pool { border-left:1px solid #3c423d; border-right:1px solid #3c423d; text-align:center; }
.lb-pool>span,.lb-countdown>span { display:block; font-size:12px; color:#aaa; margin-bottom:5px; }
.lb-pool strong { font-size:30px; font-weight:700; color:#85c792; display:block; overflow-wrap:anywhere; }
.lb-pool small { font-size:11px; color:#a7b1a9; }
.lb-countdown { text-align:right; min-width:0; }
.lb-countdown strong { font-size:22px; color:#e9eeea; display:block; white-space:nowrap; font-variant-numeric:tabular-nums; }
.lb-countdown small { display:block; color:#858d87; font-size:10px; margin-top:8px; }
.lb-podium { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:end; margin:38px 0 24px; }
.lb-podium-card { position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; min-height:232px; border:1px solid #383b38; background:linear-gradient(180deg,#282b28,#202220); border-radius:10px; padding:28px 16px 20px; overflow:hidden; }
.lb-place-1 { min-height:260px; border-color:#667d45; background:linear-gradient(160deg,#30392a,#242823 65%); }
.lb-place-2 { border-top:2px solid #8e999f; }
.lb-place-3 { border-top:2px solid #967258; }
.lb-place-mark { position:absolute; top:13px; left:17px; font-size:17px; font-weight:700; color:#839089; }
.lb-place-1 .lb-place-mark { color:#b8ce8b; }
.lb-place-3 .lb-place-mark { color:#c3997e; }
.lb-avatar { display:inline-flex; position:relative; align-items:center; justify-content:center; width:34px; height:34px; flex:0 0 34px; overflow:hidden; border-radius:50%; color:#a8c6ae; background:#39423b; font-size:14px; font-weight:700; }
.lb-avatar img { position:absolute; width:100%; height:100%; object-fit:cover; inset:0; }
.lb-podium-card>.lb-avatar { width:66px; height:66px; flex:0 0 66px; border:3px solid #454e47; font-size:25px; margin:5px 0 17px; }
.lb-place-1>.lb-avatar { width:78px; height:78px; flex-basis:78px; border-color:#71884c; }
.lb-player { display:inline-flex; align-items:center; gap:9px; min-width:0; }
.lb-name { color:#f2f2f2; overflow-wrap:anywhere; font-size:13px; }
.lb-level { display:inline-flex; align-items:center; justify-content:center; background:#303d34; border:1px solid #526657; color:#9dc6a8; min-width:25px; height:21px; font-weight:700; font-size:10px; border-radius:3px; padding:0 4px; }
.lb-tier-0 { background:#333; border-color:#555; color:#bbb; }
.lb-tier-1,.lb-tier-2 { color:#bd9e80; border-color:#71604e; background:#3b332b; }
.lb-tier-3,.lb-tier-4 { color:#b6c1ce; border-color:#626e7a; background:#30363c; }
.lb-tier-5,.lb-tier-6 { color:#e3c375; border-color:#827148; background:#3f3828; }
.lb-tier-7,.lb-tier-8 { color:#a6d3db; border-color:#537b83; background:#293d40; }
.lb-tier-9,.lb-tier-10 { color:#c2afff; border-color:#7a68ad; background:#382f4b; }
.lb-podium-card .lb-player { max-width:100%; justify-content:center; }
.lb-podium-card .lb-player .lb-avatar { display:none; }
.lb-podium-card .lb-name { font-weight:600; font-size:14px; }
.lb-podium-xp { font-size:12px; color:#a6afa8; margin:10px 0 16px; font-weight:400; }
.lb-podium-prize { margin-top:auto; display:flex; align-items:baseline; gap:7px; border-top:1px solid #383e39; padding-top:15px; justify-content:center; width:100%; }
.lb-podium-prize strong { font-size:23px; color:#92c89d; overflow-wrap:anywhere; min-width:0; }
.lb-podium-prize span { font-size:11px; color:#899b8d; }
.lb-placeholder-trophy { font-size:37px; color:#616a60; margin:14px 0 22px; }
.lb-podium-name { font-size:14px; color:#8e998f; }
.lb-board { margin:22px 0; background:#202220; border:1px solid #373a37; border-radius:9px; overflow:hidden; }
.lb-board-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:19px 23px; border-bottom:1px solid #343834; }
.lb-board-heading h2 { font-size:16px; color:#eee; font-weight:600; }
.lb-board-heading h2 span { color:#858e87; font-size:11px; font-weight:400; margin-left:9px; }
.lb-board-heading>span { color:#848d86; font-size:11px; }
.lb-table-wrap { width:100%; overflow:auto; }
.lb-table { width:100%; border-collapse:collapse; font-size:13px; font-variant-numeric:tabular-nums; }
.lb-table th { background:#232623; color:#858e87; font-weight:500; font-size:11px; padding:13px 24px; text-transform:uppercase; letter-spacing:.04em; }
.lb-table td { padding:13px 24px; border-top:1px solid #2d322e; vertical-align:middle; }
.lb-table th:first-child,.lb-table td:first-child { width:95px; text-align:center; }
.lb-table th:nth-last-child(-n+2),.lb-table td:nth-last-child(-n+2) { text-align:right; }
.lb-table tbody tr { transition:background .18s ease; }
.lb-table tbody tr:hover { background:#272d28; }
.lb-table .lb-is-me { background:#2a382d; }
.lb-rank { color:#9ca99e; }
.lb-xp { color:#eee; }
.lb-prize { color:#8ac495; white-space:nowrap; }
.lb-table .lb-table-empty { padding:40px 20px; text-align:center; color:#89928a; }
.lb-mine { padding:19px 25px; display:flex; flex-wrap:wrap; align-items:center; gap:18px; background:#27302a; border-top:1px solid #3d4b40; font-size:13px; color:#a9baad; }
.lb-mine>strong { color:#eef4ef; }
.lb-mine>.lb-prize { margin-left:auto; }
.lb-pagination { display:flex; align-items:center; justify-content:center; gap:15px; padding:16px; color:#999; font-size:12px; }
.lb-pagination:empty { display:none; }
.lb-button { display:inline-flex; align-items:center; justify-content:center; gap:7px; background:#303731; border:1px solid #48524a; border-radius:5px; padding:10px 15px; font-size:12px; color:#dbe6dd!important; cursor:pointer; transition:background .18s ease; text-align:center; }
.lb-button:hover { background:#3b483e; color:#fff!important; text-decoration:none; }
.lb-button:disabled { opacity:.4; cursor:default; }
.lb-primary { background:#44744c; border-color:#648f6c; color:#f0f7f1!important; }
.lb-primary:hover { background:#53835b; }
.lb-selected { border-color:#75a980; background:#364a3c; }
.lb-how { background:#202220; border:1px solid #363b36; border-radius:8px; margin:22px 0; }
.lb-how summary { list-style:none; padding:18px 23px; color:#c2cbc4; cursor:pointer; font-size:13px; }
.lb-how summary::-webkit-details-marker { display:none; }
.lb-how summary i { float:right; }
.lb-how>div { padding:0 23px 21px; color:#989f99; font-size:13px; line-height:1.8; }
.lb-how p { margin:0 0 14px; }
.lb-how h3 { font-size:13px; color:#c5d0c7; margin:20px 0 12px; }
.lb-prize-ladder { display:flex; flex-wrap:wrap; gap:8px; }
.lb-prize-ladder span { padding:6px 10px; background:#2b332d; border:1px solid #3c473f; border-radius:4px; color:#acc5b2; font-size:12px; }
.lb-notice { background:#34332a; border:1px solid #625b3d; color:#d9ce9d; padding:15px 20px; border-radius:7px; margin-bottom:20px; font-size:13px; }
.lb-success { background:#263d2c; border-color:#4f7656; color:#b8ddc0; }
.lb-empty { text-align:center; background:#202420; border:1px solid #383e38; border-radius:10px; padding:70px 20px; }
.lb-empty>i { font-size:45px; color:#74957a; margin-bottom:23px; }
.lb-empty h2 { font-size:22px; margin-bottom:12px; }
.lb-empty p { color:#999; }
.lb-actions,.lb-edition-list { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.lb-edition-list { max-height:180px; overflow:auto; }
.lb-edition-list small { color:#9caf9f; }
.lb-admin-form { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:25px; }
.lb-admin-form>label { display:flex; flex-direction:column; gap:8px; font-weight:500; color:#adb9af; font-size:12px; }
.lb-admin-form .lb-wide { grid-column:1/-1; }
.lb-admin-form small,.lb-admin-form .lb-actions span { color:#8f9a91; font-weight:400; font-size:12px; }
.lb-admin-form textarea { resize:vertical; font-family:monospace; line-height:1.7; }
.lb-admin-form input[readonly] { color:#9ba69d; background:#242824; }
.lb-prize-editor { min-width:0; }
.lb-prize-setup { display:grid; grid-template-columns:minmax(110px,.6fr) minmax(170px,1.4fr) auto; gap:13px; align-items:end; margin-bottom:10px; }
.lb-prize-setup label { display:flex; flex-direction:column; gap:8px; font-size:12px; font-weight:500; color:#adb9af; min-width:0; }
.lb-prize-setup .lb-button { min-height:41px; }
.lb-prize-rows { display:grid; grid-template-columns:1fr 1fr; gap:8px 18px; max-height:310px; overflow:auto; padding:13px; margin:16px 0 12px; background:#1b1f1c; border:1px solid #343e36; border-radius:7px; }
.lb-prize-row { display:grid; grid-template-columns:34px minmax(0,1fr) 57px; gap:8px; align-items:center; margin:0; min-width:0; }
.lb-prize-row>span { color:#9cab9f; font-weight:600; font-size:12px; }
.lb-prize-row:first-child>span { color:#d3c187; }.lb-prize-row:nth-child(2)>span { color:#b6c1ce; }.lb-prize-row:nth-child(3)>span { color:#c3997e; }
.lb-prize-row input { width:100%; font-size:13px!important; padding:8px 10px!important; font-variant-numeric:tabular-nums; }
.lb-prize-row .lb-share { text-align:right; font-size:10px; }
.lb-prize-total { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; font-size:12px; color:#8fc99b; }
.lb-prize-total .lb-prize-mismatch { color:#d9bc8b; }
.lb-prize-total .lb-button { padding:6px 10px; font-size:11px; }
.lb-page .lb-danger { background:#3b2c2d; border-color:#694449; color:#d9b5b9!important; }.lb-page .lb-danger:hover { background:#503539; }
.lb-delete-control summary { list-style:none; }.lb-delete-control summary::-webkit-details-marker { display:none; }
.lb-delete-control[open] { flex-basis:100%; }.lb-delete-control>form { margin-top:12px; padding:16px; background:#2b2525; border:1px solid #594044; border-radius:6px; }
.lb-delete-control label { display:block; font-size:12px; font-weight:400; margin:12px 0; }
.lb-admin-form fieldset { padding:0; border:0; }
.lb-admin-form legend { color:#aebbb1; font-size:12px; border:0; margin-bottom:10px; }
.lb-checks { display:flex; flex-wrap:wrap; gap:25px; }
.lb-checks label { font-weight:400; font-size:13px; }
.lb-admin-controls { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:20px 25px; border-top:1px solid #394039; }
.lb-admin-controls p { flex-basis:100%; margin-bottom:8px; font-size:13px; color:#99a69c; }
.lb-locked { padding:25px; }
.lb-locked h3 { font-size:20px; margin-bottom:16px; }
.lb-locked p { color:#a2ada5; margin:16px 0; }
.lb-approval { padding:24px; background:#28362b; border-top:1px solid #4b6350; }
.lb-approval h3 { font-size:19px; color:#c8e3ce; margin-bottom:12px; }
.lb-approval p { color:#a4b8a9; font-size:13px; margin-bottom:17px; }
.lb-approval label { display:block; font-size:13px; font-weight:400; margin-bottom:20px; }
.lb-admin .lb-table { min-width:600px; }
.lb-audit-filter { display:flex; align-items:center; gap:10px; }
.lb-audit-filter label { font-weight:400; font-size:12px; margin:0; }
.lb-audit-filter input { width:90px; }
.lb-how code { color:#a8bab0; background:#292d29; white-space:pre-wrap; overflow-wrap:anywhere; }
@media(max-width:900px) { .lb-race-summary { gap:18px; padding:20px; }.lb-countdown strong { font-size:17px; }.lb-pool strong { font-size:24px; }.lb-race-summary h2 { font-size:18px; }.lb-admin .lb-heading { align-items:flex-start; flex-direction:column; } }
@media(max-width:600px) {
    .lb-prize-setup { grid-template-columns:1fr 1fr; }.lb-prize-setup .lb-button { grid-column:1/-1; }.lb-prize-rows { grid-template-columns:1fr; gap:9px; padding:10px; max-height:285px; }
    .lb-page { width:calc(100% - 24px); margin-top:85px; }.lb-heading { align-items:flex-start; flex-direction:column; gap:18px; }.lb-heading h1 { font-size:27px; }.lb-edition-label { width:100%; }
    .lb-race-summary { grid-template-columns:1fr 1fr; gap:22px 14px; }.lb-race-summary>div:first-child { grid-column:1/-1; }.lb-pool { text-align:left; border:0; }.lb-countdown strong { font-size:15px; }.lb-countdown small { font-size:9px; }
    .lb-podium { gap:7px; margin-top:25px; }.lb-podium-card { min-height:200px; padding:33px 5px 12px; border-radius:7px; }.lb-place-1 { min-height:222px; }.lb-place-mark { top:10px; left:10px; font-size:13px; }
    .lb-podium-card>.lb-avatar { width:45px; height:45px; flex-basis:45px; margin:2px 0 12px; }.lb-place-1>.lb-avatar { width:55px; height:55px; flex-basis:55px; }.lb-podium-card .lb-player { gap:5px; flex-wrap:wrap; }.lb-podium-card .lb-name { font-size:11px; flex-basis:100%; }.lb-podium-card .lb-level { height:17px; font-size:9px; }
    .lb-podium-xp { font-size:10px; margin:8px 0 11px; }.lb-podium-prize { gap:4px; flex-wrap:wrap; padding-top:10px; }.lb-podium-prize strong { font-size:15px; }.lb-podium-prize span { font-size:9px; }.lb-placeholder-trophy { font-size:29px; margin:10px 0 14px; }.lb-podium-name { font-size:11px; }
    .lb-board-heading { padding:16px 13px; flex-wrap:wrap; gap:8px; }.lb-board-heading h2 { font-size:14px; }.lb-board-heading h2 span { font-size:10px; }.lb-board-heading>span { font-size:10px; }
    .lb-table { min-width:410px; }.lb-table td,.lb-table th { padding:12px 10px; }.lb-table th:first-child,.lb-table td:first-child { width:52px; }.lb-table .lb-avatar { width:27px; height:27px; flex-basis:27px; }.lb-name { font-size:11px; }.lb-player { gap:5px; }.lb-table td { font-size:11px; }
    .lb-mine { padding:16px 13px; gap:12px; font-size:11px; }.lb-how summary { padding:17px; }.lb-how>div { padding:0 17px 17px; font-size:12px; }
    .lb-admin-form { grid-template-columns:1fr; padding:18px; }.lb-admin .lb-button { font-size:11px; }.lb-admin-controls,.lb-locked,.lb-approval { padding:18px; }
}
@media(prefers-reduced-motion:reduce) { .lb-page * { transition:none!important; } }

/* Double Hall of Heroes: compact standings, without a hero image. */
.hall-page { max-width:1180px; color:#ececec!important; }
.hall-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; margin-bottom:20px; }
.hall-heading-main { min-width:0; }
.hall-title-line { display:flex; align-items:center; gap:10px; }
.hall-title-line>i { color:#949494!important; font-size:17px; }
.hall-page h1 { color:#eee!important; font-size:20px; line-height:1.4; font-weight:600; }
.hall-heading-side { display:flex; flex-direction:column; align-items:flex-end; gap:12px; flex-shrink:0; }
.hall-pool { text-align:right; }
.hall-pool>span { display:block; margin-bottom:4px; font-size:8px; letter-spacing:.12em; color:#808080!important; }
.hall-pool>div { display:flex; align-items:baseline; justify-content:flex-end; gap:7px; }
.hall-pool i { font-size:14px; color:#d5b778!important; }
.hall-pool strong { font-size:23px; font-weight:700; color:#f2f2f2!important; font-variant-numeric:tabular-nums; }
.hall-pool small { font-size:10px; color:#888!important; }
.hall-page .hall-how-link { display:inline-flex; align-items:center; gap:6px; color:#929292!important; font-size:10px; text-decoration:none; }
.hall-page .hall-how-link:hover { color:#dedede!important; }
.hall-event-brand { width:min(442px,93.6%); margin:0 auto 20px; }
.hall-event-brand img { display:block; width:100%; height:auto; }
.hall-podium { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:24px; max-width:880px; margin:0 auto; padding:12px 0 0; }
.hall-champion { --metal:#bfc8cd; --tint:191,200,205; position:relative; min-width:0; overflow:hidden; padding:24px 20px 21px; border:1px solid #303030!important; border-radius:8px; background:radial-gradient(ellipse at 50% 0%,rgba(var(--tint),.07),transparent 72%),#1c1c1c; }
.hall-place-1 { --metal:#e6c278; --tint:230,194,120; border-top-color:#6d5a35!important; }
.hall-place-2 { margin-top:30px; }
.hall-place-3 { --metal:#c99677; --tint:201,150,119; margin-top:50px; }
.hall-player-heading { display:flex; justify-content:center; align-items:center; gap:10px; min-height:48px; }
.hall-portrait { flex:0 0 auto; display:flex; padding:3px; border:1px solid var(--metal)!important; border-radius:50%; }
.hall-portrait .lb-avatar,.hall-vacant { width:38px; height:38px; flex-basis:38px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:#303333; color:#d9d9d9!important; font-size:15px; }
.hall-player-identity { min-width:0; }
.hall-player-identity>.lb-player { display:flex; align-items:center; gap:5px; max-width:100%; }
.hall-player-identity .lb-player>.lb-avatar { display:none; }
.hall-player-identity .lb-name { min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:13px; font-weight:600; line-height:1.4; color:#eee!important; }
.hall-player-identity .lb-level { flex-shrink:0; min-width:19px; height:17px; font-size:8px; }
.hall-place-label { display:block; margin-top:4px; color:var(--metal)!important; font-size:11px; }
.hall-vacancy { font-size:12px; font-weight:500; color:#929292!important; }
.hall-score { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; margin:25px 0 18px; padding:19px 8px; border-radius:5px; background:#14141485; text-align:center; }
.hall-score>span { font-size:9px; font-weight:500; letter-spacing:.12em; color:#848484!important; }
.hall-score strong { font-size:27px; font-weight:700; color:#eaeaea!important; line-height:1.2; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; max-width:100%; }
.hall-prize { display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; }
.hall-prize>span { font-size:9px; color:#777!important; letter-spacing:.08em; text-transform:uppercase; }
.hall-prize>div { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:center; gap:6px; max-width:100%; }
.hall-prize i { font-size:13px; color:var(--metal)!important; }
.hall-prize strong { color:var(--metal)!important; font-size:23px; line-height:1.3; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; max-width:100%; }
.hall-prize small { color:#929292!important; font-size:10px; }
.hall-countdown { display:flex; align-items:center; justify-content:center; gap:20px; margin:28px 0 35px; padding:8px 0; }
.hall-time-caption { display:flex; align-items:center; gap:9px; color:#a1aaa3!important; font-size:11px; font-weight:500; white-space:nowrap; }
.hall-time-caption>i { color:#78ae82!important; font-size:15px; }
.hall-clock-row { min-width:0; }
.hall-clock { display:flex; justify-content:center; gap:6px; }
.hall-clock>span { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; min-width:62px; padding:11px 9px 9px; border:1px solid #323732!important; border-radius:5px; background:#202220; }
.hall-clock strong { color:#e1e7e2!important; font-size:20px; font-weight:600; line-height:1; font-variant-numeric:tabular-nums; }
.hall-clock small { font-size:8px; font-weight:500; letter-spacing:.06em; line-height:1.2; color:#7f8981!important; }
.hall-clock>span:last-child strong { color:#8fc59a!important; }
.hall-page .lb-board { border:0; background:none; border-radius:0; margin:0; overflow:visible; }
.hall-page .lb-board-heading { padding:0 0 12px; border:0; }
.hall-page .lb-board-heading h2 { font-size:13px; color:#aaa!important; }
.hall-page .lb-board-heading h2 span { color:#747474!important; font-size:10px; margin-left:9px; }
.hall-page .lb-mine { background:#1e2820; border:1px solid #344838!important; border-radius:6px; padding:13px 16px; margin-bottom:14px; gap:14px; color:#adc1b0!important; font-size:12px; }
.hall-you-label { font-size:8px; font-weight:600; letter-spacing:.08em; }
.hall-page .lb-mine>strong { color:#dbe9dc!important; }
.hall-page .lb-mine>.lb-prize { color:#a8cdaf!important; }
.hall-page .lb-table { min-width:0; background:transparent!important; border-collapse:separate; border-spacing:0 6px; table-layout:fixed; }
.hall-page .lb-table th { background:none; border:0; padding:8px 14px; font-size:9px; color:#6f6f6f!important; font-weight:600; letter-spacing:0; }
.hall-page .lb-table th:first-child,.hall-page .lb-table td:first-child { width:58px; text-align:left; }
.hall-page .lb-table th:nth-child(2) { width:46%; }
.hall-page .lb-table th:nth-child(3) { width:24%; }
.hall-page .lb-table td { background:#202020; border:0; padding:17px 14px; font-size:12px; transition:background .18s; }
.hall-page .lb-table td:first-child { border-radius:6px 0 0 6px; }
.hall-page .lb-table td:last-child { border-radius:0 6px 6px 0; }
.hall-page .lb-table tbody tr:hover { background:none; }
.hall-page .lb-table tbody tr:hover td { background:#282828; }
.hall-page .lb-table .lb-is-me td { background:#26332a; }
.hall-page .lb-table .lb-is-me:hover td { background:#2e3c32; }
.hall-page .lb-table .lb-player { display:flex; }
.hall-page .lb-table .lb-name { min-width:0; font-size:12px; color:#eee!important; }
.hall-page .lb-table .lb-level { flex-shrink:0; }
.hall-page .lb-table .lb-avatar { width:28px; height:28px; flex-basis:28px; background:#333; }
.hall-page .lb-table .lb-xp { color:#dedede!important; font-weight:600; overflow-wrap:anywhere; }
.hall-page .lb-table .lb-prize { color:#dedede!important; font-weight:600; white-space:normal; overflow-wrap:anywhere; }
.hall-table-prize { display:inline-flex; align-items:baseline; justify-content:flex-end; gap:6px; max-width:100%; }
.hall-table-prize i { color:#bd9d61!important; font-size:11px; }
.hall-table-prize strong { min-width:0; overflow-wrap:anywhere; }
.hall-rank { color:#7e7e7e!important; font-weight:500; }
.hall-prize-unit { font-weight:400; text-transform:none; }
.hall-page .lb-how { border:1px solid #2e2e2e!important; border-radius:6px; background:#191919; scroll-margin-top:76px; }
.hall-page .lb-how summary { color:#acacac!important; font-size:11px; padding:16px 18px; }
.hall-page .lb-how summary>i:first-child { float:none; margin-right:6px; color:#858585!important; }
.hall-page .lb-how[open] summary>i:last-child { transform:rotate(180deg); }
.hall-page .hall-rules { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding:0 18px 20px; }
.hall-rules section>span { color:#a1bb91!important; font-size:10px; }
.hall-rules section>h3 { font-size:12px; color:#d3d3d3!important; margin:6px 0 8px; }
.hall-rules p { font-size:11px; color:#909090!important; line-height:1.8; }
.hall-page .lb-empty { margin:24px 0; background:#1b1b1b; border-color:#333!important; }
.hall-page .lb-empty p { color:#999!important; }
.hall-page .lb-notice { margin:20px 0; }
/* Keep the same chat layout, collapse behavior and mobile drawer as the game pages. */
body.hall-with-chat { padding-top:50px!important; }
.hall-with-chat #mainpage { min-width:0; container-type:inline-size; }
.hall-with-chat .hall-page { width:calc(100% - 28px); margin:25px auto 40px; }
@container(max-width:880px) {
    .hall-podium { gap:16px; }
    .hall-champion { padding:20px 13px 18px; }
    .hall-player-heading { gap:7px; }
    .hall-player-identity .lb-name { font-size:12px; }
    .hall-score strong { font-size:24px; }
    .hall-prize strong { font-size:22px; }
}
@media(max-width:600px) {
    .hall-with-chat .hall-page { width:calc(100% - 14px); margin-top:15px; }
    .hall-heading { gap:14px; margin-bottom:18px; }
    .hall-event-brand { width:min(312px,98.8%); margin-bottom:18px; }
    .hall-page h1 { font-size:15px; }
    .hall-title-line { gap:7px; }
    .hall-title-line>i { font-size:12px; }
    .hall-heading-side { gap:9px; }
    .hall-pool strong { font-size:18px; }
    .hall-pool>span { font-size:7px; }
    .hall-pool small { display:none; }
    .hall-page .hall-how-link { font-size:9px; }
    .hall-podium { gap:7px; padding:0; }
    .hall-champion { padding:14px 7px; border-radius:6px; }
    .hall-place-2 { margin-top:20px; }
    .hall-place-3 { margin-top:33px; }
    .hall-player-heading { flex-direction:column; gap:8px; text-align:center; min-height:111px; }
    .hall-player-identity { width:100%; }
    .hall-player-identity>.lb-player { justify-content:center; flex-wrap:wrap; }
    .hall-player-identity .lb-name { flex-basis:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:10px; }
    .hall-portrait .lb-avatar,.hall-vacant { width:32px; height:32px; flex-basis:32px; }
    .hall-player-identity .lb-level { height:15px; min-width:17px; font-size:8px; }
    .hall-place-label { font-size:9px; }
    .hall-score { margin:12px 0; padding:12px 3px; gap:5px; }
    .hall-score>span { font-size:7px; letter-spacing:.03em; }
    .hall-score strong { font-size:16px; }
    .hall-prize>span { font-size:7px; }
    .hall-prize strong { font-size:16px; }
    .hall-prize>div { gap:4px; }
    .hall-prize i { font-size:9px; }
    .hall-prize small { flex-basis:100%; font-size:8px; }
    .hall-vacancy { font-size:10px; }
    .hall-countdown { flex-direction:column; gap:12px; margin:23px 0 28px; padding:0; }
    .hall-time-caption { font-size:10px; gap:7px; }
    .hall-time-caption>i { font-size:13px; }
    .hall-clock>span { min-width:56px; padding:10px 8px 8px; }
    .hall-clock strong { font-size:19px; }
    .hall-page .lb-mine { gap:9px; padding:11px; font-size:10px; }
    .hall-page .lb-table th,.hall-page .lb-table td { padding:13px 8px; font-size:10px; }
    .hall-page .lb-table th { font-size:8px; }
    .hall-page .lb-table th:first-child,.hall-page .lb-table td:first-child { width:34px; }
    .hall-page .lb-table th:nth-child(2) { width:43%; }
    .hall-page .lb-table th:nth-child(3) { width:23%; }
    .hall-page .lb-table .lb-player { flex-wrap:wrap; gap:4px; }
    .hall-page .lb-table .lb-name { font-size:10px; flex:1 1 100%; }
    .hall-page .lb-table .lb-level { height:17px; min-width:18px; font-size:8px; }
    .hall-page .lb-table .lb-avatar { width:23px; height:23px; flex-basis:23px; }
    .hall-table-prize { gap:4px; }
    .hall-table-prize i { font-size:9px; }
    .hall-prize-unit { display:none; }
    .hall-page .hall-rules { grid-template-columns:1fr; gap:16px; }
}
