/* Readdy concept adapted to the live mirror DOM. Mock scores and mock series are not imported. */
:root{--paper:#16171b;--card:#1e2025;--line:#34383e;--green:#2dd4bf;--lime:#5eead4;--blue:#60a5fa;--red:#fb7185;--muted:#a0a9b5}
html{scroll-behavior:smooth;background:#16171b}
body{background:#16171b;color:#e8eaed;font-family:Inter,"Noto Sans KR",Manrope,"Gowun Dodum",system-ui,sans-serif}
.topbar{background:rgba(26,27,31,.96);border-bottom-color:#303238;padding:0 max(20px,calc((100vw - 1200px)/2));min-height:56px}
.brand-mark{width:30px;height:30px;background:#2dd4bf;color:#102420;box-shadow:none;border-radius:7px}
.topbar nav{gap:4px}
.topbar nav a{border:0!important;border-radius:6px;padding:8px 11px;color:#a0a9b5;font-size:13px;white-space:nowrap}
.topbar nav a.active,.topbar nav a:hover{background:#2a2d32;color:#eff4f4}
.topbar nav a.active:after{display:none}
.mirror-tools>summary{color:#a7b2bc}
.mirror-tools>div{background:#24272c;border-color:#41454a}
.mirror-notice{background:#17332f;border-bottom-color:#23655a;color:#99e7db;font-size:11px}
main{max-width:1200px;padding:0 20px 80px}
.mirror-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:22px 0 18px;padding:22px 24px;border:1px solid #34383e;border-radius:10px;background:#1e2025}
.mirror-intro-kicker{margin:0;color:#5eead4;font-size:11px;font-weight:700}
.mirror-intro h1{margin:8px 0;color:#f0f2f4;font-size:clamp(19px,2.1vw,25px);line-height:1.35;letter-spacing:-.04em}
.mirror-intro p:last-child{margin:7px 0 0;color:#a0a9b5;font-size:12px;line-height:1.6}
.mirror-intro-stats{display:grid;grid-template-columns:repeat(3,minmax(80px,1fr));gap:10px;min-width:290px}
.mirror-intro-stats>div{padding:12px 10px;border:1px solid #34383e;border-radius:8px;background:#25282d;text-align:center}
.mirror-intro-stats strong{display:block;color:#f3f5f5;font-size:19px;font-variant-numeric:tabular-nums}
.mirror-intro-stats span{display:block;margin-top:3px;color:#8f9aa4;font-size:10px}
.workspace{grid-template-columns:minmax(0,1fr) minmax(345px,380px);gap:16px;margin-top:0;align-items:start}
.panel{min-height:0;background:#1e2025;border:1px solid #34383e;border-radius:10px;box-shadow:none;padding:0}
.panel-head{align-items:center;padding:16px 18px;border-bottom:1px solid #34383e}
.panel h2{font-family:inherit;font-size:16px;font-weight:750;letter-spacing:-.025em}
.mirror-subtitle{margin:4px 0 0;color:#8e99a4;font-size:11px}
.mirror-roster-count{color:#a8b1bc;font-size:12px;white-space:nowrap}
.mirror-roster-count strong{color:#5eead4;font-size:17px}
.toolbar{margin:0;padding:12px 18px;gap:8px;border-bottom:1px solid #34383e}
.search{padding:8px 10px;border:1px solid #373c42;border-radius:7px;background:#25282d}
.search input{color:#edf1f3;font-size:12px}
.search input::placeholder{color:#8a949e}
.text-btn{margin:0;padding:7px 4px;color:#aab4bf;font-size:11px;white-space:nowrap}
.roster-panel>.selected-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;width:auto;max-width:none;margin:0;padding:9px 18px;border-bottom:1px solid #34383e;background:#202328}
.roster-panel>.selected-summary .count{display:none}
.roster-panel .selected-participants{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-start;gap:5px;min-height:22px;max-height:72px;overflow:auto;grid-column:1/-1}
.selected-participants .selected-chip{padding:4px 7px;border:1px solid #23695e;border-radius:5px;background:#153d37;color:#bdf3e9;font-size:10px}
.selected-participants .selected-chip:hover{background:#20564e}
.selected-participants .selected-chip b{color:#5eead4}
.selection-helper{grid-column:1;margin:2px 0;color:#9da8b3;font-size:11px}
.generate-teams{grid-column:2;grid-row:2;padding:8px 11px;width:auto;white-space:nowrap;background:#2dd4bf;color:#112822;font-size:11px}
.generate-teams:hover:not(:disabled){background:#5eead4}
.generate-teams:disabled{background:#343b3c;color:#a5b1ad}
.player-list{display:block;max-height:640px;padding:0;overflow:auto;scrollbar-color:#42474d transparent}
.player{display:grid!important;grid-template-columns:42px minmax(0,1fr) 94px 174px 24px!important;grid-template-rows:auto auto!important;min-height:74px;gap:5px 10px;padding:10px 17px!important;border:0!important;border-bottom:1px solid #31353a!important;border-radius:0;background:transparent!important;box-shadow:none!important}
.player:hover{background:#272a2f!important}
.player.selected{background:#213630!important;box-shadow:inset 3px 0 #2dd4bf!important}
.player>.power-tier-badge{grid-column:1;grid-row:1;justify-self:center;max-width:39px;max-height:39px;transform:scale(.75)}
.player>div:nth-of-type(1){grid-column:2;grid-row:1;min-width:0}
.player-name{display:flex;align-items:baseline;gap:5px;font-size:13px;min-width:0}
.mirror-tag{color:#77838e;font-size:10px;font-weight:400;overflow:hidden;text-overflow:ellipsis}
.mirror-role{margin-top:5px;color:#a9b2bc;font-size:10px}
.mirror-most-preview{grid-column:3;grid-row:1;display:flex;align-items:center;gap:4px;min-width:0}
.player>.mirror-most-preview:before{display:none}
.mirror-most-preview .champ{width:26px;height:26px;min-width:26px}
.mirror-most-preview .champ i{display:none}
.mirror-most-preview:empty{display:none}
.player>div.mirror-inline-metrics{grid-column:4;grid-row:1;display:grid;grid-template-columns:64px 53px 45px;align-items:center;justify-content:end;gap:5px;text-align:right}
.mirror-inline-metrics span{min-width:0}
.mirror-inline-metrics small{display:block;color:#83909a;font-size:9px}
.mirror-inline-metrics b{display:block;color:#dce4e7;font-size:12px;font-variant-numeric:tabular-nums}
.mirror-inline-metrics span:first-child b{color:#5eead4}
.player>.check{grid-column:5;grid-row:1;width:21px;height:21px;border-color:#646d72}
.selected .check{background:#2dd4bf;border-color:#2dd4bf;color:#102724}
.mirror-player-details{grid-column:2/-1;grid-row:2;border-top:0;padding:0}
.mirror-player-details summary{color:#9ce7dc;font-size:10px;padding:1px 0}
.mirror-player-details .player-overview{grid-template-columns:repeat(4,minmax(0,1fr));background:#252a2d;border-radius:6px;padding:10px}
.mirror-player-details .player-tools{gap:7px}
.roster-panel>.hint{margin:0;padding:11px 18px;text-align:left;color:#8f9aa5}
.result-panel{position:sticky;top:82px;overflow:hidden}
.result-panel .panel-head{align-items:flex-start;gap:7px}
.result-panel .shuffle{background:#2dd4bf;color:#102724;box-shadow:none;border-radius:6px;font-size:10px;padding:7px 9px;white-space:nowrap}
.result-panel .shuffle:disabled{opacity:.5}
.result-panel #teamResult{margin:0;padding:14px}
.result-panel .empty-state{min-height:310px;padding:18px;text-align:center}
.result-panel .empty-state h3{font-size:15px;color:#e7eaeb}
.result-panel .empty-state p{font-size:11px;color:#9aa5af}
.match-odds,.analysis{background:#25282d!important;border:1px solid #3a3e43!important;border-radius:8px}
.balance-summary{grid-template-columns:66px 1fr 66px;margin:18px 0 14px}
.balance-summary strong{font-size:18px}
.teams{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch}
.versus{display:none}
.team{min-width:0;background:#24272b;border-radius:7px}
.blue .team-title{background:#1b344a;color:#a8d6ff}
.red .team-title{background:#462b32;color:#ffc0ca}
.team-title{gap:4px;padding:10px 9px}
.team-title span{font-size:9px;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.team-title strong{font-size:10px;white-space:nowrap}
.member{grid-template-columns:20px 22px minmax(0,1fr);gap:4px;padding:7px 5px}
.member .lane{font-size:8px}
.member>.power-tier-badge{max-width:24px;max-height:24px;transform:scale(.52);transform-origin:center}
.member>div{min-width:0}
.member .name{font-size:10px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.member .rank{display:none}
.member>.power{grid-column:3;text-align:left;font-size:10px;color:#a5dacc}
.member .most-row{display:none}
.analysis{display:block;padding:12px;margin-top:12px}
.analysis .spark{float:left;width:23px;height:23px;margin-right:7px;background:#215e54;color:#5eead4}
.analysis p{min-height:24px}
.analysis-actions{clear:both;display:flex;gap:5px;margin-top:10px}
.analysis-actions button{flex:1;min-width:0;margin:0!important;padding:8px 4px;background:#343a3e;color:#d8e2e1;border-radius:5px;font-size:9px;white-space:nowrap}
.analysis-actions #saveMatch{background:#2dd4bf;color:#102724}
.history,.leaderboard-section,.series-section{margin-top:20px;border:1px solid #34383e;border-radius:10px;background:#1e2025;padding:20px;display:block}
.history>div:first-child{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}
.history>div:first-child>.step,.history>div:first-child>h2,.history>div:first-child>.history-copy{flex-basis:100%}
.history .step,.leaderboard-section .step,.series-section .step{display:none}
.history h2,.leaderboard-head h2,.award-head h2,.series-section h2{font-family:inherit;font-size:18px;color:#f1f4f4}
.history .history-copy{margin:0 0 6px;color:#a3adb6;font-size:11px}
.history-stats{flex-basis:100%;margin-top:6px}
.history-stats span,.leaderboard-summary span{background:#25282d;border:1px solid #363b40;color:#a7b0ba}
.history-stats b,.leaderboard-summary b{color:#5eead4}
.match-history{margin-top:15px}
.leaderboard-head{align-items:flex-start}
.leaderboard-head h2{font-size:18px}
.leaderboard-head>div>p:last-child{font-size:11px}
.mirror-rank-tabs{display:inline-flex;flex-wrap:wrap;gap:4px;margin:0 0 14px;padding:4px;border:1px solid #34383e;border-radius:8px;background:#25282d}
.mirror-rank-tabs button{border:0;border-radius:5px;padding:8px 13px;background:transparent;color:#a7b0ba;font-size:11px;cursor:pointer}
.mirror-rank-tabs button[aria-selected="true"]{background:#2dd4bf;color:#102724;font-weight:750}
.mirror-rank-tabs button:focus-visible{outline:2px solid #5eead4;outline-offset:2px}
.mirror-rank-grid{display:block}
.mirror-rank-grid>article[hidden]{display:none!important}
.mirror-rank-grid>.leaderboard-card{border:1px solid #363b40;background:#22252a;box-shadow:none}
.mirror-rank-grid .leaderboard-card>header{padding:13px 15px}
.mirror-rank-grid .leaderboard-list{display:grid;gap:2px}
.mirror-rank-grid .leaderboard-row{grid-template-columns:30px 32px minmax(0,1fr) 100px;min-height:49px}
.mirror-rank-grid .leaderboard-row em,.award-card .leaderboard-row em{color:#5eead4}
.leaderboard-section .award-head{scroll-margin-top:75px;margin:30px 0 17px;padding-top:24px;border-top-color:#34383e}
.award-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.award-card{background:#22252a;border-color:#363b40;box-shadow:none}
.award-card>header{min-height:75px;padding:13px}
.award-card h3{font-size:13px}
.award-grid>#objectiveLeaderboard:empty{display:none}
.award-grid>article:nth-child(n+10){display:none}
.award-grid.mirror-show-all>article:nth-child(n+10){display:block}
.mirror-more-awards{display:block;margin:15px auto 0;border:1px solid #454c50;border-radius:6px;background:#252b2c;color:#b9dbd5;padding:9px 14px;font-size:11px;cursor:pointer}
.series-section{scroll-margin-top:75px}
.series-section h2{margin-bottom:12px}
.series-section #seriesSummary{margin-top:12px}
#players,#history,#leaderboard,#hall{scroll-margin-top:82px}
.mirror-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:30px;padding:24px max(20px,calc((100vw - 1200px)/2));border-top:1px solid #34383e;background:#182320;color:#9aa7a8}
.mirror-footer>div{display:flex;align-items:center;gap:10px}
.mirror-footer strong,.mirror-footer small{display:block}
.mirror-footer strong{color:#e9f3f1;font-size:12px}
.mirror-footer small,.mirror-footer p{font-size:10px}
@media(max-width:1100px){.workspace{grid-template-columns:minmax(0,1fr) minmax(300px,350px)}.player{grid-template-columns:38px minmax(0,1fr) 154px 22px!important}.player>.mirror-most-preview{display:none}.player>div.mirror-inline-metrics{grid-column:3}.player>.check{grid-column:4}.mirror-player-details{grid-column:2/-1}.award-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:840px){.workspace{grid-template-columns:1fr}.result-panel{position:static}.mirror-intro{flex-direction:column;align-items:stretch}.mirror-intro-stats{min-width:0}.player{grid-template-columns:42px minmax(0,1fr) 94px 174px 24px!important}.player>.mirror-most-preview{display:flex;grid-column:3}.player>div.mirror-inline-metrics{grid-column:4}.player>.check{grid-column:5}.mirror-player-details{grid-column:2/-1}}
@media(max-width:650px){main{padding:0 12px 60px}.topbar{padding:8px 12px}.topbar nav{order:3;justify-content:space-around;width:100%;gap:0}.topbar nav a{padding:7px 5px;font-size:11px}.mirror-intro{padding:16px}.mirror-intro h1{font-size:19px}.mirror-intro-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.mirror-intro-stats>div{padding:8px 3px}.toolbar{flex-wrap:wrap}.toolbar .search{flex-basis:100%}.roster-panel>.selected-summary{grid-template-columns:1fr}.generate-teams{grid-column:1;grid-row:auto;width:100%}.player{grid-template-columns:38px minmax(0,1fr) 22px!important;padding:10px 12px!important}.player>.mirror-most-preview,.player>div.mirror-inline-metrics{display:none}.player>.check{grid-column:3}.mirror-player-details{grid-column:2/-1}.history,.leaderboard-section,.series-section{padding:14px}.award-grid{grid-template-columns:1fr}.leaderboard-head{flex-direction:column}.leaderboard-summary{justify-content:flex-start}.mirror-rank-tabs{display:flex}.mirror-rank-tabs button{flex:1;padding:7px 5px}.result-panel .panel-head{flex-wrap:wrap}}

/* Section-level refinements from the supplied Readdy screenshots. */
.mirror-header-search{display:flex;align-items:center;gap:9px;width:225px;height:34px;padding:0 11px;border:1px solid #3b4045;border-radius:7px;background:#25282d;color:#82919c}
.mirror-header-search input{width:100%;min-width:0;border:0;background:none;color:#e9efee;outline:0;font-size:12px}
.mirror-header-search input::placeholder{color:#83919e}
.mirror-header-register{height:34px;padding:0 12px;border:1px solid #41474b;border-radius:7px;background:#202328;color:#e7eeed;font-size:11px;white-space:nowrap;cursor:pointer}
.mirror-header-register:hover{border-color:#2dd4bf;color:#5eead4}
.discord-auth a,.discord-auth #discordAuthPending{border-radius:7px;background:#2dd4bf;border-color:#2dd4bf;color:#0d2823;font-weight:750}
.discord-auth #discordAuthPending{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;opacity:.68}
.mirror-intro h1{font-size:23px;max-width:730px}
.result-panel #teamResult{padding:12px}
.match-odds{margin:0;padding:11px 12px!important}
.odds-caption{justify-content:space-between;color:#9facb7;font-size:10px;letter-spacing:0}
.odds-caption small{color:#7f8b93}
.odds-teams{grid-template-columns:1fr 25px 1fr;margin-top:9px}
.odds-teams>div{display:grid;grid-template-columns:auto 1fr;gap:0 3px}
.odds-teams>div b{grid-column:1/-1;grid-row:1;max-width:none;color:#a9dafa;font-size:9px}
.odds-teams>div:last-child b{color:#f8b7c2;text-align:right}
.odds-teams>div strong{grid-row:2;font-size:20px;line-height:1.15}
.odds-teams>div em{grid-row:2;align-self:end}
.odds-teams>div:last-child strong{justify-self:end}
.balance-summary{display:grid;grid-template-columns:1fr 1fr;margin:14px 0 12px;gap:3px 0;align-items:center}
.balance-summary>div:first-child{grid-column:1;grid-row:1}
.balance-summary>.right{grid-column:2;grid-row:1}
.balance-summary>.meter{grid-column:1/-1;grid-row:2;margin:6px 0 0;height:6px;background:#fb4677}
.balance-summary>.meter i{background:#39adf0}
.balance-summary span{font-size:9px}
.balance-summary strong{font-size:17px}
.teams{gap:9px}
.team{border-radius:7px;background:#24272b}
.team.blue{border-color:#365272;background:#202c3c}
.team.red{border-color:#69404a;background:#30262a}
.team-title,.blue .team-title,.red .team-title{background:transparent;padding:10px 9px 6px}
.team.blue .team-title{color:#9bd5ff}
.team.red .team-title{color:#ffb4c3}
.team-title span{font-size:10px;font-weight:800}
.team-title strong{font-size:10px;color:#e9ecec}
.member{grid-template-columns:22px 26px minmax(0,1fr);min-height:42px;gap:5px;padding:6px 5px;border:0}
.member .lane-drag-handle{min-width:21px;min-height:22px;height:22px;padding:1px;border-color:#42515a;background:#25343e;font-size:8px;line-height:1}
#blueTeam>.live-team-slot,#redTeam>.live-team-slot{position:relative;isolation:isolate;min-height:58px;padding:10px 7px;margin:3px 0;cursor:grab;user-select:none;border-radius:8px;touch-action:manipulation}
#blueTeam>.live-team-slot:hover,#redTeam>.live-team-slot:hover{background:rgba(255,255,255,.06)}
#blueTeam>.live-team-slot.swap-selected,#redTeam>.live-team-slot.swap-selected,#blueTeam>.live-team-slot:focus-visible,#redTeam>.live-team-slot:focus-visible{outline:2px solid #23cbb9;outline-offset:-2px;background:rgba(35,203,185,.15)}
#blueTeam>.live-team-slot:active,#redTeam>.live-team-slot:active{cursor:grabbing}
#blueTeam>.live-team-slot.drag-target,#redTeam>.live-team-slot.drag-target{background:rgba(35,203,185,.15)!important;box-shadow:inset 0 0 0 2px #23cbb9}
#blueTeam>.live-team-slot img,#redTeam>.live-team-slot img{-webkit-user-drag:none;pointer-events:none}
#blueTeam>.live-team-slot .power-tier-badge,#redTeam>.live-team-slot .power-tier-badge{pointer-events:none}
.member .power-tier-badge{width:26px;height:28px;transform:scale(.55);transform-origin:center}
.member .name{font-size:10px;line-height:1.25}
.mirror-member-summary{min-width:0}
.mirror-member-detail{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a8b9c0;font-size:8px}
.member>.power{display:none}
.analysis{margin-top:10px;padding:10px 11px}
.analysis p{font-size:10px}
.analysis p strong{font-size:11px}
.analysis-actions button{font-size:9px;padding:9px 4px}
.history>div:first-child{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:6px 8px}
.history>div:first-child>h2{grid-column:1;grid-row:1;margin:0}
.history>div:first-child>.history-copy{grid-column:1;grid-row:2;margin:0}
.history>div:first-child>.history-add{grid-column:2;grid-row:1/3}
.history>div:first-child>.alias-add{grid-column:3;grid-row:1/3}
.history-stats{grid-column:1/-1;grid-row:3;display:flex;flex-wrap:wrap;gap:10px 17px;margin:12px 0 4px}
.history-stats span{display:inline-flex;align-items:baseline;gap:5px;padding:0;border:0;background:transparent;color:#a8b4bd;font-size:10px}
.history-stats b{color:#f0f5f3;font-size:11px}
.history-stats span:last-child b{color:#5eead4}
.match-history{padding:14px;border:1px solid #363b40;border-radius:8px;background:#22252a}
.history-archive-toolbar{align-items:center}
.history-archive-toolbar>div>b{font-size:13px;color:#eef2f1}
.history-archive-toolbar small{font-size:10px;color:#81909b}
.history-archive-toolbar select{background:#25282d;color:#e3eceb;border-color:#41474b}
.history-month-btn{border-radius:6px;background:#2a2d32;border-color:transparent;color:#a9b5bd;font-size:10px}
.history-month-btn.active{border-color:#2d8074;background:#20574f;color:#abf1e6}
.history-month-summary{display:none}
.monthly-series-list{gap:7px}
.monthly-series-card{background:#272a2e;border-color:#383e42}
.monthly-series-card>summary{grid-template-columns:55px minmax(0,1fr) auto 14px;padding:10px 12px;gap:8px}
.monthly-series-card>summary:hover{background:#2c3134}
.monthly-series-card>summary time{font-size:10px;color:#a3b5c2}
.monthly-series-card>summary>span{font-size:11px;gap:6px}
.monthly-series-card>summary strong{font-size:12px;color:#5eead4}
.mirror-series-code{max-width:160px;padding:2px 6px;border-radius:4px;background:#34383d;color:#8b9ba5;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.monthly-series-body{padding:5px 11px 10px;border-color:#383e42}
.monthly-set-line{grid-template-columns:45px minmax(0,1fr) auto;gap:8px;padding:5px 0 5px 48px}
.monthly-set-line>b{color:#eaf1f1;font-size:10px}
.monthly-set-line>span{color:#a2b9c9;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.monthly-set-line .series-history-open{padding:2px 0;border:0;background:none;color:#5eead4;font-size:9px;cursor:pointer}
.monthly-series-footer{margin:6px 0 0 48px;padding-top:7px;border-color:#383e42;color:#5eead4}
.monthly-series-footer small{color:#94a7ad}
.monthly-series-footer button{background:none;color:#5eead4;padding:2px 0;font-size:9px}
.leaderboard-summary span{padding:0;border:0;background:transparent;color:#a8b3bc;font-size:10px}
.leaderboard-summary b{color:#eef3f2;font-size:11px}
.mirror-rank-grid>.mirror-rank-card{border:0;background:transparent}
.mirror-rank-heading,.mirror-rank-card .leaderboard-row{display:grid;grid-template-columns:55px minmax(0,1fr) 150px 75px 95px;align-items:center;gap:8px;padding:11px 8px;text-align:left}
.mirror-rank-heading{border-bottom:1px solid #363b40;color:#80909a;font-size:10px}
.mirror-rank-heading span:nth-child(n+4){text-align:right}
.mirror-rank-card .leaderboard-list{display:block;padding:0}
.mirror-rank-card .leaderboard-row{width:100%;min-height:47px;border-radius:0;border-bottom:1px solid #34383e}
.mirror-rank-card .leaderboard-row:last-child{border-bottom:0}
.mirror-rank-card .leaderboard-rank{display:grid;place-items:center;width:24px;height:24px;border-radius:4px;background:#41464b;color:#eff2f2;font-size:11px}
.mirror-rank-card .rank-1 .leaderboard-rank{background:#fbbf24;color:#1d211d}
.mirror-rank-card .rank-2 .leaderboard-rank{background:#d7dfe8;color:#1d232a}
.mirror-rank-card .rank-3 .leaderboard-rank{background:#a95308;color:#fff}
.mirror-rank-player{display:flex;align-items:center;gap:8px;min-width:0;color:#e8efee}
.mirror-rank-player .avatar{width:27px;height:27px;flex:0 0 27px;background:#30343a;font-size:10px}
.mirror-rank-player strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.mirror-rank-role,.mirror-rank-games{color:#adbac2;font-size:11px}
.mirror-rank-games{text-align:right}
.mirror-rank-card .leaderboard-row em{color:#5eead4;font-size:12px}
.award-head{align-items:center}
.award-card{min-height:145px}
.award-card>header{display:grid;grid-template-columns:32px minmax(0,1fr);gap:9px;min-height:54px;padding:12px 12px 3px;border:0}
.award-card>header:before{content:"◇";display:grid;place-items:center;width:30px;height:30px;border-radius:7px;background:#233a37;color:#5eead4;font-size:17px}
#stealLeaderboard>header:before{content:"✂"}#wallLeaderboard>header:before{content:"⬡"}#visionLeaderboard>header:before{content:"◉"}#supportLeaderboard>header:before{content:"♡"}#ccLeaderboard>header:before{content:"▣"}#efficiencyLeaderboard>header:before{content:"◎"}#demolitionLeaderboard>header:before{content:"⚒"}#bloodKingLeaderboard>header:before{content:"♨"}
.award-card>header>span{display:none}
.award-card h3{font-size:12px}
.award-card header p{margin-top:2px;font-size:9px}
.award-card .leaderboard-list{padding:3px 12px 9px}
.award-card .leaderboard-row{grid-template-columns:20px minmax(0,1fr) auto;gap:6px;min-height:24px;padding:3px 0}
.award-card .leaderboard-row .avatar{display:none}
.award-card .leaderboard-row .leaderboard-rank{display:grid;place-items:center;width:19px;height:19px;border-radius:4px;background:#41464b;color:#fff;font-size:9px}
.award-card .leaderboard-row.rank-1 .leaderboard-rank{background:#fbbf24;color:#222}
.award-card .leaderboard-row.rank-2 .leaderboard-rank{background:#d7dfe8;color:#222}
.award-card .leaderboard-row.rank-3 .leaderboard-rank{background:#a95308;color:#fff}
.award-card .leaderboard-name strong{font-size:10px}
.award-card .leaderboard-name small{display:none}
.award-card .leaderboard-row em{font-size:10px}
.award-grid:not(.mirror-show-all) .award-card .leaderboard-row:nth-child(n+4){display:none}
@media(max-width:1100px){.mirror-header-search{display:none}.mirror-rank-heading,.mirror-rank-card .leaderboard-row{grid-template-columns:45px minmax(0,1fr) 100px 55px 75px}}
@media(max-width:840px){.mirror-header-register{display:none}.history>div:first-child{display:flex}.history>div:first-child>h2,.history>div:first-child>.history-copy{flex-basis:100%}.history-stats{flex-basis:100%}.result-panel{overflow:hidden}}
@media(max-width:650px){.mirror-intro h1{font-size:19px}.history-stats{gap:6px 10px}.match-history{padding:10px}.monthly-series-card>summary{grid-template-columns:42px minmax(0,1fr) auto;gap:5px}.mirror-series-code{display:none}.monthly-set-line{padding-left:0;grid-template-columns:42px minmax(0,1fr)}.monthly-set-line .series-history-open{grid-column:2;justify-self:start}.monthly-series-footer{margin-left:0}.mirror-rank-heading,.mirror-rank-card .leaderboard-row{grid-template-columns:36px minmax(0,1fr) 44px 60px;gap:4px}.mirror-rank-heading span:nth-child(3),.mirror-rank-role{display:none}.mirror-rank-card .leaderboard-row em{font-size:10px}.award-grid{grid-template-columns:1fr}}

/* Readdy README assets and final cleanup of the old roster controls. */
.brand-mark{display:grid;place-items:center;font-size:17px;font-weight:400}
.brand-mark i{line-height:1}
.mirror-intro-kicker i{font-size:13px;vertical-align:-1px}
.mirror-tools>summary{display:grid;place-items:center;width:29px;height:29px;border-radius:6px;font-size:18px}
.mirror-tools>summary:hover{background:#2a2d32;color:#5eead4}
.mirror-tools>summary::marker{content:""}
.roster-panel>.selected-summary{grid-template-columns:minmax(0,1fr) auto}
.roster-panel>.selected-summary .selected-participants{grid-column:1;grid-row:1;max-height:68px}
.roster-panel>.selected-summary .toolbar{grid-column:2;grid-row:1;align-self:start;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:5px;margin:0;padding:0;border:0;background:transparent}
.roster-panel>.selected-summary .selection-helper{grid-column:1;grid-row:2}
.roster-panel>.selected-summary .generate-teams{grid-column:2;grid-row:2}
.toolbar .search{display:none}
.toolbar .text-btn{padding:5px 7px}
.roster-panel>.selected-summary{padding-top:8px;padding-bottom:8px}
.power-tier-badge,.power-tier-badge.large{width:66px;height:58px;min-width:66px;min-height:58px;background:none;filter:none;overflow:visible}
.power-tier-badge:before,.power-tier-badge:after,.power-tier-badge i:before,.power-tier-badge i:after{display:none!important}
.power-tier-badge img{display:block;width:100%;height:100%;object-fit:contain;transform:scale(5);filter:drop-shadow(0 3px 3px rgba(0,0,0,.38))}
.power-tier-badge i{display:none}
.power-tier-badge.badge-image-failed img{display:none}
.power-tier-badge.badge-image-failed i{display:grid;width:32px;height:36px}
.player>.power-tier-badge,.player.selected>.power-tier-badge{grid-column:1;grid-row:1;max-width:none;max-height:none;transform:none;filter:none}
.player{position:relative;grid-template-columns:70px minmax(0,1fr) 94px 174px 23px 23px!important;grid-template-rows:auto auto!important;min-height:78px;gap:5px 6px;padding:9px 16px!important}
.player>div:nth-of-type(1){grid-column:2;grid-row:1;align-self:center}
.player>.mirror-most-preview{grid-column:3;grid-row:1}
.player>div.mirror-inline-metrics{grid-column:4;grid-row:1}
.player>.check{grid-column:6;grid-row:1}
.mirror-player-details{grid-column:5;grid-row:1;align-self:center;padding:0;border:0}
.mirror-player-details summary{display:grid;place-items:center;width:23px;height:23px;padding:0;border-radius:5px;color:#81939b;font-size:14px}
.mirror-player-details summary:hover,.mirror-player-details[open] summary{background:#30574f;color:#9ff3e7}
.mirror-player-details summary:before{display:none}
.mirror-player-details summary span{display:none}
.mirror-player-details[open]{grid-column:1/-1;grid-row:2;width:100%;padding:9px 0 3px;border-top:1px solid #39504a}
.mirror-player-details[open] summary{display:flex;justify-content:flex-start;gap:6px;width:auto;padding:0 5px}
.mirror-player-details[open] summary span{display:inline;font-size:11px}
.member .power-tier-badge{width:34px;height:34px;min-width:34px;min-height:34px;max-width:none;max-height:none;transform:none}
.member .power-tier-badge img{transform:scale(5)}
.member{grid-template-columns:22px 34px minmax(0,1fr);min-height:46px}
.stats-hero>.power-tier-badge.large{width:80px;height:72px;flex:0 0 80px;transform:none}
.award-card>header:before{display:none!important}
.award-card>header .mirror-award-icon{display:grid;place-items:center;grid-column:1;width:32px;height:32px;border-radius:7px;background:#233a37;color:#5eead4;font-size:18px}
.award-card>header>div{grid-column:2;min-width:0}
.award-card h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mirror-header-register i,.history-add i,.alias-add i{font-size:13px;vertical-align:-1px}
.series-section #seriesSummary{border:1px solid #383e42;border-radius:8px;background:#25282d;color:#aab8c0;box-shadow:none}
.series-section .series-score{color:#edf4f2}
.series-section .series-actions button{border:1px solid #326f64;border-radius:6px;background:#2dd4bf;color:#102724}
.series-section .series-actions button:hover{background:#5eead4}
@media(max-width:1100px){.player{grid-template-columns:62px minmax(0,1fr) 154px 23px 23px!important}.player>.mirror-most-preview{display:none}.player>div.mirror-inline-metrics{grid-column:3}.mirror-player-details{grid-column:4}.player>.check{grid-column:5}}
@media(max-width:840px){.player{grid-template-columns:68px minmax(0,1fr) 94px 174px 23px 23px!important}.player>.mirror-most-preview{display:flex;grid-column:3}.player>div.mirror-inline-metrics{grid-column:4}.mirror-player-details{grid-column:5}.player>.check{grid-column:6}}
@media(max-width:650px){.roster-panel>.selected-summary{grid-template-columns:1fr}.roster-panel>.selected-summary .selected-participants{grid-column:1;grid-row:1}.roster-panel>.selected-summary .toolbar{grid-column:1;grid-row:2;justify-content:flex-start;width:100%}.roster-panel>.selected-summary .selection-helper{grid-column:1;grid-row:3}.roster-panel>.selected-summary .generate-teams{grid-column:1;grid-row:4}.toolbar .search{display:flex;flex-basis:100%}.player{grid-template-columns:58px minmax(0,1fr) 23px 23px!important;padding:9px 10px!important}.player>.mirror-most-preview,.player>div.mirror-inline-metrics{display:none}.mirror-player-details{grid-column:3}.player>.check{grid-column:4}.player>.power-tier-badge{width:56px;height:50px;min-width:56px;min-height:50px}.mirror-player-details[open]{grid-column:1/-1}.member .power-tier-badge{width:30px;height:30px;min-width:30px;min-height:30px}.member{grid-template-columns:22px 30px minmax(0,1fr)}}

/* Compact player cards: only the key score stays on-card; editing lives in stats. */
.player{grid-template-columns:70px minmax(0,1fr) 94px 70px 23px 23px!important}
.player>div.mirror-inline-metrics{grid-template-columns:1fr;justify-items:end;width:70px;grid-column:4}
.mirror-inline-metrics span:not(:first-child){display:none}
.mirror-inline-metrics span:first-child b{font-size:15px}
.mirror-linked-alt{display:inline-flex;align-items:center;gap:2px;max-width:115px;padding:2px 5px;border-radius:4px;background:#20574f;color:#83e4d5;font-size:9px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mirror-player-settings{grid-column:5;grid-row:1;align-self:center;justify-self:center;display:grid;place-items:center;width:25px;height:25px;padding:0;border:0;border-radius:5px;background:transparent;color:#8da1a8;font-size:15px;cursor:pointer}
.mirror-player-settings:hover,.mirror-player-settings:focus-visible{background:#30574f;color:#9ff3e7;outline:none}
.mirror-player-settings:disabled{opacity:.45;cursor:wait}
.history>div:first-child{grid-template-columns:1fr}
.history>div:first-child>h2,.history>div:first-child>.history-copy,.history-stats{grid-column:1}
.history-stats{grid-row:3}
.mirror-tools>div{width:190px}
.mirror-tools>div .ghost{font-size:11px!important}

/* Player settings are part of the stats dialog, not an expanding roster card. */
#playerStatsDialog{background:#1e2025;color:#eaf0ef;border:1px solid #3a4045}
#playerStatsDialog .stats-hero{border-bottom-color:#3a4045}
#playerStatsDialog .stats-title h2{color:#f1f5f4}
#playerStatsDialog .stats-power strong{color:#5eead4}
#playerStatsDialog .stat-box,#playerStatsDialog .stats-card{background:#25282d;border-color:#3b4145}
#playerStatsDialog .stat-box span,#playerStatsDialog .stat-box small{color:#9aa9af}
.mirror-stats-settings{margin:16px 0 18px;padding:15px;border:1px solid #3a4543;border-radius:9px;background:#222b2a}
.mirror-settings-heading{display:flex;align-items:center;gap:10px;margin-bottom:13px}
.mirror-settings-heading>i{display:grid;place-items:center;width:32px;height:32px;border-radius:7px;background:#23534c;color:#70e4d2;font-size:17px}
.mirror-settings-heading h3{margin:0;color:#edf4f1;font-size:14px}
.mirror-settings-heading p{margin:3px 0 0;color:#a0b0b2;font-size:10px}
.mirror-settings-main{display:grid;grid-template-columns:minmax(160px,1fr) auto auto;gap:8px;align-items:end}
.mirror-settings-main label{display:flex;flex-direction:column;gap:5px;margin:0;color:#a9babd;font-size:10px;font-weight:700}
.mirror-settings-main select,.settings-nickname-form input{box-sizing:border-box;width:100%;height:35px;padding:0 10px;border:1px solid #465550;border-radius:6px;background:#1d2426;color:#edf4f3;font-size:11px}
.mirror-settings-main button,.settings-nickname-form button{height:35px;padding:0 11px;border:1px solid #43605a;border-radius:6px;background:#273a37;color:#bdeee5;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}
.mirror-settings-main button:hover,.settings-nickname-form button:hover{background:#2d5e54}
.mirror-settings-aliases{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,260px);align-items:end;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid #3a4543}
.mirror-settings-aliases b{display:block;margin-bottom:7px;color:#c9d6d3;font-size:10px}
.settings-alias-list{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-height:32px}
.settings-alias-list small{color:#84969b;font-size:10px}
.settings-alias-chip{max-width:180px;padding:5px 8px;border:1px solid #35584f;border-radius:5px;background:#25413a;color:#a8eadd;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
button.settings-alias-chip{cursor:pointer}
button.settings-alias-chip:hover{border-color:#e78591;color:#ffc5cb}
.settings-nickname-form{display:flex;gap:6px;min-width:0}
.settings-nickname-form input{min-width:0}
.settings-delete{display:block;margin:10px 0 0 auto;padding:5px 0;border:0;background:none;color:#d98a93;font-size:10px;cursor:pointer}
.settings-delete:hover{text-decoration:underline;color:#ffc0c8}

/* Readdy-themed Discord roster import dialog. */
#rosterImportDialog{box-sizing:border-box;width:min(590px,calc(100vw - 24px));max-height:calc(100dvh - 28px);overflow:auto;border:1px solid #3b4145;border-radius:10px;background:#1e2025;color:#edf2f1;box-shadow:0 28px 70px #070b0cc4}
#rosterImportDialog form{padding:22px}
#rosterImportDialog .close{right:15px;top:13px;display:grid;place-items:center;width:30px;height:30px;border-radius:6px;color:#adbcbe;font-size:18px}
#rosterImportDialog .close:hover{background:#31373a;color:white}
.roster-dialog-head{display:flex;gap:12px;padding-right:24px}
.roster-dialog-icon{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:8px;background:#25473f;color:#5eead4;font-size:20px}
.roster-dialog-head .step{margin:0 0 4px;color:#5eead4;font-size:9px}
.roster-dialog-head h2{margin:0;color:#f1f5f4;font-size:18px}
.roster-dialog-head .dialog-copy{margin:7px 0 0;color:#9eafb3;font-size:11px;line-height:1.55}
#rosterImportDialog .roster-input-label{display:flex;flex-direction:column;gap:8px;margin:20px 0 0;color:#d1dedb;font-size:11px}
#rosterImportDialog textarea{box-sizing:border-box;width:100%;min-height:145px;padding:12px;border:1px solid #485451;border-radius:7px;background:#191f22;color:#eef5f2;resize:vertical;font:12px/1.55 Inter,"Noto Sans KR",sans-serif;outline:none}
#rosterImportDialog textarea:focus{border-color:#2dd4bf;box-shadow:0 0 0 2px #2dd4bf2b}
#rosterImportDialog textarea::placeholder{color:#74868a}
.roster-input-help{display:flex;align-items:center;gap:5px;margin:8px 0 0;color:#8fa2a3;font-size:10px}
.roster-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.roster-dialog-actions button{width:auto;height:35px;margin:0;padding:0 13px;border-radius:6px;font-size:11px;cursor:pointer}
.roster-dialog-actions .roster-cancel{border:1px solid #48514f;background:#282d30;color:#cad6d3}
.roster-dialog-actions .primary{border:0;background:#2dd4bf;color:#112c26}
.roster-import-open{border-color:#3b4644!important;background:#2a3031!important;color:#bee6dc!important}
.roster-import-open:hover{border-color:#2dd4bf!important;color:#5eead4!important}
#rosterImportResult{gap:0;margin-top:18px;padding:12px;border:1px solid #355b51;border-radius:7px;background:#1b302b}
.roster-result-heading{color:#77ebda;font-size:12px}
.roster-match-list{display:grid;gap:5px;margin-top:10px}
.roster-match-row{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px 9px;border:1px solid #36524b;border-radius:5px;background:#263a34;color:#dce9e5;font-size:11px}
.roster-match-row span,.roster-match-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.roster-match-row i{color:#5eead4;text-align:center}
.roster-match-row small{color:#ffda8a;font-size:9px}
.roster-unmatched{margin:9px 0 0;color:#f1a5ad;font-size:10px}
.player>.mirror-most-preview{grid-column:3!important;grid-row:1!important}
.player>div.mirror-inline-metrics{grid-column:4!important;grid-row:1!important}
@media(max-width:1100px){.player{grid-template-columns:62px minmax(0,1fr) 70px 23px 23px!important}.player>.mirror-most-preview{display:none}.player>div.mirror-inline-metrics{grid-column:3!important}.mirror-player-settings{grid-column:4}.player>.check{grid-column:5}}
@media(max-width:840px){.player{grid-template-columns:68px minmax(0,1fr) 94px 70px 23px 23px!important}.player>.mirror-most-preview{display:flex;grid-column:3!important}.player>div.mirror-inline-metrics{grid-column:4!important}.mirror-player-settings{grid-column:5}.player>.check{grid-column:6}}
@media(max-width:650px){.player{grid-template-columns:58px minmax(0,1fr) 62px 23px 23px!important}.player>.mirror-most-preview{display:none}.player>div.mirror-inline-metrics{display:grid;grid-column:3!important;width:62px}.mirror-player-settings{grid-column:4}.player>.check{grid-column:5}.mirror-inline-metrics span:first-child b{font-size:12px}.mirror-settings-main{grid-template-columns:1fr 1fr}.mirror-settings-main label{grid-column:1/-1}.mirror-settings-aliases{grid-template-columns:1fr}.roster-dialog-actions{flex-direction:column-reverse}.roster-dialog-actions button{width:100%}}

/* --------------------------------------------------------------------------
   Live theme · dialog and overlay system
   Keep every existing workflow, but remove the remaining legacy beige/blue UI.
   -------------------------------------------------------------------------- */
dialog{
  color-scheme:dark;
  box-sizing:border-box;
  max-height:calc(100dvh - 24px);
  overflow:auto;
  border:1px solid #3b4145!important;
  border-radius:10px!important;
  background:#1e2025!important;
  color:#edf4f2!important;
  box-shadow:0 28px 80px rgba(3,8,9,.78)!important;
  font-family:Inter,"Noto Sans KR",system-ui,sans-serif!important;
}
dialog::backdrop{background:rgba(5,10,11,.8);backdrop-filter:blur(6px)}
dialog form,dialog .series-dialog,dialog .delete-player-shell,dialog .player-stats-shell,dialog .custom-team-shell{background:#1e2025;color:#edf4f2}
dialog h2,dialog h3,dialog h4,dialog h5,dialog p,dialog label,dialog button,dialog input,dialog select,dialog textarea{font-family:Inter,"Noto Sans KR",system-ui,sans-serif}
dialog h2,dialog h3,dialog h4,dialog h5{color:#f2f7f5!important;letter-spacing:-.02em}
dialog .step{color:#5eead4!important;font-size:9px;font-weight:800;letter-spacing:.16em}
dialog .dialog-copy,dialog .api-note{color:#9eafb3!important;line-height:1.65}
dialog .close{z-index:8;display:grid;place-items:center;width:31px;height:31px;padding:0;border:0!important;border-radius:6px;background:transparent!important;color:#a8b6b8!important;line-height:1;cursor:pointer}
dialog .close:hover,dialog .close:focus-visible{background:#303638!important;color:#fff!important;outline:1px solid #46504f}
dialog label{color:#cbd8d5!important;font-weight:700}
dialog input,dialog select,dialog textarea,
dialog .set-row input,dialog .set-row select,dialog .pom-select,dialog .series-role-row select{
  box-sizing:border-box;
  border:1px solid #46504f!important;
  border-radius:6px!important;
  background:#191f22!important;
  color:#eef5f2!important;
  outline:none;
}
dialog input::placeholder,dialog textarea::placeholder{color:#728387!important}
dialog input:focus,dialog select:focus,dialog textarea:focus{border-color:#2dd4bf!important;box-shadow:0 0 0 2px rgba(45,212,191,.15)}
dialog option{background:#191f22;color:#eef5f2}
dialog button{font-weight:750}
dialog button.primary,dialog .finish-series,dialog .series-role-save,dialog #runLadder{
  border-color:#2dd4bf!important;
  background:#2dd4bf!important;
  color:#102724!important;
  box-shadow:none!important;
}
dialog button.primary:hover,dialog .finish-series:hover,dialog .series-role-save:hover,dialog #runLadder:hover{background:#5eead4!important}
dialog button:disabled{opacity:.55;cursor:wait}
.lookup-guide{border:1px solid #364541!important;border-radius:7px!important;background:#222a29!important;color:#9eb0ad!important}
.lookup-guide b{color:#7ce9d8!important}.lookup-guide span{color:#9eafb3!important}
.bulk-progress>div{background:#30383a!important}.bulk-progress i{background:linear-gradient(90deg,#1aa996,#5eead4)!important}.bulk-progress p{color:#9aabad!important}

/* Alt-account linking */
.alias-target{color:#73e6d5!important}
.alias-error{color:#fb9aa8!important}
.linked-accounts{border-top-color:#394341!important}
.linked-title b{color:#dce6e3}.linked-title span,.alias-empty{color:#8fa0a3!important}
.alias-item{border:1px solid #38423f;border-radius:6px;background:#252b2d!important;color:#e3ebe9}
.alias-item .arrow{color:#5eead4!important}
.alias-remove{border:1px solid #6e3c45!important;background:#39262b!important;color:#f2a3ae!important}
.alias-remove:hover{background:#8f3545!important;color:#fff!important}

/* Series creation, editing and audit */
#seriesDialog{width:min(1180px,calc(100vw - 24px))}
.series-dialog{padding:28px}
.event-team,.series-set-detail,.series-role-editor,.series-audit-item{border-color:#3a4243!important;background:#24282c!important;color:#e6eeec!important}
.event-team p,.event-vs,.series-set-detail summary span,.series-role-editor p{color:#96a7aa!important}
.set-row{border:1px solid #363f40;background:#252a2d!important}
.set-row button{background:#2b5d54!important;color:#bff5ea!important}
.event-controls .add-set,.series-role-actions button,.series-role-edit-button{border:1px solid #46504f!important;background:#2a3032!important;color:#cbd7d4!important}
.event-controls .add-set:hover,.series-role-actions button:hover,.series-role-edit-button:hover{border-color:#4d776f!important;color:#72e5d4!important}
.series-result{border:1px solid #346156!important;background:#20342f!important;color:#cbe6df!important}
.captain-score,.captain-final span{color:#edf5f2!important}
.captain-final>div{border-color:#3b4444!important;background:#242a2c}
.series-set-teams{border-top-color:#3b4444!important}.series-set-teams>div+div{border-left-color:#3b4444!important}
.series-player-stat{border-top-color:#353e3f!important}
.series-role-row{border-bottom-color:#353f3f!important}
.series-manage-toolbar{border-top-color:#384241!important}
.series-delete-button{border-color:#8d4451!important;background:#312329!important;color:#f08e9e!important}
.series-delete-button:hover{background:#7e3040!important;color:#fff!important}
.series-audit-list{color:#dbe5e2}
.series-audit-meta,.series-audit-empty{color:#8fa1a3!important}
.post-alternative,.discord-auth-button{border-color:#316f64!important;background:#29453f!important;color:#9ff0e2!important}

/* Confirmation dialogs */
.delete-warning{border-color:#713b46!important;background:#34242a!important;color:#f0a5b0!important}
.delete-actions button:first-child,.custom-team-actions button:first-child{border:1px solid #444d4d!important;background:#2a3032!important;color:#c7d3d1!important}
.delete-actions button:last-child{background:#b94759!important;color:#fff!important}

/* Player stats and all settings moved into it */
#playerStatsDialog{width:min(1180px,calc(100vw - 24px))}
.player-stats-shell{background:#1e2025!important}
.stats-hero{border-bottom-color:#3a4243!important}
.stats-title p,.stats-power span,.stats-power small{color:#91a3a6!important}
.stats-power strong{color:#5eead4!important}
.stat-box,.stats-card,.power-history-panel{border-color:#394344!important;background:#252a2d!important}
.stat-box span,.stat-box small,.stats-card p{color:#91a3a6!important}
.stat-box strong,.stats-card h3{color:#edf4f2!important}
.role-stat>span,.role-stat b,.role-stat em,.champ-stat span,.power-row>span{color:#a5b4b6!important}
.role-bar,.power-track{background:#343c3e!important}
.role-bar i,.power-track i{background:linear-gradient(90deg,#1aa996,#5eead4)!important}
.champ-stat{border-bottom-color:#353d3f!important}
.power-note{border-color:#376057!important;background:#20342f!important;color:#a8c6bf!important}
.power-history-toggle{border-color:#42605a!important;background:#26312f!important;color:#78e7d6!important}
.power-history-toggle:hover,.power-history-toggle.active{border-color:#2dd4bf!important;background:#296057!important;color:#d6fff8!important;box-shadow:0 0 0 3px rgba(45,212,191,.12)!important}
.power-history-head span,.power-history-detail,.power-history-note,.power-history-empty{color:#90a3a5!important}
.power-history-panel .up{color:#5eead4!important}.power-history-panel .down{color:#fb7185!important}
.power-grid line{stroke:#364143!important}.power-grid text,.power-point text{fill:#8da0a3!important}
.power-area{fill:#2dd4bf!important;fill-opacity:.08!important}.power-line{stroke:#5eead4!important}.power-point circle{fill:#202628!important;stroke:#81eddd!important}

/* Manual matchup editor */
.custom-team-open{border-color:#3d5b55!important;background:#293a37!important;color:#b7e9df!important}
.custom-slot{border-color:#3a4444!important;background:#252a2d!important}
.custom-slot label{color:#91a3a6!important}.custom-slot b{color:#61e0cd!important}
.custom-preview{border-color:#3b665d!important;background:#20342f!important;color:#a9c5bf!important}
.custom-preview strong{color:#edf5f2!important}
.custom-team-actions button:last-child{background:#2dd4bf!important;color:#102724!important}

/* AI series commentary follows the site theme; team-side accents remain distinct. */
.series-commentary{border-color:#3b5550!important;background:linear-gradient(135deg,#202c2a,#191f22)!important}
.series-commentary-toggle{color:#edf5f2!important}.series-commentary-toggle:hover{background:rgba(45,212,191,.06)!important}
.series-commentary-symbol{border-color:#4d8c81!important;background:#25463f!important;color:#6ee7d5!important}
.series-commentary-toggle small,.series-commentary-head small,.series-commentary-notice{color:#8fa2a5!important}
.series-commentary-toggle em,.series-commentary-head,.series-commentary-point b,.series-commentary-card>span,.series-commentary-rating span{color:#70e3d2!important}
.series-commentary-panel{border-top-color:#374744!important;background:#1a2022!important}
.series-commentary-overview,.series-commentary-card p,.series-commentary-rating p{color:#bdcbc8!important}
.series-commentary-point{border-left-color:#2dd4bf!important;background:#23312e!important;color:#dbe6e3!important}
.series-commentary-card,.series-commentary-rating,.series-ai-score,.series-ai-box{border-color:#394746!important;background:#21282a!important}
.series-commentary-card>span{background:#25413b!important}
.series-ai-tabs{border-color:#384442!important;background:#1a2022!important}.series-ai-tabs button{color:#91a3a6!important}.series-ai-tabs button.active{background:#28443e!important;color:#eef7f4!important;box-shadow:inset 0 -2px #2dd4bf!important}
.series-ai-set-head,.series-ai-event-detail,.series-ai-phases article,.series-ai-player{border-color:#394746!important;background:#242c2d!important}
.series-ai-side-map span{background:#293433!important;color:#bdcbc8!important}
.series-ai-timeline svg{background:#181f21!important}.series-ai-grid,.series-ai-zero{stroke:#3b4748!important}.series-ai-phase-label{fill:#7f9295!important}.series-ai-checkpoint rect{fill:#1c2426!important;stroke:#455453!important}
.series-ai-event-detail span,.series-ai-phases article p,.series-ai-team-review p,.series-ai-player p{color:#a5b6b7!important}
.series-ai-player b{color:#68dfce!important}

/* The ladder keeps its playful layout, but no longer opens as an unrelated beige site. */
.retro-ladder-modal{border:1px solid #485250!important;background:#1e2025!important;color:#dfe9e6!important}
.retro-ladder-modal .ladder-dialog{background:#1e2025!important}
.retro-ladder-head{border-bottom:1px solid #3d4947!important;background:linear-gradient(135deg,#26322f,#202628)!important}
.retro-ladder-head small{color:#5eead4!important}.retro-ladder-head h2{color:#f0f6f4!important;font-family:Inter,"Noto Sans KR",sans-serif!important}.retro-ladder-head p{color:#9dadad!important}
.ladder-bgm-toggle{border-color:#49615c!important;background:#293432!important;color:#bee9e1!important}.ladder-bgm-toggle.on{border-color:#2dd4bf!important;background:#2a5c53!important;color:#fff!important}
.retro-ladder-meta{border-bottom-color:#394341!important;background:#22282a!important;color:#99aaa9!important}.retro-ladder-meta a{color:#5eead4!important}
.retro-ladder-modal .ladder-dialog canvas{border-color:#495452!important;background:#192022!important;box-shadow:inset 0 0 0 6px #252d2e!important}
.retro-result{border-color:#4a5754!important;background:#202827!important;color:#8cf0df!important;box-shadow:0 5px 0 rgba(5,10,11,.3)!important}.retro-result p{color:#8cf0df!important}
.retro-ladder-modal #runLadder{border:0!important;background:#2dd4bf!important;color:#102724!important;box-shadow:none!important}
.retro-balance b{color:#9baaa9!important}.retro-balance em{background:#38413f!important}
.retro-ladder-body aside{border-left-color:#3b4946!important;background:#22282a!important}.retro-ladder-body aside h3{background:#293d38!important;color:#eef6f3!important}
.ladder-recent span{border-bottom-color:#394341!important;color:#a9b8b5!important}.ladder-recent-empty{color:#849795!important}

/* Toasts and result feedback */
#toast{border:1px solid #417a70!important;background:#1e2927!important;color:#c9fff5!important;box-shadow:0 16px 48px rgba(3,8,9,.6)!important;font-family:Inter,"Noto Sans KR",system-ui,sans-serif!important}

@media(max-width:650px){
  dialog{width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)}
  .series-dialog,.delete-player-shell,.custom-team-shell,.player-stats-shell{padding:20px 14px!important}
  .event-teams{grid-template-columns:1fr}.event-vs{min-height:22px}
  .set-row{grid-template-columns:42px minmax(0,1fr)}
  .set-row button,.set-row select{width:100%}
  .retro-ladder-body aside{border-left:0!important;border-top-color:#3b4946!important}
}

/* --------------------------------------------------------------------------
   Theme completion audit · legacy color removal
   Blue/red remain only where they communicate opposing teams or gain/loss.
   -------------------------------------------------------------------------- */

/* Header tools and roster controls */
.mirror-tools>div .ghost{
  border-color:#3b4445!important;
  background:#22282a!important;
  color:#bdc9c7!important;
}
.mirror-tools>div .ghost:hover{border-color:#4d716a!important;background:#2b3734!important;color:#72e3d2!important}
.mirror-tools .uploader-download{display:flex;align-items:center;padding:8px 9px;border-radius:5px;color:#9fded3!important;text-decoration:none;font-size:11px}
.mirror-tools .uploader-download:hover{background:#2b3734;color:#5eead4!important}
.count strong,#selectedCount{color:#5eead4!important}
.role-lock{border-color:#46504f!important;background:#242a2c!important;color:#a8b7b6!important}
.player.selected .role-lock{border-color:#3f756b!important;background:#253b36!important;color:#a9ece0!important}
.refresh-player{border-color:#46504f!important;background:#242a2c!important;color:#a8b7b6!important}
.analysis p span{color:#9dacad!important}
.analysis-actions .ladder-open,.analysis-actions .custom-team-open{
  border:1px solid #475150!important;
  background:#2a3032!important;
  color:#c5d2cf!important;
}
.analysis-actions .ladder-open:hover,.analysis-actions .custom-team-open:hover{border-color:#4d746d!important;background:#2e3a37!important;color:#71e1d0!important}
.nickname-tag.linked,.mirror-linked-alt{border-color:#376258!important;background:#253d37!important;color:#a7e9dd!important}
.nickname-tag.custom{border-color:#485252!important;background:#292f31!important;color:#c5d0ce!important}
.nickname-add{border-color:#4a5554!important;color:#91a2a3!important}
.nickname-add:hover{border-color:#2dd4bf!important;color:#5eead4!important}

/* Match archive and one-off match cards */
.match-card,.history-card,.standalone-match{border-color:#394143!important;background:#25292c!important;color:#a4b1b2!important}
.match-player{background:#303638!important;color:#cbd5d3!important}
.match-card .winner{border-color:#38665d!important;background:#223a34!important;color:#bcebe2!important}
.status,.history-card .status{background:#2b3434!important;color:#a7b8b5!important}
.history-pog .series-history-open,.monthly-series-footer button{
  border-color:#3e6f66!important;
  background:#285249!important;
  color:#b6eee4!important;
  box-shadow:none!important;
}
.history-pog .series-history-open:hover,.monthly-series-footer button:hover{background:#30685d!important;color:#fff!important}
.series-number{
  border:1px solid #3b6a61!important;
  background:#243b36!important;
  color:#72e3d2!important;
  box-shadow:none!important;
}

/* Active and completed series */
#seriesDialog h2{font-family:Inter,"Noto Sans KR",system-ui,sans-serif!important;color:#f2f6f5!important}
#seriesDialog .series-dialog{background:#1e2025!important}
#seriesDialog .series-number{margin-bottom:16px}
#seriesDialog .series-manage-toolbar{border-top-color:#384241!important}
#seriesDialog .series-auth-hint{color:#98a9aa!important}
#seriesDialog .event-team{border-color:#3b4545!important;background:#242a2c!important}
#seriesDialog .event-team p{color:#a5b4b5!important}
#seriesDialog .set-row{border-color:#394343!important;background:#252b2d!important}
#seriesDialog .set-row .set-result{color:#65d8c7!important}
#seriesDialog .set-row .save-set{
  border:1px solid #3d6c63!important;
  background:#285148!important;
  color:#baf1e7!important;
}
#seriesDialog .set-row .save-set:hover{background:#32675c!important;color:#fff!important}
#seriesDialog .series-role-edit-button,#seriesDialog .add-set{
  border:1px solid #46504f!important;
  background:#292f31!important;
  color:#c8d4d1!important;
}
#seriesDialog .series-role-edit-button:hover,#seriesDialog .add-set:hover{border-color:#52746e!important;background:#303a38!important;color:#7be4d4!important}
#seriesDialog .series-role-edit-button:disabled,#seriesDialog .series-delete-button:disabled{opacity:.48;color:#8e9a99!important}
#seriesDialog .post-alternative{
  border:1px solid #46625d!important;
  background:#293633!important;
  color:#afe5dc!important;
}
#seriesDialog .post-alternative:hover{border-color:#2dd4bf!important;background:#30443f!important;color:#d8fff8!important}
#seriesDialog .pog-guide{
  border:1px solid #3d4847!important;
  background:#242a2c!important;
  color:#91a3a4!important;
}
#seriesDialog .finish-series{border:1px solid #2bb5a2!important;background:#2bb5a2!important;color:#0d2924!important}
#seriesDialog .finish-series:hover{background:#38c9b5!important}
#seriesDialog .series-result,#seriesDialog .captain-final>div{border-color:#3a5751!important;background:#26322f!important;color:#b8d3cd!important}
#seriesDialog .series-set-detail{border-color:#3a4444!important;background:#23292b!important}
#seriesDialog .series-set-detail summary{background:#252c2e;color:#dce6e3}

/* Completed-set broadcast presentation */
.broadcast-set{border-color:#3a4545!important;background:#202628!important;color:#eaf1ef!important}
.broadcast-set>summary{border-bottom-color:#3b4646!important;background:#252c2e!important;color:#dce7e4!important}
.broadcast-set>summary b{color:#65dfcd!important}
.broadcast-main h4{border-bottom-color:#3b4646!important;color:#bdcbc8!important}
.broadcast-stat-row{border-bottom-color:rgba(115,133,130,.28)!important}
.broadcast-stat-row span,.broadcast-clock small{color:#99aaa9!important}
.broadcast-damage-row span small,.broadcast-table-head,.broadcast-player-row.missing{color:#879997!important}
.broadcast-damage-row>div{background:#343d3e!important}
.broadcast-damage-row>div i{background:#55b7c9!important}
.broadcast-damage-row.red>div i{background:#d7687d!important}
.broadcast-player-table{border-top-color:#3b4646!important}
.broadcast-player-row{border-top-color:rgba(112,129,127,.24)!important}
.broadcast-player-row .role{color:#75c3d6!important}.broadcast-player-row.red .role{color:#ee8699!important}

/* Player detail: rating evidence, radar and champion role tags */
.rating-evidence,.player-radar-panel{
  border-color:#3a4545!important;
  background:#22282a!important;
  color:#e8f0ee!important;
}
.rating-evidence-heading>span,.rating-role small,.rating-event small,.rating-event p,.radar-subtitle,.radar-legend,.radar-role-focus,.radar-style-summary,.radar-metric small,.radar-style-method,.rating-role-details,.rating-method{color:#a7b6b6!important}
.rating-role{border-color:#3b4545!important;background:#282e30!important}
.rating-role>span{color:#bdcac8!important}.rating-role strong{color:#5eead4!important}
.rating-confidence{background:#394243!important}.rating-confidence i{background:#2dd4bf!important}
.rating-events summary,.radar-style-method summary,.rating-role-details summary,.rating-method summary{color:#d9e4e1!important}
.rating-event{border-bottom-color:#3a4445!important}.rating-event .up{color:#5eead4!important}.rating-event .down{color:#fb8b9c!important}
.rating-history-select{border-color:#465453!important;background:#1d2426!important;color:#edf4f2!important}
.player-radar-panel{--radar-surface:#22282a}
.radar-panel-heading h4,.player-radar text,.radar-role-focus strong{color:#edf4f2!important;fill:#edf4f2!important}
.radar-panel-heading>span{border-color:#455250!important;color:#b7c5c3!important}
.player-radar{--radar-color:#5eead4!important}
.player-radar.style-radar{--radar-color:#e8ad6d!important}
.player-radar .radar-grid{stroke:#3a4646!important}.player-radar .radar-baseline{stroke:#91a3a2!important;fill:#91a3a2!important}.player-radar .radar-empty{fill:#aab9b7!important}.player-radar .radar-provisional{fill:#22282a!important}
.radar-legend-dot{border-color:#5eead4!important;background:#5eead4!important}.radar-legend-dot.hollow{background:#22282a!important}.radar-legend-line.median{border-top-color:#91a3a2!important}
.radar-role-buttons button{border-color:#455250!important;background:#282f31!important;color:#b9c8c5!important}
.radar-role-buttons button[aria-pressed=true]{border-color:#2dd4bf!important;background:#285149!important;color:#effbf8!important}
.radar-role-focus,.radar-metric,.radar-style-method,.rating-role-details,.rating-method{border-top-color:#3a4545!important}
.radar-metric span{color:#dbe5e2!important}
.champ-role-badge{border-color:#3e6c63!important;background:#25413b!important;color:#9fe8dc!important}
.champ-role-badge.secondary{border-color:#46504f!important;background:#2a3032!important;color:#aebcba!important}
.stats-card>h3 small{color:#8fa2a3!important}

/* Small feedback components */
.account-link-open{border-color:#3e655d!important;background:#263b36!important;color:#a8e6db!important}
.account-link-open:hover{background:#306158!important;color:#fff!important}
#aliasDialog .alias-target{border:1px solid #36564f!important;background:#243630!important;color:#afe9df!important}
.roster-import-result{border-color:#355b51!important;background:#1f302c!important}.roster-import-result>b{color:#71e1d0!important}.roster-import-result span{color:#b8c7c4!important}

@media(max-width:650px){
  #seriesDialog .post-alternative,#seriesDialog .finish-series{min-height:42px}
}

.player-name .nickname-add{display:inline-flex;align-items:center;margin-left:6px;flex-shrink:0;padding:4px 7px;font-size:10px}
.dialog-loading{display:flex;align-items:center;justify-content:center;gap:12px;min-height:180px;color:#b5c9c5;font-size:14px}.dialog-loading:before{content:"";width:22px;height:22px;border:3px solid #34524b;border-top-color:#5eead4;border-radius:50%;animation:dialog-spin .8s linear infinite}.dialog-load-error{padding:32px;color:#ffb6b6}.dialog-load-error button{margin-top:16px;padding:8px 16px;cursor:pointer}@keyframes dialog-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.dialog-loading:before{animation:none}}
.roster-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.roster-active-filter{display:inline-flex;align-items:center;gap:6px;color:#b9ccc7;font-size:11px;white-space:nowrap;cursor:pointer}.roster-active-filter input{width:14px;height:14px;margin:0;accent-color:#2dd4bf}.roster-active-filter:has(input:checked){color:#5eead4}
.roster-filter-empty{padding:30px 16px;color:#9cb0ac;font-size:12px;text-align:center}

/* Team editor: keyboard, mouse and touch have the same two-player swap. */
#blueTeam>.live-team-slot,#redTeam>.live-team-slot{min-height:52px;cursor:pointer;touch-action:pan-y;border-radius:8px;padding-block:8px}
.live-team-slot:focus-visible{outline:3px solid #5eead4;outline-offset:2px}
#blueTeam>.live-team-slot.swap-selected,#redTeam>.live-team-slot.swap-selected{outline:2px solid #5eead4;background:#23473f!important}
#teamEditHelp{padding:10px 0;color:#b9ccc7;font-size:12px;line-height:1.6}
@media(max-width:650px){
  .player-list{max-height:none!important;overflow:visible!important}
  dialog{box-sizing:border-box;max-width:calc(100vw - 16px);overflow-x:hidden;overscroll-behavior:contain}
  dialog input,dialog select,dialog textarea{font-size:16px!important;max-width:100%;box-sizing:border-box}
  dialog button,#generateTeams,#balanceBtn{min-height:44px}
  .player{grid-template-columns:44px minmax(0,1fr) 44px 44px!important;column-gap:6px!important}
  .player>.power-tier-badge{width:44px;min-width:44px;grid-row:1/3}
  .player>div.mirror-inline-metrics{grid-column:2!important;grid-row:2;justify-items:start;width:auto}
  .mirror-player-settings{grid-column:3;grid-row:1/3;width:44px;height:44px}
  .player>.check{grid-column:4;grid-row:1/3;justify-self:center}
  .player-name{flex-wrap:wrap;overflow-wrap:anywhere}
  .live-team-slot{overflow-wrap:anywhere}
  #blueTeam>.live-team-slot,#redTeam>.live-team-slot{min-height:64px}
}
