:root{--ink:#10100f;--paper:#f1efe8;--red:#e3462f;--lime:#d5f557}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Gothic UI",sans-serif}header{height:82px;padding:0 clamp(24px,6vw,90px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #cbc8bf}.brand{display:flex;align-items:center;gap:12px;font:900 17px Arial;letter-spacing:.12em}.brand>b{background:var(--ink);color:white;font:900 27px Georgia;padding:9px 14px}.brand small{display:block;font-size:8px;margin-top:5px;opacity:.55}.brand+ i{font:900 10px Arial;color:var(--red);letter-spacing:.16em}.hero{padding:100px clamp(24px,8vw,130px);border-bottom:1px solid #cbc8bf}.hero>small,.title>span{color:var(--red);font:900 10px Arial;letter-spacing:.18em}.hero h1{max-width:980px;margin:22px 0 30px;font-size:clamp(48px,8vw,115px);line-height:.95;letter-spacing:-.07em}.hero em{color:var(--red);font-style:normal}.hero p{font-weight:700;line-height:1.9}section{padding:80px clamp(24px,8vw,130px)}.title{display:flex;align-items:baseline;gap:18px;margin-bottom:38px}.title h2{margin:0;font-size:clamp(32px,4vw,52px);letter-spacing:-.05em}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:15px}.lobby{background:white;border-top:4px solid var(--ink);padding:25px}.lobby>b{color:var(--red);font-size:11px}.lobby h3{font-size:23px;min-height:50px;margin:28px 0}.lobby>strong{font:900 40px Arial}.lobby>strong small{font-size:10px;color:#777}.lobby p{border-top:1px solid #ddd;padding-top:15px;font-size:11px;color:#666}.dark{background:var(--ink);color:var(--paper)}.dark .title>span,.win{color:var(--lime)}.lead{color:#999}.game-table-wrap{overflow-x:auto;border-top:1px solid #3c3c39}.games{min-width:1180px}.game-head,.games article{display:grid;grid-template-columns:115px 210px minmax(240px,1fr) minmax(240px,1fr) minmax(270px,1.25fr);gap:16px;align-items:center}.game-head{height:38px;color:#777;font:800 8px Arial;letter-spacing:.12em;border-bottom:1px solid #444}.games article{height:54px;border-bottom:1px solid #30302e;font-size:11px}.game-date{display:flex;align-items:center;gap:9px}.game-date time{color:var(--lime);font-weight:900}.game-date small{color:#666;font-family:monospace}.games h3{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.team-cell,.members{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-cell b{display:inline-block;width:40px;font:900 8px Arial;letter-spacing:.1em}.win-team{color:#f3f1e9}.win-team b{color:var(--lime)}.lose-team,.members{color:#aaa79f}.lose-team b{color:#777}.users-title{margin-top:80px;padding-top:60px;border-top:1px solid #333}nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:25px}nav a{color:white;text-decoration:none;border:1px solid #555;padding:10px 13px;font-size:11px}.table{overflow:auto}table{width:100%;min-width:620px;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid #333;font-size:12px}th{font:800 9px Arial;color:#777;letter-spacing:.12em}.empty{padding:45px;border:1px dashed #777;text-align:center;color:#888}footer{padding:25px clamp(24px,6vw,90px);background:var(--red);color:white;font:800 9px Arial;letter-spacing:.14em}@media(max-width:650px){.hero{padding-top:70px}section{padding-left:20px;padding-right:20px}}
.games{min-width:0;border-top:1px solid #3c3c39}.games .game-row{display:block;height:auto;padding:16px 0 12px}.game-result{display:grid;grid-template-columns:118px minmax(260px,1fr) 44px minmax(260px,1fr);gap:14px;align-items:center}.game-time{align-self:start;padding-top:7px}.game-time time{display:block;color:var(--lime);font:900 13px Arial}.game-time span{display:block;margin-top:6px;color:#898981;font:700 11px monospace}.side{display:grid;grid-template-columns:40px 1fr;align-items:start}.side>b{padding-top:7px;font:900 8px Arial;letter-spacing:.1em}.winners>b{color:var(--lime)}.losers>b{color:#777}.team-group{display:flex;flex-wrap:wrap;gap:6px}.team-group+.team-group{margin-top:6px}.team-label{width:100%;color:#65655f;font:800 8px Arial}.player{min-width:82px;padding:5px 8px;background:#1c1c1a;border-left:2px solid #454540}.winners .player{border-color:var(--lime)}.player strong{display:inline-block;font-size:11px}.player em{margin-left:6px;color:var(--lime);font:800 9px Arial;font-style:normal}.player small{display:block;margin-top:3px;color:#99968f;font-size:9px}.player small i{color:#5e5e59;font-style:normal}.versus{color:#595953;text-align:center;font:900 13px Arial}.unknown-result{display:inline-block;padding-top:7px;color:#777;font-size:11px}.game-name{display:flex;gap:10px;align-items:center;margin:10px 0 0 118px}.game-name small{color:#5f5f59;font:9px monospace}.games .game-name h3{margin:0;color:#aaa79f;font-size:11px;font-weight:600}.users-title{margin-top:80px;padding-top:60px;border-top:1px solid #333}@media(max-width:900px){.game-result{grid-template-columns:92px 1fr 34px 1fr;gap:8px}.side{grid-template-columns:1fr}.side>b{margin-bottom:5px}.game-name{margin-left:92px}.player{min-width:74px}}@media(max-width:650px){.game-result{grid-template-columns:1fr 28px 1fr}.game-time{grid-column:1/-1;display:flex;gap:12px;padding-top:0}.game-time span{margin-top:0}.side{display:block}.game-name{margin-left:0}.player{display:block;margin-bottom:4px}.versus{align-self:center}}
.game-result{grid-template-columns:220px minmax(260px,1fr) 44px minmax(260px,1fr)}.time-line{display:flex;align-items:baseline;gap:12px;white-space:nowrap}.game-time .time-line time{display:inline}.game-time .time-line span{display:inline;margin:0}.game-time .game-name{display:flex;margin:9px 0 0;gap:7px;align-items:baseline;min-width:0}.game-time .game-name h3{overflow:visible;white-space:normal;line-height:1.45}.games .game-row.day-boundary{border-top:4px solid #6f6f68;padding-top:18px}@media(max-width:900px){.game-result{grid-template-columns:180px 1fr 34px 1fr}.game-time .game-name{margin-left:0}}@media(max-width:650px){.game-result{grid-template-columns:1fr 28px 1fr}.game-time{display:block}.game-time .time-line{display:flex}.game-time .game-name{margin-top:7px}}
.time-line{display:grid;grid-template-columns:max-content max-content;column-gap:12px;white-space:nowrap}.date-cell,.duration-cell{white-space:nowrap}.game-time .game-name{display:grid;grid-template-columns:minmax(0,max-content) max-content;column-gap:7px}.game-time .game-name h3{display:block;color:#ddd9cf;font-size:12px;font-weight:700}.game-time .game-name small{white-space:nowrap}
.player-no{display:inline;margin-right:5px;background:none;font:900 12px Arial;vertical-align:middle;-webkit-text-stroke:.45px #fff;paint-order:stroke fill}.player-number-1{border-color:#3b82f6}.player-number-1 .player-no{color:#3b82f6}.player-number-2{border-color:#ef4444}.player-number-2 .player-no{color:#ef4444}.player-number-3{border-color:#facc15}.player-number-3 .player-no{color:#facc15}.player-number-4{border-color:#8b5a2b}.player-number-4 .player-no{color:#8b5a2b}.player-number-5{border-color:#f97316}.player-number-5 .player-no{color:#f97316}.player-number-6{border-color:#22c55e}.player-number-6 .player-no{color:#22c55e}.player-number-7{border-color:#a855f7}.player-number-7 .player-no{color:#a855f7}.player-number-8{border-color:#22d3ee}.player-number-8 .player-no{color:#22d3ee}.game-time .game-name{grid-template-columns:minmax(0,max-content) max-content;grid-template-areas:"title rank"}.game-time .game-name h3{grid-area:title}.team-rank-total{grid-area:rank;margin:0;color:#d5f557;font:800 8px Arial;letter-spacing:.03em;white-space:nowrap}.team-rank-total.unavailable{color:#777}
.brand{color:var(--ink);text-decoration:none}.brand span{font-weight:900}
.user-link{color:inherit;text-decoration:none;border-bottom:1px dotted #777}.user-link:hover{color:var(--lime)}.user-page{background:#10100f;color:#f1efe8}.user-page header{border-color:#333}.user-page .brand{color:#f1efe8}.profile-main{max-width:1500px;margin:auto;padding:45px clamp(20px,6vw,90px) 90px}.back-link{color:#aaa;text-decoration:none;font-size:12px}.profile-head{padding:65px 0 45px}.profile-head small{color:var(--lime);font:900 10px Arial;letter-spacing:.18em}.profile-head h1{margin:12px 0 8px;font-size:clamp(42px,7vw,92px);line-height:1;letter-spacing:-.055em}.profile-head p{color:#888;font-size:12px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:1px;padding:0;background:#353531}.metric-grid>div{background:#181816;padding:24px}.metric-grid small{display:block;color:#777;font:800 9px Arial;letter-spacing:.1em}.metric-grid strong{display:block;margin-top:9px;font-size:21px}.profile-section{padding:75px 0 0}.profile-section .title{margin-bottom:24px}.profile-section .title h2{font-size:32px}.profile-section .title span{color:var(--lime)}.period-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.period-grid>div{padding:20px;background:#181816;border-top:2px solid var(--lime)}.period-grid b,.period-grid strong,.period-grid span{display:block}.period-grid strong{margin:10px 0 5px;font-size:24px}.period-grid span{color:#999;font-size:11px}.split-stats{display:grid;grid-template-columns:1fr 1fr;gap:45px}.profile-table{min-width:0}.profile-table th,.profile-table td{padding:11px 9px}.profile-table td:first-child{font-weight:700}.profile-table a{color:#eee;text-decoration:none;border-bottom:1px dotted #777}.profile-table a:hover{color:var(--lime)}.recent-games{border-top:1px solid #383834}.recent-game{display:grid;grid-template-columns:90px 48px 90px 90px 75px minmax(180px,1fr);gap:10px;align-items:center;padding:11px 8px;border-bottom:1px solid #2e2e2b;font-size:11px}.recent-game time{color:#888}.recent-game>b{font:900 9px Arial}.recent-game.is-win>b{color:var(--lime)}.recent-game.is-loss>b{color:#e36b5a}.recent-game strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-page footer{background:#181816;color:#777}@media(max-width:800px){.metric-grid{grid-template-columns:repeat(2,1fr)}.period-grid,.split-stats{grid-template-columns:1fr 1fr}.split-stats{gap:30px}.recent-game{grid-template-columns:75px 42px 1fr 1fr}.recent-game span:nth-of-type(3),.recent-game strong{display:none}}@media(max-width:520px){.period-grid,.split-stats{grid-template-columns:1fr}.profile-head{padding-top:45px}.metric-grid>div{padding:17px}.metric-grid strong{font-size:16px}}
.period-grid strong,.period-grid span{font-size:19px;font-weight:800}.period-grid strong{margin:10px 0 5px}.stat-title{display:grid;grid-template-columns:max-content 1fr max-content;align-items:center}.period-select{appearance:auto;background:#20201e;color:#eee;border:1px solid #4b4b46;padding:8px 28px 8px 10px;font:700 11px "Yu Gothic UI",sans-serif}.rate-cell{min-width:105px}.rate-cell>b{display:block;font-size:11px}.rate-track{display:block;height:5px;margin-top:6px;background:#343430;overflow:hidden}.rate-track span{display:block;height:100%;background:var(--lime)}.no-period-data{padding:30px!important;color:#777;text-align:center;font-weight:400!important}@media(max-width:600px){.stat-title{grid-template-columns:max-content 1fr}.stat-title .period-select{grid-column:1/-1;margin-top:10px}.period-grid strong,.period-grid span{font-size:17px}}
.recent-game{grid-template-columns:82px 42px 72px 65px minmax(145px,.9fr) minmax(220px,1.35fr) minmax(220px,1.35fr);padding:12px 10px;border-left:4px solid transparent}.recent-game.is-win{background:rgba(113,168,65,.18);border-left-color:#9bd85b}.recent-game.is-loss{background:rgba(190,69,52,.2);border-left-color:#e36b5a}.recent-title{white-space:normal!important;line-height:1.45}.recent-team{display:flex;flex-wrap:wrap;gap:3px 7px;align-items:center}.recent-team small{width:100%;font:800 8px Arial;letter-spacing:.08em}.recent-team.allies small{color:var(--lime)}.recent-team.enemies small{color:#f18a7c}.recent-team a{color:#ddd;text-decoration:none;border-bottom:1px dotted #777}.recent-team a:hover{color:#fff}@media(max-width:1000px){.recent-game{grid-template-columns:75px 42px 70px 60px 1fr}.recent-game .recent-title{display:block;grid-column:5}.recent-team{grid-column:1/-1;padding-left:117px}.recent-team.enemies{margin-top:-5px}}@media(max-width:600px){.recent-game{grid-template-columns:70px 40px 1fr 1fr}.recent-game .recent-title{display:block;grid-column:1/-1}.recent-team{grid-column:1/-1;padding-left:0}.recent-game .recent-duration{display:block}}
.member-rank{display:inline-block;margin-left:5px;padding:1px 4px;background:#d5f557;color:#10100f;border-radius:2px;font:900 8px Arial;font-style:normal;vertical-align:middle}
.profile-rank{display:inline-block;padding:.2em .35em;background:var(--lime);color:#10100f;border-radius:4px;font:900 .22em Arial;font-style:normal;vertical-align:middle;letter-spacing:0}
.current-rank-record{display:flex;flex-wrap:wrap;width:max-content;max-width:100%;margin:18px 0 14px;overflow:hidden;border:1px solid var(--theme-line,#454540);border-left:5px solid var(--theme-water,#255b9b);background:linear-gradient(145deg,var(--theme-paper,#1b1b19),var(--theme-sand-pale,#23231f));box-shadow:var(--theme-shadow,0 8px 24px rgba(0,0,0,.18))}.current-rank-record>span{display:grid;align-content:center;min-height:68px;padding:11px 20px;border-right:1px solid var(--theme-line,#454540)}.current-rank-record>span:last-child{border-right:0}.current-rank-record small{display:block;color:var(--theme-muted,#999)!important;font:800 9px Arial!important;letter-spacing:.1em!important}.current-rank-record strong{display:block;margin-top:7px;color:var(--theme-text,#f1efe8);font-size:20px;line-height:1.15;white-space:nowrap}.current-rank-record .rank-record-result{min-width:260px}.current-rank-record em{font-size:12px;font-style:normal}.current-rank-record em.is-positive{color:var(--theme-grass,#91aa37)}.current-rank-record em.is-negative{color:var(--theme-clay,#e36b5a)}.current-rank-record em.is-even{color:var(--theme-muted,#999)}@media(max-width:650px){.current-rank-record{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.current-rank-record>span{min-height:60px;padding:10px 13px;border-bottom:1px solid var(--theme-line,#454540)}.current-rank-record>span:nth-child(even){border-right:0}.current-rank-record .rank-record-result{min-width:0}.current-rank-record strong{font-size:16px}.current-rank-record em{display:block;margin-top:3px;font-size:10px}}
.profile-rank-overview{display:grid;grid-template-columns:minmax(360px,.78fr) minmax(520px,1.22fr);align-items:start;gap:24px;padding:12px 0 0}.rank-overview-panel{min-width:0;padding:22px;border:1px solid var(--theme-line,#454540);background:linear-gradient(145deg,var(--theme-paper,#1b1b19),var(--theme-sand-pale,#23231f));box-shadow:var(--theme-shadow,0 8px 24px rgba(0,0,0,.18))}.rank-overview-panel>.title{display:flex;align-items:baseline;gap:14px;margin:0 0 18px}.rank-overview-panel>.title span{color:var(--theme-grass,#91aa37);font:900 10px Arial;letter-spacing:.15em}.rank-overview-panel>.title h2{margin:0;font-size:clamp(24px,2.5vw,34px);letter-spacing:-.04em}.current-rank-panel .current-rank-record{display:grid;width:100%;margin:0;grid-template-columns:repeat(2,minmax(0,1fr));box-shadow:none}.current-rank-panel .current-rank-record>span{min-width:0;border-right:1px solid var(--theme-line,#454540);border-bottom:1px solid var(--theme-line,#454540)}.current-rank-panel .current-rank-record>span:nth-child(even){border-right:0}.current-rank-panel .current-rank-record>span:nth-child(3),.current-rank-panel .current-rank-record>span:nth-child(4){border-bottom:0}.current-rank-panel .current-rank-record .rank-record-result{grid-column:1/-1;min-width:0;border-top:1px solid var(--theme-line,#454540);border-right:0;border-bottom:0}.rank-period-form{display:flex;justify-content:flex-end;margin:-48px 0 12px}.rank-period-form label{display:flex;align-items:center;gap:8px;color:var(--theme-muted,#999);font-size:10px}.rank-period-form select,.rank-period-form button{height:34px;padding:0 10px;border:1px solid var(--theme-line,#454540);background:var(--theme-paper,#20201e);color:var(--theme-text,#eee)}.rank-change-panel .rank-history-chart{height:auto;aspect-ratio:800/260}.monthly-history-section .section-guide{margin:-12px 0 18px;color:var(--theme-muted,#888);font-size:11px}.monthly-history-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.monthly-history-table{width:100%}.overall-summary .metric-grid{padding:0}@media(max-width:1050px){.profile-rank-overview{grid-template-columns:1fr}.rank-period-form{margin:-48px 0 12px}}@media(max-width:760px){.monthly-history-columns{grid-template-columns:1fr}.rank-period-form{justify-content:flex-start;margin:0 0 12px}}@media(max-width:520px){.rank-overview-panel{padding:15px}.current-rank-panel .current-rank-record strong{font-size:16px}.current-rank-panel .current-rank-record .rank-record-result strong{white-space:normal}}
.lobby-members{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px;padding-top:16px;border-top:1px solid #ddd}.lobby-member{display:inline-flex;align-items:center;gap:4px;padding:4px 6px;background:#f1efe8;font-size:11px}.lobby-member a{color:var(--ink);font-weight:800;text-decoration:none}.lobby-member a:hover{text-decoration:underline}.lobby-player-no{font:900 12px Arial;-webkit-text-stroke:.45px #fff;paint-order:stroke fill}.lobby-player-no.number-1{color:#3b82f6}.lobby-player-no.number-2{color:#ef4444}.lobby-player-no.number-3{color:#f0bd00}.lobby-player-no.number-4{color:#8b5a2b}.lobby-player-no.number-5{color:#f97316}.lobby-player-no.number-6{color:#22a94f}.lobby-player-no.number-7{color:#a855f7}.lobby-player-no.number-8{color:#0ebad0}
.game-date-divider{padding:9px 0 7px;border-bottom:1px solid #45453f;color:var(--lime);font:900 13px Arial;letter-spacing:.08em}.game-result{grid-template-columns:270px minmax(260px,1fr) 44px minmax(260px,1fr)}.time-line{display:grid;grid-template-columns:max-content max-content max-content;column-gap:12px;align-items:baseline}.game-time .team-rank-total{display:inline;grid-area:auto;margin:0;color:#d5f557;font:800 8px Arial;white-space:nowrap}.game-time .team-rank-total.unavailable{color:#777}.game-time .game-name{display:block;margin-top:8px}.game-time .game-name h3{display:block}@media(max-width:900px){.game-result{grid-template-columns:225px 1fr 34px 1fr}.time-line{column-gap:8px}}@media(max-width:650px){.game-result{grid-template-columns:1fr 28px 1fr}.game-time .time-line{display:grid;grid-template-columns:max-content max-content max-content}.game-time .game-name{margin-top:7px}}
.games .game-row,.games .game-row.day-boundary{padding:0}.game-time{min-width:0}.game-time .time-line{display:flex;flex-flow:row nowrap;align-items:baseline;gap:10px;width:max-content;min-width:max-content;white-space:nowrap}.game-time .time-line>*{flex:0 0 auto;white-space:nowrap}@media(max-width:900px){.game-time .time-line{gap:7px}}@media(max-width:650px){.game-time .time-line{display:flex;flex-flow:row nowrap;gap:9px}}
.game-date-divider{width:calc(100% + 2em);margin-left:-2em;padding-left:.4em;background:rgba(255,255,255,.055)}
.current-section{padding-top:48px;padding-bottom:52px}.current-section>.title{margin-bottom:20px}.current-section>.title h2{font-size:clamp(28px,3.2vw,42px)}#lobbies.grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px}.lobby{padding:12px 14px;border-top-width:3px}.lobby-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.lobby-top>b{color:var(--red);font-size:10px}.lobby-top>strong{font:900 22px Arial}.lobby-top>strong small{font-size:10px;color:#777}.lobby h3{min-height:0;margin:5px 0 7px;font-size:16px;line-height:1.35}.lobby .lobby-members{gap:4px;margin-top:0;padding-top:7px}.lobby .lobby-member{padding:2px 4px;font-size:10px}.lobby p{margin:7px 0 0;padding-top:6px;font-size:9px}.active-title{display:flex;align-items:baseline;gap:14px;margin-top:30px;padding-top:20px;border-top:1px solid #cbc8bf}.active-title h3{margin:0;font-size:20px}.active-title h3 small{margin-left:5px;padding:2px 5px;background:#ece2a8;color:#5f5200;font-size:9px}.active-title p{margin:0;color:#777;font-size:10px}.active-games{display:grid;gap:7px;margin-top:10px}.active-game{display:grid;grid-template-columns:155px minmax(160px,.65fr) minmax(300px,1.5fr);gap:12px;align-items:center;padding:10px 13px;background:#fff;border-left:4px solid var(--red)}.active-game>div:first-child{display:flex;flex-direction:column;gap:3px}.active-game>div:first-child>b{color:var(--red);font-size:10px}.active-game time{color:#777;font:700 10px monospace}.active-game h4{margin:0;font-size:14px}.active-game .lobby-members{margin:0;padding:0;border:0;gap:4px}.active-game .lobby-member{padding:2px 4px;font-size:10px}.active-empty{margin:10px 0 0;padding:16px;border:1px dashed #aaa;color:#777;text-align:center;font-size:11px}@media(max-width:750px){.active-title{display:block}.active-title p{margin-top:5px}.active-game{grid-template-columns:1fr}.active-game>div:first-child{flex-direction:row;justify-content:space-between}}
.live-title{display:flex;align-items:baseline;gap:14px;margin-top:28px;padding-top:18px;border-top:1px solid #cbc8bf}.live-title h3{margin:0;font-size:20px}.live-title p{margin:0;color:#777;font-size:10px}.live-streams{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:8px;margin-top:10px}.live-stream{display:grid;grid-template-columns:112px 1fr;gap:10px;padding:8px;background:#fff;color:var(--ink);text-decoration:none;border-left:4px solid #9147ff}.live-thumb{position:relative;min-height:63px;background:#222 center/cover no-repeat}.live-thumb b{position:absolute;top:4px;left:4px;padding:2px 5px;background:#e91916;color:white;font:900 8px Arial}.live-stream>span:last-child{min-width:0}.live-stream strong,.live-stream small,.live-stream em{display:block}.live-stream strong{font-size:12px}.live-stream small{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#666;font-size:9px}.live-stream em{margin-top:7px;color:#7040bd;font-size:9px;font-style:normal;font-weight:800}.game-videos{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.game-videos a{display:grid;grid-template-columns:48px max-content;align-items:center;gap:5px;padding:2px;background:#332248;color:#d9bcff;text-decoration:none;font:800 8px Arial}.game-videos img{display:block;width:48px;height:27px;object-fit:cover}.game-videos a.time-only{background:#30302d;color:#aaa}.game-videos a:hover{color:#fff}.profile-twitch-account{color:#999;font-size:12px}.profile-twitch-account a{color:#c9a7ff}.profile-live-list,.profile-video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.profile-video-grid{margin-top:10px}.profile-live-card,.profile-video-card{display:grid;grid-template-columns:145px minmax(0,1fr);gap:11px;padding:8px;background:#191917;color:#eee;text-decoration:none;border-left:3px solid #9147ff}.profile-video-card.time-only{border-color:#555}.profile-video-thumb{position:relative;display:block;min-height:82px;background:#252522;overflow:hidden}.profile-video-thumb img{display:block;width:100%;height:82px;object-fit:cover}.profile-video-thumb b{position:absolute;left:6px;top:6px;padding:3px 6px;background:#e91916;color:#fff;font:900 9px Arial}.profile-video-card .profile-video-thumb b{background:#9147ff}.profile-live-card>span:last-child,.profile-video-card>span:last-child{min-width:0}.profile-live-card strong,.profile-live-card small,.profile-video-card strong,.profile-video-card small,.profile-video-card em{display:block}.profile-live-card strong,.profile-video-card strong{font-size:12px;line-height:1.4}.profile-live-card small,.profile-video-card small{margin-top:5px;color:#999;font-size:9px}.profile-video-card em{margin-top:8px;color:#c7c4bb;font-size:9px;font-style:normal;line-height:1.5}.profile-video-empty{padding:25px;border:1px dashed #444;color:#777;text-align:center;font-size:11px}.recent-title>span{display:block}.recent-video-links{display:flex!important;flex-wrap:wrap;gap:4px;margin-top:5px}.recent-video-links a{padding:2px 4px;background:#50306f;color:#e5d0ff!important;border:0!important;font-size:8px}@media(max-width:750px){.live-title{display:block}.live-title p{margin-top:5px}}@media(max-width:560px){.profile-live-card,.profile-video-card{grid-template-columns:105px 1fr}.profile-video-thumb,.profile-video-thumb img{height:60px;min-height:60px}}
.player{position:relative}.player.has-video{margin-bottom:14px}.player-video{position:absolute;z-index:3;left:50%;bottom:-14px;width:48px;height:27px;transform:translateX(-50%);overflow:hidden;background:#50306f;box-shadow:0 2px 6px rgba(0,0,0,.55);text-decoration:none}.player-video img{display:block;width:48px;height:27px;object-fit:cover}.player-video b{display:grid;width:100%;height:100%;place-items:center;color:#fff;font-size:10px}.player-video:hover{z-index:5;transform:translateX(-50%) scale(1.12)}
.team-group{align-items:stretch}.player,.player.has-video{height:48px;min-height:48px;margin-bottom:0;overflow:hidden}.player strong{position:relative;z-index:4}.player>small{position:relative;z-index:4;pointer-events:none;text-shadow:0 1px 2px #10100f,0 0 3px #10100f}.player-video{left:auto;right:3px;bottom:2px;z-index:2;width:48px;height:27px;transform:none;box-shadow:none}.player-video:hover{z-index:3;transform:scale(1.08);transform-origin:right bottom}

/* Past games: soft blue-charcoal layers that keep video thumbnails readable. */
.dark{background:radial-gradient(circle at 12% 0,rgba(91,118,130,.16),transparent 34rem),linear-gradient(180deg,#1b2226 0,#14191c 100%);color:#f1efe8}
.dark .lead{color:#a9b0b2}
.games{border-top-color:#455159;background:rgba(8,12,14,.14)}
.games .game-row{border-bottom-color:#344047;background:rgba(255,255,255,.012);transition:background-color .15s ease}
.games .game-row:hover{background:rgba(118,145,157,.07)}
.game-date-divider{background:linear-gradient(90deg,#2b353b 0,#242c31 70%,rgba(36,44,49,.35));border-top:1px solid #435159;border-bottom-color:#3c484f;box-shadow:inset 3px 0 0 rgba(213,245,87,.72)}
.player{background:#262e32;border-top:1px solid rgba(255,255,255,.045);box-shadow:inset 0 -1px 0 rgba(0,0,0,.2)}
.winners .player{background:linear-gradient(135deg,#29362f 0,#252d31 76%)}
.losers .player{background:linear-gradient(135deg,#352c30 0,#272e32 76%)}
.player strong{color:#f4f1e9;text-shadow:0 1px 2px rgba(0,0,0,.7)}
.player small{color:#b8b5ac}
.player>small{text-shadow:0 1px 2px #171d20,0 0 4px #171d20}
.side>b{color:#929da2}
.losers>b{color:#9a8f94}
.versus{color:#7c898f}
.game-time .time-line span{color:#a0a8aa}
.games .game-name h3,.game-time .game-name h3{color:#e0ddd4}
.game-time .game-name{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px}.game-time .game-terrain-badge{display:inline-block;align-self:baseline;min-width:26px;height:auto;margin:0!important;padding:3px 6px 2px;color:#080906!important;background:#d9cf93;border:1px solid #efe5b2;border-radius:2px;box-shadow:inset 0 1px 0 rgba(255,255,255,.3);font:900 10px/1 Arial,sans-serif!important;text-align:center;text-shadow:none;white-space:nowrap}.game-time .game-terrain-badge.is-land{color:#050604!important}.game-time .game-terrain-badge.is-river{color:#071a23!important;background:#89d2e9;border-color:#b6e9f6}.player small .vod-summary-score{display:inline-block;margin:0 5px 0 0;padding:0;color:#f0d27b;background:none;border:0;border-radius:0;box-shadow:none;filter:none;font:900 10px/1.2 Arial,sans-serif;font-style:normal;text-shadow:none!important;-webkit-text-stroke:0;white-space:nowrap}.score-crown{display:inline-block;margin-right:3px;color:#f1c64f;font-family:"Segoe UI Emoji","Yu Gothic UI",sans-serif;font-size:12px;line-height:1;text-shadow:none;vertical-align:-1px}
.score-crown.is-game-top{display:inline-grid;width:23px;height:23px;margin:-6px 4px -5px -3px;place-items:center;color:#ffd84d;background:radial-gradient(circle at 38% 32%,#35444b 0,#172127 52%,#080c0f 100%);border:1px solid #ffe89a;border-radius:50%;box-shadow:0 0 0 2px rgba(18,25,29,.9),0 0 0 3px rgba(255,213,83,.5),0 2px 9px rgba(0,0,0,.6),0 0 8px rgba(255,207,68,.42);font-size:16px;text-shadow:0 1px 0 #5d3500,0 0 3px rgba(255,237,158,.75);transform:rotate(-7deg);vertical-align:middle}.player.is-top-scorer{box-shadow:inset 0 0 0 1px rgba(218,177,69,.3)}.player.is-game-top-scorer{box-shadow:inset 0 0 0 1px #e3b948,0 0 7px rgba(232,185,55,.35)}
.player-video{background:#15191c;border:1px solid rgba(225,231,229,.28);box-shadow:0 2px 7px rgba(0,0,0,.5)}
.player-video img{filter:saturate(.82) brightness(.9) contrast(1.04);transition:filter .15s ease}
.player-video:hover img{filter:saturate(1.03) brightness(1.04) contrast(1.02)}
.users-title{border-top-color:#3c484e}

/* Keep player-number colors on both teams and balance the space around VS. */
.winners .player.player-number-1{border-left-color:#3b82f6}
.winners .player.player-number-2{border-left-color:#ef4444}
.winners .player.player-number-3{border-left-color:#facc15}
.winners .player.player-number-4{border-left-color:#8b5a2b}
.winners .player.player-number-5{border-left-color:#f97316}
.winners .player.player-number-6{border-left-color:#22c55e}
.winners .player.player-number-7{border-left-color:#a855f7}
.winners .player.player-number-8{border-left-color:#22d3ee}
.winners .team-group{justify-content:flex-end}
.winners .team-label{text-align:right}
.game-result{column-gap:10px}
.versus{align-self:stretch;display:grid;place-items:center;background:rgba(255,255,255,.018);border-left:1px solid rgba(255,255,255,.035);border-right:1px solid rgba(255,255,255,.035)}

/* Thumbnail failures keep the video link usable without a broken-image icon. */
.player-video{display:grid;place-items:center;background:linear-gradient(135deg,#312441,#1b2024)}
.player-video .video-fallback{position:absolute;inset:0;z-index:0;display:grid;place-items:center;color:#c8a7ed;font-size:11px}
.player-video img{position:relative;z-index:1}
.player-video.thumb-failed{border-color:rgba(200,167,237,.38)}
.profile-video-thumb.thumb-failed{background:linear-gradient(135deg,#30243e,#202529)}
.profile-video-thumb.thumb-failed::after{content:"画像なし";position:absolute;inset:0;display:grid;place-items:center;color:#9c93a5;font:700 9px "Yu Gothic UI",sans-serif}
.profile-video-thumb.thumb-failed>b{z-index:2}

/* Stable four-player team grid: names no longer change each card's width. */
.team-group,.winners .team-group{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:100%;justify-content:normal}
.team-label{grid-column:1/-1}
.player,.player.has-video{display:grid;grid-template-columns:max-content minmax(0,1fr);grid-template-rows:19px 18px;column-gap:4px;align-content:center;width:100%;min-width:0;padding:4px 7px}
.player-leading{grid-column:1;grid-row:1;display:inline-flex;align-items:center;gap:2px;min-width:0}
.player .player-no{margin:0;align-self:center}
.player strong{grid-column:2;grid-row:1;display:flex;align-items:center;gap:4px;width:100%;max-width:100%;min-width:0;white-space:nowrap;vertical-align:middle}
.player:not([class*="player-number-"]) strong{grid-column:1/-1}
.player.is-top-scorer:not([class*="player-number-"]) strong{grid-column:2}
.player strong .user-link{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.player strong .member-rank{flex:0 0 auto;margin-left:auto}
.player>small{grid-column:1/-1;grid-row:2;margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1050px){.team-group,.winners .team-group{grid-template-columns:repeat(2,minmax(0,1fr))}.player,.player.has-video{height:46px;min-height:46px}}
@media(max-width:650px){.team-group,.winners .team-group{grid-template-columns:1fr}.player,.player.has-video{display:grid}}

.current-section>.title h2{font-size:clamp(17px,1.8vw,23px);letter-spacing:-.02em}
#lobbies>.empty{margin:0;padding:13px 18px}

.user-highlight-control{display:flex;align-items:center;gap:6px;margin-left:auto;font-size:10px}.user-highlight-control label{color:#777;white-space:nowrap}.user-highlight-control input{width:112px;height:29px;padding:4px 7px;border:1px solid #aaa;background:#fff;color:#10100f;font:700 11px "Yu Gothic UI",sans-serif}.user-highlight-control button{height:29px;padding:0 10px;border:0;background:var(--red);color:#fff;font:800 10px "Yu Gothic UI",sans-serif;cursor:pointer}.user-highlight-control button:hover{filter:brightness(1.08)}.user-page .user-highlight-control label{color:#aaa}.user-page .user-highlight-control input{border-color:#555;background:#20201e;color:#f1efe8}.is-user-highlight{color:#08242b!important;background:#68e8ff;border-bottom-color:transparent!important;box-shadow:0 0 0 2px rgba(104,232,255,.2),0 0 10px rgba(104,232,255,.24);text-decoration:none!important}.player.user-highlighted{outline:2px solid #68e8ff;outline-offset:-2px;background:linear-gradient(135deg,#164653,#26343a);box-shadow:inset 0 0 12px rgba(104,232,255,.11),0 0 8px rgba(104,232,255,.2)}.lobby-member.user-highlighted{background:#caf6ff;box-shadow:inset 0 0 0 1px #4fc7dd}.recent-game.user-highlighted,tr.user-highlighted{box-shadow:inset 4px 0 0 #68e8ff}.recent-game.user-highlighted{background-image:linear-gradient(90deg,rgba(104,232,255,.12),transparent 45%)}@media(max-width:720px){header{height:auto;min-height:82px;flex-wrap:wrap;gap:8px;padding-top:12px;padding-bottom:12px}.user-highlight-control{width:100%;margin-left:0}.user-highlight-control label{flex:1}.user-highlight-control input{width:105px}}

.recent-media-head{display:grid;gap:10px;margin:-6px 0 18px;padding:12px 14px;background:#171b1e;border:1px solid #30383d}.recent-media-head:empty{display:none}.recent-media-head .profile-twitch-account{margin:0}.recent-media-head .profile-live-list{grid-template-columns:repeat(auto-fit,minmax(280px,430px))}.recent-media-head .profile-live-card{grid-template-columns:112px minmax(0,1fr);background:#202327}.recent-media-head .profile-video-thumb,.recent-media-head .profile-video-thumb img{height:63px;min-height:63px}.recent-game-videos{grid-column:5/-1;display:flex;flex-wrap:wrap;gap:6px;padding:1px 0 4px}.recent-game-videos>a{display:grid;grid-template-columns:72px minmax(90px,1fr);width:min(245px,100%);min-height:42px;background:#242329;border-left:3px solid #6e5688;color:#eee;text-decoration:none;overflow:hidden}.recent-game-videos>a.is-owner-video{border-left-color:#9147ff;background:#292331}.recent-video-thumb{position:relative;display:block;width:72px;height:42px;overflow:hidden;background:linear-gradient(135deg,#30243e,#202529)}.recent-video-thumb img{position:relative;z-index:1;display:block;width:72px;height:42px;object-fit:cover}.recent-video-thumb b{position:absolute;inset:0;display:grid;place-items:center;color:#d7b8fa;font-size:11px}.recent-video-thumb.thumb-failed::after{content:"画像なし";position:absolute;inset:0;display:grid;place-items:end center;padding-bottom:4px;color:#8d8493;font-size:7px}.recent-game-videos>a>span:last-child{align-self:center;min-width:0;padding:4px 6px}.recent-game-videos strong,.recent-game-videos small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-game-videos strong{font-size:9px}.recent-game-videos small{margin-top:3px;color:#a89caf;font-size:8px}.recent-game-videos>a:hover{background:#352b40}.older-related-videos{margin-top:18px;border-top:1px solid #383f43}.older-related-videos summary{padding:14px 4px;color:#aaa;font-size:11px;cursor:pointer}.older-related-videos .profile-video-grid{margin-top:2px}@media(max-width:1000px){.recent-game-videos{grid-column:1/-1;padding-left:117px}}@media(max-width:600px){.recent-media-head .profile-live-list{grid-template-columns:1fr}.recent-game-videos{padding-left:0}.recent-game-videos>a{width:100%}}

.recent-team-videos{display:flex;flex-wrap:wrap;gap:5px;width:100%;margin-top:5px;padding-top:5px;border-top:1px solid rgba(255,255,255,.08)}.recent-team-videos>a,.older-video-grid>a{position:relative;display:block;width:72px;height:42px;color:#ddd;text-decoration:none;border:0!important;background:#242329;overflow:hidden}.recent-video-user{position:absolute;right:2px;bottom:2px;z-index:3;display:block;max-width:68px;height:auto;padding:1px 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:rgba(0,0,0,.58);color:#fff;font:900 8px Arial;text-align:right;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 0 3px #000}.recent-team-videos>a:hover .recent-video-user,.older-video-grid>a:hover .recent-video-user{background:rgba(0,0,0,.82);color:#fff}.recent-unknown-videos{grid-column:5/-1;display:flex;align-items:flex-end;gap:7px;padding-top:3px}.recent-unknown-videos>small{flex:0 0 auto;color:#777;font:800 8px Arial}.recent-unknown-videos .recent-team-videos{width:auto;margin:0;padding:0;border:0}.older-video-grid{display:flex;flex-wrap:wrap;gap:6px;padding:4px}.older-related-videos .older-video-grid{margin-top:2px}@media(max-width:1000px){.recent-unknown-videos{grid-column:1/-1;padding-left:117px}}@media(max-width:600px){.recent-unknown-videos{padding-left:0}}
.user-page .recent-game{grid-template-columns:82px 42px 104px 65px minmax(145px,.9fr) minmax(250px,1.45fr) minmax(250px,1.45fr)}.recent-civ{display:flex;align-items:center;gap:5px;min-width:0}.recent-civ>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-civ .vod-summary-score,.recent-team-member-civ .vod-summary-score{flex:0 0 auto;margin:0;color:#806014;background:none;border:0;box-shadow:none;filter:none;font:900 10px/1.2 Arial,sans-serif;font-style:normal;text-shadow:none!important;-webkit-text-stroke:0}.recent-title{display:flex;align-items:baseline;gap:5px}.recent-title>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.recent-title .game-terrain-badge{display:inline-block;flex:0 0 auto;min-width:26px;height:auto;margin:0;padding:3px 6px 2px;color:#080906;background:#d9cf93;border:1px solid #cbbf7c;border-radius:2px;font:900 10px/1 Arial,sans-serif;text-align:center;text-shadow:none;white-space:nowrap}.recent-title .game-terrain-badge.is-land{color:#050604}.recent-title .game-terrain-badge.is-river{color:#071a23;background:#89d2e9;border-color:#65b8d2}.recent-team-member{display:inline-flex;min-width:0;align-items:center;gap:5px;padding:3px 6px;border:1px solid rgba(102,88,60,.26);background:rgba(255,255,255,.32);border-radius:3px}.recent-team-member.is-top-scorer{border-color:#c79c35;box-shadow:inset 0 0 0 1px rgba(255,225,125,.45)}.recent-team-member-name,.recent-team-member-civ{display:inline-flex;min-width:0;align-items:center;gap:3px}.recent-team-member-name>a{max-width:108px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-team-member-civ{padding-left:5px;border-left:1px solid rgba(102,88,60,.28);color:#6e675a;font-size:8px;white-space:nowrap}.recent-team-member .score-crown{margin-right:0}@media(max-width:1000px){.user-page .recent-game{grid-template-columns:75px 42px 104px 65px 1fr}.recent-team-member-name>a{max-width:150px}}@media(max-width:600px){.user-page .recent-game{grid-template-columns:70px 40px minmax(100px,1fr) 70px}.recent-team-member{max-width:100%}.recent-team-member-name>a{max-width:110px}}
.recent-team-member.is-game-top-scorer{border-color:#d19d21;background:rgba(255,240,183,.62);box-shadow:inset 0 0 0 1px #ffe99b,0 0 7px rgba(207,153,29,.35)}

.dark .member-rank,.user-page .member-rank{padding:0 3px;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.72);border-radius:2px;font-weight:800;line-height:1.35;box-shadow:none}

.games .player-video{right:3px;bottom:3px;width:69px;height:39px}.games .player-video img{width:69px;height:39px}
.ranking-filter{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-bottom:25px;padding:16px;background:#181816}.ranking-filter label{display:grid;gap:5px;color:#888;font-size:9px}.ranking-filter select,.ranking-filter button{height:36px;padding:0 12px;border:1px solid #484843;background:#252522;color:#eee}.ranking-filter button{background:var(--lime);color:#10100f;font-weight:900;cursor:pointer}.ranking-table td:first-child{width:46px;color:var(--lime);font-weight:900}.profile-section h3{margin-top:32px;color:#bbb;font-size:15px}.profile-section pre{max-height:420px;overflow:auto;padding:15px;background:#181816;color:#aaa;font-size:10px}
.availability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.availability-panel{min-width:0;background:#e9e7df;border:1px solid #cbc8bf;border-top:3px solid var(--red)}.availability-panel.active-panel{border-top-color:#d0a72e}.availability-panel.twitch-panel{border-top-color:#9147ff}.availability-panel>header{height:auto;min-height:77px;padding:14px 16px;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;background:#fff;border-bottom:1px solid #d7d4cc}.availability-panel>header small{color:var(--red);font:900 8px Arial;letter-spacing:.14em}.availability-panel.active-panel>header small{color:#9a7200}.availability-panel.twitch-panel>header small{color:#7141b4}.availability-panel>header h3{margin:4px 0 0;font-size:17px}.availability-panel>header h3 em{padding:2px 5px;background:#ece2a8;color:#5f5200;font-size:8px;font-style:normal}.availability-panel>header>b{color:#888;font-size:8px;white-space:nowrap}.availability-panel>#lobbies,.availability-panel>.active-games,.availability-panel>.live-streams{display:grid;grid-template-columns:1fr;gap:7px;margin:0;padding:9px}.availability-panel .lobby,.availability-panel .active-game,.availability-panel .live-stream{width:100%}.availability-panel .active-game{grid-template-columns:1fr;padding:11px}.availability-panel .active-game .lobby-members{margin-top:7px}.status-empty{position:relative;display:flex;min-height:172px;padding:24px;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#f8f7f2,#e2e0d8);color:#777;text-align:center;overflow:hidden}.status-empty::after{content:"";position:absolute;width:110px;height:110px;right:-55px;bottom:-55px;border:1px solid rgba(0,0,0,.07);border-radius:50%}.status-empty i{display:block;width:16px;height:16px;margin-bottom:13px;border:4px solid #c4c3ba;border-top-color:var(--red);border-radius:50%}.status-empty.is-loading i{animation:status-spin 1.1s linear infinite}.status-empty.is-active i{border-top-color:#d0a72e}.status-empty.is-twitch i{border-top-color:#9147ff}.status-empty.is-error i{border-color:#e0aaa2;border-top-color:var(--red)}.status-empty strong{color:#343430;font-size:12px}.status-empty span{max-width:280px;margin-top:7px;font-size:9px;line-height:1.6}.status-empty small{margin-top:17px;color:#9a9a92;font:900 7px Arial;letter-spacing:.13em}.status-empty small::first-letter{color:#63a652}@keyframes status-spin{to{transform:rotate(360deg)}}@media(max-width:1050px){.availability-grid{grid-template-columns:1fr 1fr}.availability-panel.twitch-panel{grid-column:1/-1}.status-empty{min-height:145px}}@media(max-width:680px){.availability-grid{grid-template-columns:1fr}.availability-panel.twitch-panel{grid-column:auto}.availability-panel>header{min-height:67px}.status-empty{min-height:132px}}
.rank-changes-section{padding-top:28px;padding-bottom:32px;background:linear-gradient(110deg,#dff2e8,#eef7df);border-top:1px solid #c6dbcd;border-bottom:1px solid #b9d2c1}.rank-change-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:11px}.rank-change-heading small{color:#34725f;font:900 7px Arial;letter-spacing:.14em}.rank-change-heading h2{margin:3px 0 0;font-size:clamp(20px,2.3vw,29px);letter-spacing:-.035em}.rank-change-heading>span{padding:3px 8px;background:#fff;color:#4d6f63;font-size:8px;font-weight:900;border-radius:999px}.rank-change-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:6px}.rank-change-card{position:relative;display:grid;grid-template-columns:minmax(76px,1fr) max-content max-content;align-items:center;gap:10px;min-height:56px;padding:7px 10px;background:#fff;color:#18241f;text-decoration:none;border:1px solid #c8ddd0;border-left:4px solid #45a77f;box-shadow:0 2px 8px rgba(43,91,73,.08);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.rank-change-card.is-down{border-left-color:#d86755}.rank-change-card.is-even{border-left-color:#8b948f}.rank-change-user{display:grid;min-width:0;gap:2px}.rank-change-user strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.2}.rank-change-user time{color:#7b887f;font:700 8px Arial;letter-spacing:.02em}.rank-change-values{display:flex;align-items:baseline;gap:5px;white-space:nowrap}.rank-change-values b{color:#777f7b;font-size:13px}.rank-change-values i{color:#9aa59f;font-size:10px;font-style:normal}.rank-change-values strong{color:#226c50;font-size:18px;line-height:1}.rank-change-card>em{display:inline-flex;min-width:45px;align-items:center;justify-content:center;gap:3px;padding:4px 6px;color:#226c50;background:#e3f0e9;border-radius:3px;font:900 10px Arial;font-style:normal;text-align:center}.rank-change-card>em span{font-size:12px;line-height:1}.rank-change-card>em b{font:inherit}.rank-change-card.is-down .rank-change-values strong{color:#b94f40}.rank-change-card.is-down>em{color:#a64034;background:#f6e2dc}.rank-change-card.is-even>em{color:#68716d;background:#e8ecea}.rank-change-card:hover{transform:translateY(-1px);box-shadow:0 4px 11px rgba(43,91,73,.13)}.rank-change-empty{display:flex;align-items:center;gap:12px;padding:13px 16px;background:rgba(255,255,255,.72);border:1px solid #c8ddd0}.rank-change-empty>b{display:grid;width:30px;height:30px;place-items:center;background:#d8eadf;color:#4c7969;border-radius:50%}.rank-change-empty strong,.rank-change-empty small{display:block}.rank-change-empty strong{font-size:11px}.rank-change-empty small{margin-top:2px;color:#71847c;font-size:8px}@media(max-width:600px){.rank-changes-section{padding-top:24px;padding-bottom:27px}.rank-change-grid{grid-template-columns:1fr}.rank-change-card{grid-template-columns:minmax(82px,1fr) max-content max-content}.rank-change-heading{align-items:flex-start}}
.games .player strong{gap:1em}.games .player strong .member-rank{margin-left:0}
.month-history-form{display:flex;gap:8px;margin-bottom:12px}.month-history-form select,.month-history-form button{height:34px;padding:0 10px;border:1px solid #454540;background:#20201e;color:#eee}.month-history-form button{background:#30302c;cursor:pointer}.rank-history-summary{display:flex;align-items:baseline;gap:12px;padding:16px;background:#181816}.rank-history-summary b,.rank-history-summary strong{font-size:24px}.rank-history-summary strong{color:var(--lime)}.rank-history-summary small{margin-left:auto;color:#888}.rank-history-plot{position:relative}.rank-history-chart{display:block;width:100%;height:260px;margin-top:10px;background:linear-gradient(#181816,#121210);border:1px solid #30302d}.rank-grid-line{stroke:#353630;stroke-width:1}.rank-grid-date{stroke:#292a26}.rank-axis-label{fill:#aaa;font-size:11px}.rank-axis-rank{text-anchor:end}.rank-axis-title{fill:#d5f557;font-size:11px;font-weight:700}.rank-axis-date-title{text-anchor:end}.rank-history-point{fill:#d5f557;stroke:#121210;stroke-width:2;cursor:crosshair}.rank-history-point:hover,.rank-history-point:focus{fill:#fff;stroke:#d5f557;outline:none}.rank-history-tooltip{position:absolute;z-index:4;display:none;pointer-events:none;padding:7px 9px;border:1px solid #d5f557;background:#10110f;color:#fff;font-size:11px;white-space:nowrap;transform:translate(-50%,-115%)}
.header-activity-link{margin-left:24px;padding:8px 12px;border:1px solid #aaa;color:var(--ink);font-size:10px;font-weight:800;text-decoration:none;white-space:nowrap}.header-activity-link:hover{border-color:var(--red);color:var(--red)}@media(max-width:720px){.header-activity-link{margin-left:auto}}
.games .game-row.day-boundary{border-top-width:12px}

/* Home hero: original ancient-world artwork derived from the supplied mood reference. */
.home-hero{position:relative;isolation:isolate;display:flex;min-height:clamp(400px,36vw,520px);align-items:center;overflow:hidden;padding:clamp(34px,4vw,58px) clamp(24px,8vw,130px);border-bottom:5px solid #ba8b38;background:#1a1b19 url("images/home-hero-civilizations-v1.webp") center/cover no-repeat;color:#fff}
.home-hero::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(12,14,13,.97) 0,rgba(18,20,18,.9) 27%,rgba(19,21,18,.48) 52%,rgba(10,12,11,.08) 78%),linear-gradient(0deg,rgba(12,14,12,.62),transparent 35%)}
.home-hero::after{content:"";position:absolute;z-index:-1;inset:12px;border:1px solid rgba(217,183,111,.34);pointer-events:none}
.home-hero-content{position:relative;z-index:1;width:min(720px,61vw);animation:home-hero-rise .65s ease-out both}
.home-hero-kicker{display:flex;align-items:center;gap:12px;margin:0;color:#c8c1ad;font:800 9px Arial;letter-spacing:.17em}
.home-hero-kicker::before{content:"";display:block;width:42px;height:2px;background:#d1a64f}
.home-hero-kicker span{color:#d7bd82}
.home-hero-kicker b{padding-left:12px;border-left:1px solid rgba(255,255,255,.24);color:#bdc66f;font-size:9px}
.home-hero-wordmark-row{display:flex;width:max-content;max-width:100%;align-items:center;gap:14px;margin:12px 0 10px}
.home-hero-wordmark{display:block;flex:none;width:clamp(165px,15vw,220px);height:auto;filter:drop-shadow(0 5px 10px rgba(0,0,0,.74)) drop-shadow(0 0 14px rgba(207,157,65,.12))}
.home-my-user{display:grid;min-width:112px;max-width:190px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label arrow" "name arrow";align-items:center;column-gap:8px;padding:6px 9px;border:1px solid rgba(219,190,121,.42);border-left:3px solid #9db04a;background:rgba(13,17,14,.72);color:#eee7d5;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.23);backdrop-filter:blur(6px)}
.home-my-user[hidden]{display:none}
.home-my-user small{grid-area:label;color:#aeb873;font:800 6px Arial;letter-spacing:.15em}
.home-my-user strong{grid-area:name;overflow:hidden;margin-top:2px;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.home-my-user span{grid-area:arrow;color:#e0b95e;font-size:14px}
.home-my-user:hover{border-color:#e0b95e;background:rgba(38,45,33,.9);color:#fff}
.home-hero h1{margin:0 0 12px;line-height:.92;letter-spacing:-.055em;text-shadow:0 3px 18px rgba(0,0,0,.5)}
.home-hero h1 small{display:block;margin-bottom:12px;color:#d9c99d;font:800 clamp(13px,1.25vw,18px) "Yu Gothic UI",sans-serif;letter-spacing:.28em}
.home-hero h1 strong{display:block;font-size:clamp(44px,5vw,72px);font-weight:900}
.home-hero h1 em{color:#e1b658;font-style:normal}
.home-hero-lead{max-width:590px;margin:0;color:#ded8ca;font-size:clamp(12px,1.05vw,15px);font-weight:650;line-height:1.65;text-shadow:0 2px 6px #111}
.home-hero-lead b{color:#d9d883}
.home-hero-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.home-hero-actions a{display:flex;min-width:176px;height:42px;align-items:center;justify-content:space-between;gap:20px;padding:0 15px;border:1px solid rgba(226,198,131,.55);background:rgba(29,31,27,.72);color:#f7f0df;font-size:10px;font-weight:850;text-decoration:none;backdrop-filter:blur(8px);transition:transform .15s ease,background-color .15s ease,border-color .15s ease}
.home-hero-actions a.is-primary{border-color:#d0a54c;background:linear-gradient(135deg,#b65a32,#8f3522)}
.home-hero-actions a b{color:#e6c36f;font-size:16px}
.home-hero-actions a.is-primary b{color:#fff1ba}
.home-hero-actions a:hover{transform:translateY(-2px);border-color:#f1cd78;background-color:rgba(53,57,47,.9)}
.home-hero-stats{display:flex;width:max-content;max-width:100%;margin:18px 0 0;border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.14);background:rgba(14,16,14,.38);backdrop-filter:blur(5px)}
.home-hero-stats>div{min-width:120px;padding:8px 15px;border-right:1px solid rgba(255,255,255,.15)}
.home-hero-stats>div:last-child{border-right:0}
.home-hero-stats dt{color:#f1d17e;font:900 18px Arial}
.home-hero-stats dd{margin:4px 0 0;color:#bcb7aa;font-size:8px;font-weight:800;letter-spacing:.09em}
.home-hero-era{position:absolute;right:clamp(28px,5vw,78px);bottom:22px;display:flex;align-items:center;gap:9px;color:rgba(255,241,207,.62);font:800 8px Arial;letter-spacing:.16em;text-shadow:0 1px 3px #000}
.home-hero-era i{display:block;width:22px;height:1px;background:rgba(224,184,98,.55)}
#current-status,#overall-analysis,#past-games{scroll-margin-top:88px}
.home-hero+.current-section{position:relative;z-index:2;border-top:1px solid #f3dfb5}
@keyframes home-hero-rise{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:none}}
@media(max-width:900px){.home-hero{min-height:470px;background-position:62% center}.home-hero::before{background:linear-gradient(90deg,rgba(12,14,13,.97),rgba(16,18,15,.84) 55%,rgba(12,14,12,.35)),linear-gradient(0deg,rgba(12,14,12,.68),transparent 42%)}.home-hero-content{width:min(620px,78vw)}.home-hero-era{display:none}}
@media(max-width:620px){.home-hero{min-height:500px;padding:28px 22px 26px;background-position:66% center}.home-hero::before{background:linear-gradient(90deg,rgba(12,14,13,.97),rgba(14,16,13,.84) 72%,rgba(12,14,12,.54)),linear-gradient(0deg,rgba(12,14,12,.76),transparent 46%)}.home-hero::after{inset:8px}.home-hero-content{width:100%}.home-hero-kicker span{display:none}.home-hero-wordmark-row{gap:9px;margin:10px 0 8px}.home-hero-wordmark{width:150px}.home-my-user{min-width:0;max-width:145px;padding:5px 7px}.home-my-user strong{font-size:9px}.home-hero h1 strong{font-size:clamp(38px,11.5vw,52px);line-height:1}.home-hero-actions{display:grid;grid-template-columns:1fr;margin-top:16px}.home-hero-actions a{width:100%;min-width:0}.home-hero-stats{display:grid;width:100%;margin-top:16px;grid-template-columns:repeat(3,1fr)}.home-hero-stats>div{min-width:0;padding:8px 6px}.home-hero-stats dt{font-size:16px}.home-hero-stats dd{font-size:7px}.home-hero+.current-section{padding-top:38px}}
@media(prefers-reduced-motion:reduce){.home-hero-content{animation:none}.home-hero-actions a{transition:none}}

/* Browser-local "my player" setting. */
.user-page .profile-head>.profile-identity-row{z-index:5}
.profile-identity-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.profile-identity-row>h1{min-width:0}
.my-user-control{position:relative;z-index:4;display:flex;align-items:center;gap:9px}
.my-user-button{display:grid;gap:2px;min-width:132px;padding:8px 12px;border:1px solid #a9925f;border-left:3px solid #b85c38;background:linear-gradient(135deg,#fffaf0,#eddfc2);color:#3e3a31;text-align:left;cursor:pointer;box-shadow:0 4px 12px rgba(76,57,28,.1)}
.my-user-button>span{font-size:11px;font-weight:900}
.user-page .profile-head .my-user-button>small{display:block;color:#80745f;font:700 7px "Yu Gothic UI",sans-serif;letter-spacing:0}
.user-page .profile-head .my-user-button>small::before{content:none}
.my-user-button:hover{border-color:#8ca044;background:#f3f2d9}
.my-user-button.is-current{border-color:#80923c;border-left-color:#607c28;background:linear-gradient(135deg,#eef2d6,#dde7b7);cursor:default}
.my-user-button:disabled{opacity:1}
.my-user-state{max-width:150px;color:#6e6657;font-size:8px;font-weight:800}
.my-user-confirm{position:absolute;z-index:10;top:calc(100% + 8px);left:0;width:min(320px,82vw);padding:11px;border:1px solid #a9925f;background:#fffaf0;color:#38352e;box-shadow:0 12px 30px rgba(53,40,20,.25)}
.my-user-confirm[hidden]{display:none}
.my-user-confirm p{margin:0 0 9px!important;color:#4c473d!important;font-size:10px!important;line-height:1.55}
.my-user-confirm>div{display:flex;gap:6px}
.my-user-confirm button{height:30px;padding:0 10px;border:1px solid #8b784c;background:#34583f;color:#fff;font-size:9px;font-weight:900;cursor:pointer}
.my-user-confirm button:last-child{background:#f4ead7;color:#625a4c}
@media(max-width:620px){.profile-identity-row{align-items:flex-start;gap:8px}.my-user-control{width:100%;align-items:center}.my-user-button{min-width:124px;padding:7px 10px}.my-user-state{max-width:none}.my-user-confirm{width:min(300px,calc(100vw - 64px))}}

/* User rank overview: compact chart metadata and balanced desktop panels. */
.current-rank-panel .current-rank-record{border-left-width:1px}
.current-rank-panel .current-rank-record>span:first-child{position:relative;background:linear-gradient(135deg,var(--theme-grass-pale,#e4ebc8),#d6e4ad);box-shadow:inset 5px 0 0 var(--theme-grass,#617c24)}
.current-rank-panel .current-rank-record>span:first-child small{color:#52651f!important}
.current-rank-panel .current-rank-record>span:first-child strong{color:#3f5716;font-size:24px}
.current-rank-panel .current-rank-main{display:flex;min-width:0;align-items:baseline;flex-wrap:wrap;gap:5px 9px}
.current-rank-panel .current-rank-main>strong{flex:0 0 auto}
.current-rank-panel .current-rank-transition{display:flex;align-items:center;gap:3px;color:#687052;font-size:9px;font-style:normal;font-weight:700;line-height:1.2;letter-spacing:0;white-space:nowrap}
.current-rank-panel .current-rank-transition span{white-space:nowrap}
.current-rank-panel .current-rank-transition b{color:#4f5941;font:800 10px Arial}
.current-rank-panel .current-rank-transition em{margin-left:1px;padding:2px 4px;border:1px solid rgba(85,96,55,.22);border-radius:2px;background:rgba(255,255,255,.34);font:800 8px Arial}
.current-rank-panel .current-rank-transition.is-up em{color:#456416}
.current-rank-panel .current-rank-transition.is-down em{color:#92503c}
.rank-period-form{align-items:center;gap:10px}.rank-history-extremes{position:static;display:flex;align-items:center;gap:8px;padding:6px 9px;border:1px solid rgba(143,119,72,.46);background:rgba(255,250,240,.88);color:var(--theme-muted,#716d61);font-size:9px;font-style:normal;line-height:1;pointer-events:none;box-shadow:0 3px 10px rgba(63,50,29,.08);backdrop-filter:blur(3px)}
.rank-history-extremes span{white-space:nowrap}.rank-history-extremes b{margin-left:3px;color:var(--theme-text,#292d27);font-size:11px}.rank-history-extremes i{display:block;width:1px;height:12px;background:var(--theme-line,#cfbd99)}
@media(min-width:1051px){.profile-rank-overview{align-items:stretch}.rank-overview-panel{height:100%}.current-rank-panel{display:flex;flex-direction:column}.current-rank-panel .current-rank-record{flex:1;grid-template-rows:repeat(2,minmax(68px,1fr)) auto}}
@media(max-width:760px){.rank-period-form{justify-content:space-between}}
@media(max-width:600px){.rank-period-form{gap:7px}.rank-history-extremes{padding:5px 7px;gap:6px}.current-rank-panel .current-rank-record>span:first-child strong{font-size:19px}.current-rank-panel .current-rank-transition{gap:3px;font-size:8px}.current-rank-panel .current-rank-transition b{font-size:9px}}

/* Top page: compact all-game analysis between rank updates and game history. */
.overall-analysis-section{padding-top:36px;padding-bottom:42px;background:radial-gradient(circle at 90% 10%,rgba(76,130,190,.12),transparent 26rem),linear-gradient(135deg,#f9f2e4,#eef0d8);border-bottom:1px solid #c9b88f}
.overall-analysis-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}
.overall-analysis-heading small{color:var(--theme-grass,#617c24);font:900 8px Arial;letter-spacing:.15em}
.overall-analysis-heading h2{position:relative;margin:4px 0 0;padding-left:12px;font-size:clamp(20px,2.3vw,29px);letter-spacing:-.035em}
.overall-analysis-heading h2::before{content:"";position:absolute;left:0;top:.18em;width:3px;height:.82em;background:linear-gradient(var(--theme-clay,#b9472e),#d3a53f)}
.overall-analysis-heading p{margin:5px 0 0;color:#80745e;font-size:9px}
.overall-analysis-heading>span{padding:6px 10px;border:1px solid #b9a77e;background:rgba(255,250,240,.82);color:#665e4d;font-size:9px;font-weight:850;white-space:nowrap}
.overall-analysis-period{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:-5px 0 14px;padding:8px 10px;border:1px solid #c9b990;background:rgba(255,252,244,.68)}
.overall-analysis-period>small{margin-right:3px;color:#776e5c;font:900 7px Arial;letter-spacing:.11em}
.overall-analysis-period>a{display:inline-grid;min-width:50px;height:30px;padding:0 10px;place-items:center;border:1px solid #c8b995;background:#f8f0df;color:#5f5a4e;font-size:9px;font-weight:900;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease}
.overall-analysis-period>a:hover{border-color:#8da154;background:#edf0d6;color:#43551f}
.overall-analysis-period>a.is-active{border-color:#3a5c3e;background:linear-gradient(120deg,#31513e,#234b34);color:#fff8e8;box-shadow:inset 0 -3px 0 #d3a94e}
.overall-analysis-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);align-items:start;gap:9px}
.overall-analysis-panel{min-width:0;border:1px solid #c9b990;background:rgba(255,252,244,.9);box-shadow:0 8px 22px rgba(72,58,34,.09);overflow:hidden}
.overall-analysis-panel>header{display:flex;height:auto;min-height:65px;align-items:end;justify-content:space-between;gap:14px;padding:13px 15px;border-bottom:1px solid #d8c9a8;background:linear-gradient(180deg,#fffdf8,#f4ead8)}
.overall-analysis-panel>header small{color:#6e812c;font:900 7px Arial;letter-spacing:.14em}
.overall-analysis-panel>header h3{margin:3px 0 0;color:#2d312a;font-size:16px;letter-spacing:-.02em}
.overall-analysis-panel>header p{margin:0;color:#7d7463;font-size:8px;text-align:right}
.rank-gap-analysis>header,.terrain-ratio-analysis>header,.duration-ratio-analysis>header{min-height:50px;padding:8px 12px}
.rank-gap-analysis>header h3,.terrain-ratio-analysis>header h3,.duration-ratio-analysis>header h3{font-size:15px}
.overall-rate-table-wrap{overflow-x:auto}
.overall-rate-table{width:100%;min-width:570px;border-collapse:collapse}
.overall-rate-table th,.overall-rate-table td{height:38px;padding:4px 9px;border-bottom:1px solid #e2d8c2;text-align:left}
.overall-rate-table thead th{height:28px;background:#ebe3d2;color:#766e5e;font:900 8px Arial;letter-spacing:.1em}
.overall-rate-table tbody th{width:82px;color:#3d4930;font:900 13px Arial;white-space:nowrap}
.overall-rate-table td strong,.overall-rate-table td small{display:block}
.overall-rate-table td strong{color:#314827;font:900 15px Arial}
.overall-rate-table td:nth-child(3) strong{color:#286a92}
.overall-rate-table td small{margin-top:1px;color:#8a806d;font-size:7px}
.overall-rate-table tbody tr:last-child th,.overall-rate-table tbody tr:last-child td{border-bottom:0}
.overall-analysis-note{margin:0;padding:9px 14px;border-top:1px solid #ddd0b3;background:#f5eddd;color:#7b715e;font-size:8px;line-height:1.6}
.rank-gap-analysis>.overall-analysis-note,.terrain-ratio-analysis>.overall-analysis-note{padding:6px 11px;font-size:7px;line-height:1.45}
.terrain-ratio-analysis{display:flex;flex-direction:column}
.terrain-ratio-track{display:flex;height:10px;margin:13px 13px 8px;overflow:hidden;border:1px solid #b8aa8b;background:#e7dfcd}
.terrain-ratio-track>span{display:block;width:var(--terrain-width)}
.terrain-ratio-track>.is-river{background:linear-gradient(90deg,#275f9c,#55a4ce)}
.terrain-ratio-track>.is-land{background:linear-gradient(90deg,#80943c,#b6c664)}
.terrain-ratio-values{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:0 13px 11px}
.terrain-ratio-values>div{position:relative;padding:8px 9px;border:1px solid #d1c4a7;background:#faf5e9}
.terrain-ratio-values>div::before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:4px;background:#758d39}
.terrain-ratio-values>div.is-river::before{background:#347ba8}
.terrain-ratio-values small,.terrain-ratio-values strong,.terrain-ratio-values span{display:block}
.terrain-ratio-values small{color:#716957;font-size:8px;font-weight:850}
.terrain-ratio-values strong{margin-top:2px;color:#334126;font:900 18px Arial}
.terrain-ratio-values .is-river strong{color:#286f9b}
.terrain-ratio-values span{margin-top:1px;color:#8a806d;font-size:7px}
.terrain-ratio-analysis>.overall-analysis-note{margin-top:auto}
.terrain-ratio-analysis>.overall-analysis-empty{min-height:82px;font-size:9px}
.overall-analysis-empty{display:grid;min-height:130px;margin:0;place-items:center;color:#887e69;font-size:10px}
.duration-ratio-analysis{grid-column:1/-1}
.duration-ratio-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:#d9ccb0}
.duration-ratio-item{min-width:0;padding:8px 10px;background:#fffaf0}
.duration-ratio-item>span{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.duration-ratio-item b{color:#514d43;font-size:9px}
.duration-ratio-item strong{color:#4f6927;font:900 14px Arial}
.duration-ratio-item>i{display:block;height:5px;margin-top:6px;overflow:hidden;background:#e7dfce}
.duration-ratio-item>i>em{display:block;width:var(--duration-width);height:100%;background:linear-gradient(90deg,#ad5a35,#d5a849)}
.duration-ratio-item>small{display:block;margin-top:3px;color:#887e6b;font-size:7px}
.civilization-rate-analysis{grid-column:1/-1}
.civilization-rate-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#d9ccb0}
.civilization-rate-item{min-width:0;padding:12px 14px;background:#fffaf0}
.civilization-rate-item>span{display:flex;align-items:baseline;justify-content:space-between;gap:9px}
.civilization-rate-item b{overflow:hidden;color:#3f4735;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.civilization-rate-item strong{flex:none;color:#3d692f;font:900 17px Arial}
.civilization-rate-item>i{display:block;height:6px;margin-top:9px;overflow:hidden;background:#e5ddcc}
.civilization-rate-item>i>em{display:block;width:var(--civilization-win-width);height:100%;background:linear-gradient(90deg,#456f37,#9caf45)}
.civilization-rate-item>small{display:block;margin-top:6px;color:#887e6b;font-size:8px}
@media(max-width:1000px){.overall-analysis-grid{grid-template-columns:1fr}.duration-ratio-analysis{grid-column:auto}.duration-ratio-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1000px){.civilization-rate-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.overall-analysis-section{padding-top:28px;padding-bottom:32px}.overall-analysis-heading{align-items:flex-start;flex-direction:column;gap:9px}.overall-analysis-heading>span{white-space:normal}.overall-analysis-period{display:grid;grid-template-columns:repeat(4,1fr)}.overall-analysis-period>small{grid-column:1/-1}.overall-analysis-period>a{min-width:0;padding:0 5px}.overall-analysis-panel>header{align-items:flex-start;flex-direction:column;gap:5px}.overall-analysis-panel>header p{text-align:left}.duration-ratio-grid,.civilization-rate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.terrain-ratio-values{padding-left:12px;padding-right:12px}}
@media(max-width:380px){.civilization-rate-grid{grid-template-columns:1fr}}

/* Overall analysis dashboard redesign: wide-screen balance and mobile scanability. */
.overall-analysis-section{--analysis-ink:#293229;--analysis-muted:#756e5f;--analysis-line:#d5c7a7;--analysis-paper:#fffaf0;padding:clamp(24px,3vw,38px) max(20px,calc((100vw - 1540px)/2)) clamp(28px,3.4vw,44px);background:radial-gradient(circle at 88% 2%,rgba(63,126,165,.12),transparent 31rem),radial-gradient(circle at 7% 100%,rgba(135,153,54,.1),transparent 28rem),linear-gradient(135deg,#faf3e6,#edf0d9)}
.overall-analysis-heading{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:end;gap:16px;margin-bottom:9px}
.overall-analysis-heading small{font-size:7px;letter-spacing:.17em}
.overall-analysis-heading h2{margin-top:2px;padding-left:11px;color:#202820;font-size:clamp(21px,2vw,28px)}
.overall-analysis-heading>span{padding:6px 10px;border-color:#a99a75;background:rgba(255,252,244,.88);color:#554f43;font-size:8px;box-shadow:0 2px 8px rgba(73,60,37,.06)}
.overall-analysis-heading p{margin-top:3px;font-size:8px}
.overall-analysis-period{gap:4px;margin:0 0 9px;padding:5px 6px;border-color:rgba(185,167,126,.78);background:rgba(255,252,244,.67);box-shadow:inset 0 1px rgba(255,255,255,.8)}
.overall-analysis-period>small{margin:0 4px}
.overall-analysis-period>a{min-width:46px;height:26px;padding:0 9px;border-color:transparent;font-size:8px}
.overall-analysis-period>a.is-active{box-shadow:inset 0 -2px 0 #d3a94e}
.overall-analysis-grid{display:grid;grid-template-columns:minmax(600px,1.28fr) minmax(390px,.72fr);grid-template-areas:"rank terrain" "rank duration" "civilization civilization";gap:9px;align-items:stretch}
.overall-analysis-panel{--panel-accent:#80953e;position:relative;min-width:0;border:1px solid var(--analysis-line);border-top:3px solid var(--panel-accent);border-radius:4px;background:rgba(255,252,246,.94);box-shadow:0 7px 20px rgba(72,58,34,.08)}
.overall-analysis-panel>header{min-height:46px;align-items:end;gap:12px;padding:7px 11px;border-bottom-color:#ddd1b8}
.overall-analysis-panel>header small{color:var(--panel-accent);font-size:6px;letter-spacing:.15em}
.overall-analysis-panel>header h3{margin-top:2px;color:var(--analysis-ink);font-size:14px}
.overall-analysis-panel>header p{max-width:55%;color:var(--analysis-muted);font-size:7px;line-height:1.35}
.rank-gap-analysis{--panel-accent:#a64e33;grid-area:rank;display:flex;height:100%;flex-direction:column}
.terrain-ratio-analysis{--panel-accent:#387fa3;grid-area:terrain}
.duration-ratio-analysis{--panel-accent:#bb8730;grid-area:duration}
.civilization-rate-analysis{--panel-accent:#6e8731;grid-area:civilization}
.overall-rate-table-wrap{flex:1;overflow:hidden}
.overall-rate-table{min-width:0}
.overall-rate-table th,.overall-rate-table td{height:39px;padding:4px 9px}
.overall-rate-table thead th{height:25px;font-size:7px}
.overall-rate-table tbody th{width:78px;font-size:12px}
.overall-rate-table td strong{font-size:14px}
.overall-rate-table td.is-river strong{color:#276e96}
.overall-rate-table td.is-land strong{color:#536a2d}
.overall-rate-table td small{font-size:7px}
.overall-win-track{position:relative;display:block;width:min(100%,86px);height:3px;margin:2px 0;background:#e4ddcf;overflow:hidden}
.overall-win-track::after,.civilization-rate-item>i::after{content:"";position:absolute;z-index:2;left:50%;top:0;bottom:0;width:1px;background:rgba(65,60,50,.28)}
.overall-win-track>em{display:block;width:var(--overall-win-width);height:100%;background:linear-gradient(90deg,#708638,#9db64c)}
.overall-rate-cell.is-river .overall-win-track>em{background:linear-gradient(90deg,#397da4,#67aecd)}
.overall-rate-cell.is-land .overall-win-track>em{background:linear-gradient(90deg,#667c35,#a3b85b)}
.overall-analysis-note{padding:6px 10px;font-size:7px;line-height:1.45}
.rank-gap-analysis>.overall-analysis-note,.terrain-ratio-analysis>.overall-analysis-note{margin-top:auto}
.terrain-ratio-track{height:10px;margin:11px 11px 7px;border-radius:2px}
.terrain-ratio-values{gap:5px;padding:0 11px 9px}
.terrain-ratio-values>div{padding:6px 8px}
.terrain-ratio-values>div::before{width:3px}
.terrain-ratio-values small{font-size:7px}
.terrain-ratio-values strong{margin-top:1px;font-size:17px}
.terrain-ratio-values span{font-size:7px}
.terrain-ratio-analysis>.overall-analysis-empty{min-height:74px;font-size:8px}
.duration-ratio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.duration-ratio-item{padding:6px 8px}
.duration-ratio-item>span{gap:5px}
.duration-ratio-item b{font-size:8px}
.duration-ratio-item strong{font-size:13px}
.duration-ratio-item>i{height:4px;margin-top:4px}
.duration-ratio-item>small{margin-top:2px;font-size:7px}
.civilization-rate-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.civilization-rate-item{padding:8px 10px}
.civilization-rate-item b{font-size:9px}
.civilization-rate-item strong{font-size:15px}
.civilization-rate-item>i{position:relative;height:4px;margin-top:5px}
.civilization-rate-item.is-strong>span>strong{color:#2f7039}
.civilization-rate-item.is-weak>span>strong{color:#ad4934}
.civilization-rate-item.is-weak>i>em{background:linear-gradient(90deg,#a94731,#d28252)}
.civilization-rate-item>small{margin-top:3px;font-size:7px}
.civilization-rate-details{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:5px;margin-top:4px;color:#887e6b}
.civilization-rate-details>small{overflow:hidden;font-size:7px;text-overflow:ellipsis;white-space:nowrap}
.civilization-terrain-rate{display:inline-flex;align-items:baseline;gap:2px;padding-left:5px;border-left:1px solid #ddd2bc;white-space:nowrap}
.civilization-terrain-rate b{font-size:7px}
.civilization-terrain-rate em{color:#4a5543;font:900 7px Arial;font-style:normal}
.civilization-terrain-rate small{color:#998e79;font-size:6px}
.civilization-terrain-rate.is-river b{color:#347da3}
.civilization-terrain-rate.is-land b{color:#6b8135}
.civilization-terrain-rate.is-strong em{color:#2f7039}
.civilization-terrain-rate.is-weak em{color:#ad4934}
.civilization-terrain-rate.is-empty em{color:#998e79}
@media(min-width:1680px){.overall-analysis-grid{grid-template-columns:minmax(700px,1.2fr) minmax(450px,.8fr)}.civilization-rate-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:1100px){.overall-analysis-grid{grid-template-columns:1fr;grid-template-areas:"rank" "terrain" "duration" "civilization"}.duration-ratio-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.civilization-rate-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.overall-analysis-section{padding:22px 12px 28px}.overall-analysis-heading{gap:8px}.overall-analysis-heading h2{font-size:22px}.overall-analysis-heading>span{padding:5px 7px;font-size:7px}.overall-analysis-period{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;padding:4px}.overall-analysis-period>small{grid-column:1/-1;margin:1px 3px}.overall-analysis-period>a{min-width:0;height:27px;padding:0 3px}.overall-analysis-grid{gap:7px}.overall-analysis-panel>header{display:grid;min-height:43px;grid-template-columns:minmax(0,1fr) max-content;align-items:end;gap:7px;padding:7px 9px}.overall-analysis-panel>header p{max-width:155px;font-size:7px;line-height:1.3;text-align:right}.overall-rate-table-wrap{overflow:visible}.overall-rate-table{display:block}.overall-rate-table thead{display:none}.overall-rate-table tbody{display:grid;gap:1px;background:#ded2ba}.overall-rate-table tr{display:grid;grid-template-columns:58px repeat(3,minmax(0,1fr));background:#fffaf0}.overall-rate-table th,.overall-rate-table td{display:block;height:auto;min-width:0;padding:6px 5px;border:0;border-right:1px solid #e3d8c1}.overall-rate-table tbody th{display:grid;width:auto;align-content:center;font-size:11px}.overall-rate-table td:last-child{border-right:0}.overall-rate-table td::before{content:attr(data-label);display:block;margin-bottom:2px;color:#8a806d;font:900 6px Arial;letter-spacing:.05em}.overall-rate-table td strong{font-size:12px}.overall-rate-table td small{overflow:hidden;font-size:6px;text-overflow:ellipsis;white-space:nowrap}.overall-win-track{width:100%;height:3px;margin-top:2px}.terrain-ratio-track{margin-top:9px}.duration-ratio-grid,.civilization-rate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.duration-ratio-item,.civilization-rate-item{padding:7px 8px}.civilization-rate-item strong{font-size:14px}.civilization-rate-details{gap:2px}.civilization-rate-details>small{font-size:6px}.civilization-terrain-rate{gap:1px;padding-left:3px}.civilization-terrain-rate em{font-size:6px}.civilization-terrain-rate small{font-size:5px}.overall-analysis-note{padding:5px 8px;font-size:6px}.terrain-ratio-values{padding-left:9px;padding-right:9px}}
@media(max-width:360px){.overall-analysis-heading{grid-template-columns:1fr}.overall-analysis-heading>span{justify-self:start}.overall-rate-table tr{grid-template-columns:52px repeat(3,minmax(0,1fr))}.civilization-rate-grid{grid-template-columns:1fr}}

/* Top page past games: keep both teams readable at every common viewport. */
#past-games .game-date-divider {
  width: 100%;
  margin-left: 0;
  padding-left: 10px;
}

@media (max-width: 1500px) {
  #past-games {
    padding-right: clamp(32px, 5vw, 72px);
    padding-left: clamp(32px, 5vw, 72px);
  }

  #past-games .game-result {
    grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr);
    grid-template-areas:
      "meta meta meta"
      "winner versus loser";
    align-items: stretch;
    gap: 7px 10px;
  }

  #past-games .game-time {
    grid-area: meta;
    display: flex;
    min-width: 0;
    padding: 5px 0 4px;
    align-self: auto;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 5px 13px;
    border-bottom: 1px solid rgba(182, 194, 184, .13);
  }

  #past-games .game-time .time-line {
    display: flex;
    width: auto;
    min-width: 0;
    flex: 0 1 auto;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 5px 9px;
  }

  #past-games .game-time .game-name {
    display: flex;
    min-width: 0;
    margin: 0;
    align-items: baseline;
    flex: 1 1 230px;
    flex-wrap: wrap;
    gap: 5px 7px;
  }

  #past-games .game-time .game-name h3 {
    min-width: 0;
  }

  #past-games .side.winners {
    grid-area: winner;
  }

  #past-games .versus {
    grid-area: versus;
  }

  #past-games .side.losers {
    grid-area: loser;
  }
}

@media (max-width: 1180px) {
  #past-games {
    padding-right: clamp(24px, 4vw, 44px);
    padding-left: clamp(24px, 4vw, 44px);
  }

  #past-games .team-group,
  #past-games .winners .team-group {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  #past-games {
    padding-right: 20px;
    padding-left: 20px;
  }

  #past-games .game-result {
    grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr);
    gap: 7px 7px;
  }

  #past-games .game-time {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
    padding-top: 7px;
  }

  #past-games .game-time .time-line {
    gap: 5px 8px;
  }

  #past-games .game-time .game-name {
    margin: 0;
  }

  #past-games .team-group,
  #past-games .winners .team-group {
    grid-template-columns: minmax(0, 1fr);
  }

  #past-games .games .player-video {
    width: 58px;
    height: 33px;
  }

  #past-games .games .player-video img {
    width: 58px;
    height: 33px;
  }
}

@media (max-width: 420px) {
  #past-games {
    padding-right: 14px;
    padding-left: 14px;
  }

  #past-games .game-result {
    grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr);
    column-gap: 4px;
  }

  #past-games .player,
  #past-games .player.has-video {
    padding-right: 5px;
    padding-left: 5px;
  }

  #past-games .games .player strong {
    gap: .65em;
  }
}

/* ロビー消失から仮保存、またはAPI確認済みで正式履歴へ未反映の最新ゲーム。 */
#pending-past-games:empty {
  display: none;
}

#past-games .pending-game-divider {
  display: flex;
  width: 100%;
  margin: 0;
  padding: 9px 11px;
  align-items: center;
  gap: 9px;
  color: #eef5ba;
  background:
    linear-gradient(100deg, rgba(105, 158, 77, .24), transparent 62%),
    #243229;
  border: 1px solid #607a51;
  box-shadow: inset 4px 0 0 #d5f557;
}

#past-games .pending-game-divider time {
  font-size: 12px;
}

#past-games .pending-game-divider small {
  color: #aab7ad;
  font: 800 8px/1.2 "Yu Gothic UI", sans-serif;
  letter-spacing: .02em;
}

#past-games .games .game-row.is-pending-game {
  margin-bottom: 3px;
  border-bottom-color: #53644f;
}

#past-games .is-pending-game .game-overview {
  background:
    linear-gradient(135deg, rgba(213, 245, 87, .13), transparent 68%),
    #162019;
  border-color: #506148;
  box-shadow: inset 3px 0 0 #d5f557;
}

#past-games .pending-game-state {
  padding: 3px 5px;
  color: #e9f0bd;
  background: #354523;
  border: 1px solid #627b39;
  border-radius: 2px;
  font: 900 7px/1 "Yu Gothic UI", sans-serif;
}

#past-games .is-pending-game .side.is-result-pending {
  background:
    linear-gradient(120deg, rgba(111, 135, 113, .1), transparent 62%),
    #181f1b;
  border-color: #39463f;
}

#past-games .is-pending-game .side.is-result-pending .team-side-label {
  color: #c1cbc4;
}

#past-games .pending-team-unconfirmed {
  grid-area: winner / winner / loser / loser;
  min-width: 0;
  padding: 8px;
  background: #181f1b;
  border: 1px solid #59664f;
}

#past-games .pending-team-unconfirmed > b {
  color: #e9f0bd;
  font-size: 10px;
}

#past-games .pending-team-unconfirmed > small {
  margin-left: 8px;
  color: #aab7ad;
  font-size: 8px;
}

#past-games .pending-team-unconfirmed .team-members {
  margin-top: 6px;
}

#past-games .pending-game-media {
  min-width: 0;
  margin-top: 6px;
  padding: 6px;
  background: #0f1612;
  border: 1px solid #34443a;
}

#past-games .pending-game-media.is-waiting {
  display: flex;
  min-height: 42px;
  align-items: center;
}

#past-games .pending-game-media.is-waiting > span,
#past-games .pending-game-media-heading > span {
  display: block;
  min-width: 0;
}

#past-games .pending-game-media.is-waiting b,
#past-games .pending-game-media.is-waiting small,
#past-games .pending-game-media-heading b,
#past-games .pending-game-media-heading small {
  display: block;
}

#past-games .pending-game-media.is-waiting b,
#past-games .pending-game-media-heading b {
  color: #dce88b;
  font-size: 9px;
}

#past-games .pending-game-media.is-waiting small,
#past-games .pending-game-media-heading small {
  margin-top: 3px;
  color: #89978e;
  font-size: 7px;
}

#past-games .pending-game-media-heading {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
}

#past-games .pending-game-media-heading > button {
  display: inline-flex;
  min-height: 28px;
  padding: 5px 8px;
  flex: 0 0 auto;
  align-items: center;
  gap: 5px;
  color: #fff;
  background: linear-gradient(135deg, #a85d2e, #713b20);
  border: 1px solid #cd8452;
  font: 900 8px/1 "Yu Gothic UI", sans-serif;
  cursor: pointer;
}

#past-games .pending-game-media-heading > button:hover {
  background: linear-gradient(135deg, #c47539, #8a4927);
}

#past-games .pending-game-media-heading > button > b {
  color: #fff0c4;
  font-size: 13px;
}

#past-games .pending-game-vod-links {
  display: flex;
  min-width: 0;
  margin-top: 5px;
  flex-wrap: wrap;
  gap: 3px;
}

#past-games .pending-game-vod-links > a {
  display: inline-grid;
  max-width: 100%;
  padding: 4px 6px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px;
  color: #d4ddd7;
  background: #1d2822;
  border: 1px solid #35473c;
  text-decoration: none;
}

#past-games .pending-game-vod-links > a:hover {
  color: #fff;
  border-color: #75875f;
}

#past-games .pending-game-vod-links > a > b {
  color: #d5f557;
  font-size: 7px;
}

#past-games .pending-game-vod-links > a > span {
  overflow: hidden;
  font-size: 7px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#past-games .pending-game-vod-links > a > small {
  color: #89978e;
  font: 700 6px Arial, sans-serif;
}

@media (max-width: 700px) {
  #past-games .pending-game-divider {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }

  #past-games .pending-game-state {
    order: 4;
  }

  #past-games .pending-game-media-heading {
    align-items: stretch;
    flex-direction: column;
  }

  #past-games .pending-game-media-heading > button {
    justify-content: center;
  }

  #past-games .pending-game-vod-links > a {
    width: 100%;
  }
}

/* Twitch live streams grouped by the lobby or active game they belong to. */
.live-game-group {
  min-width: 0;
  overflow: hidden;
  background: #f8f4e9;
  border: 1px solid #cdbf9f;
  box-shadow: 0 3px 9px rgba(68, 54, 32, .08);
}

.live-game-group-heading {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 9px;
  padding: 8px 9px;
  background:
    linear-gradient(100deg, rgba(65, 138, 170, .1), transparent 80%),
    #fffaf0;
  border-bottom: 1px solid #d8ccb2;
}

.live-game-group-heading > span {
  display: block;
  min-width: 0;
}

.live-game-group-heading > span > small,
.live-game-group-heading > span > strong,
.live-game-group-heading > span > i {
  display: block;
}

.live-game-group-heading > span > small {
  color: #317b99;
  font: 900 7px/1 Arial, sans-serif;
  letter-spacing: .08em;
}

.live-game-group-heading > span > strong {
  margin-top: 3px;
  overflow: hidden;
  color: #2b312d;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.live-game-group-heading > span > i {
  margin-top: 3px;
  overflow: hidden;
  color: #817966;
  font-size: 7px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.live-game-group-heading > button {
  display: flex;
  min-height: 31px;
  padding: 5px 8px;
  flex: 0 0 auto;
  align-items: center;
  gap: 5px;
  color: #fff;
  background: linear-gradient(135deg, #317f9f, #23596f);
  border: 1px solid #4d9dbc;
  font-size: 8px;
  font-weight: 900;
  cursor: pointer;
}

.live-game-group-heading > button:hover {
  background: linear-gradient(135deg, #5a9f3e, #357127);
  border-color: #78b961;
}

.live-game-group-heading > button > b {
  font-size: 15px;
}

.live-game-stream-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 5px;
  padding: 6px;
}

.availability-panel .live-game-stream-list .live-stream {
  margin: 0;
  padding: 6px;
  grid-template-columns: 96px minmax(0, 1fr);
  border: 1px solid #ddd2ba;
  border-left: 4px solid #9147ff;
  box-shadow: none;
}

.availability-panel .live-game-stream-list .live-thumb {
  min-height: 54px;
}

@media (max-width: 440px) {
  .live-game-group-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .live-game-group-heading > button {
    justify-content: center;
  }

  .live-game-stream-list {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Top page past games: overview media and both teams form one responsive card. */
#past-games .games {
  border-top-color: #445149;
}

#past-games .games .game-row,
#past-games .games .game-row.day-boundary {
  padding: 11px 0;
}

#past-games .games .game-row.day-boundary {
  border-top-width: 10px;
}

#past-games .game-result {
  display: grid;
  grid-template-columns:
    minmax(300px, 315px)
    minmax(0, 1fr)
    40px
    minmax(0, 1fr);
  grid-template-areas: "overview winner versus loser";
  gap: 8px;
  align-items: stretch;
}

#past-games .game-overview {
  grid-area: overview;
  min-width: 0;
  padding: 9px;
  background:
    linear-gradient(135deg, rgba(207, 221, 118, .08), transparent 68%),
    #131a17;
  border: 1px solid #34423b;
  box-shadow: inset 3px 0 0 rgba(207, 221, 118, .62);
}

#past-games .game-overview:not(:has(.game-media-home)) {
  display: flex;
  align-items: center;
}

#past-games .game-overview-head {
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 25px;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px 9px;
}

#past-games .game-overview-head > * {
  flex: 0 0 auto;
  margin: 0;
  white-space: nowrap;
}

#past-games .game-overview-head time {
  color: var(--lime);
  font: 900 13px Arial, sans-serif;
}

#past-games .game-overview-head .duration-cell {
  color: #c1c7c2;
  font: 800 10px "Yu Gothic UI", sans-serif;
}

#past-games .game-overview-head .team-rank-total {
  color: #f1e7bd;
  font: 900 10px Arial, sans-serif;
}

#past-games .game-overview-head .team-rank-total.unavailable {
  color: #89918c;
  font-size: 8px;
}

#past-games .game-overview-head .game-terrain-badge {
  display: inline-grid;
  min-width: 29px;
  min-height: 20px;
  margin-left: auto;
  padding: 3px 6px;
  place-items: center;
  color: #11170d;
  background: #d5df8d;
  border: 1px solid #eaf2b7;
  border-radius: 2px;
  box-shadow: none;
  font: 900 10px/1 Arial, sans-serif;
  text-shadow: none;
}

#past-games .game-overview-head .game-terrain-badge.is-river {
  color: #071820;
  background: #91d8eb;
  border-color: #c3eff8;
}

#past-games .game-overview-head .game-terrain-badge.is-unknown {
  color: #d5dad6;
  background: #354039;
  border-color: #59675f;
}

#past-games .side {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr);
  gap: 6px;
  min-width: 0;
  padding: 8px;
  align-self: stretch;
  background: #171d1a;
  border: 1px solid #303a35;
}

#past-games .side.winners {
  grid-area: winner;
  background:
    linear-gradient(120deg, rgba(113, 153, 86, .1), transparent 58%),
    #171d1a;
  border-color: #3b4b3d;
}

#past-games .side.losers {
  grid-area: loser;
  background:
    linear-gradient(120deg, rgba(154, 92, 83, .09), transparent 58%),
    #191b1a;
}

#past-games .team-side-head {
  display: flex;
  min-width: 0;
  min-height: 29px;
  align-items: center;
  gap: 8px;
  padding-bottom: 5px;
  border-bottom: 1px solid rgba(166, 180, 169, .14);
}

#past-games .team-side-label {
  flex: 0 0 auto;
  color: #b8c0bb;
  font: 900 9px/1 "Yu Gothic UI", sans-serif;
  letter-spacing: .04em;
  white-space: nowrap;
}

#past-games .winners .team-side-label {
  color: var(--lime);
}

#past-games .losers .team-side-label {
  margin-left: auto;
  color: #aeb6b1;
  text-align: right;
}

#past-games .team-total-score {
  display: flex;
  min-width: 0;
  align-items: baseline;
  gap: 4px;
  color: #f4edcf;
  font: 900 17px/1 Arial, sans-serif;
  white-space: nowrap;
}

#past-games .team-total-score small {
  color: #7f8b84;
  font: 800 6px/1 "Yu Gothic UI", sans-serif;
  letter-spacing: .06em;
}

#past-games .winners .team-total-score {
  margin-left: auto;
  text-align: right;
}

#past-games .losers .team-total-score {
  margin-right: auto;
  text-align: left;
}

#past-games .team-members {
  min-width: 0;
}

#past-games .versus {
  grid-area: versus;
  display: flex;
  min-width: 0;
  padding: 7px 2px 5px;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  gap: 2px;
  color: #d1d7d3;
  background:
    linear-gradient(#2d3933, #1a211e);
  border: 1px solid #3b4942;
  font-style: normal;
  text-align: center;
}

#past-games .versus > span {
  color: #eef2ef;
  font: 900 11px/1 Arial, sans-serif;
}

#past-games .versus > small {
  margin-top: 3px;
  color: #7d8982;
  font: 800 6px/1 "Yu Gothic UI", sans-serif;
  letter-spacing: .08em;
}

#past-games .versus > b {
  max-width: 100%;
  color: #dce88b;
  font: 900 10px/1 Arial, sans-serif;
  letter-spacing: -.03em;
  white-space: nowrap;
}

#past-games .team-group,
#past-games .winners .team-group {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

#past-games .player,
#past-games .player.has-video {
  height: 58px;
  min-height: 58px;
  grid-template-rows: 22px 22px;
  padding-top: 5px;
  padding-bottom: 5px;
}

@media (max-width: 1500px) {
  #past-games .game-result {
    grid-template-columns:
      minmax(290px, 315px)
      minmax(0, 1fr)
      38px
      minmax(0, 1fr);
    grid-template-areas: "overview winner versus loser";
  }

  #past-games .team-group,
  #past-games .winners .team-group {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1050px) {
  #past-games .game-result {
    grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr);
    grid-template-areas:
      "overview overview overview"
      "winner versus loser";
  }

  #past-games .game-overview {
    display: grid;
    grid-template-columns: minmax(235px, .72fr) minmax(280px, 1fr);
    align-items: center;
    gap: 10px;
  }

  #past-games .game-overview:not(:has(.game-media-home)) {
    display: flex;
  }
}

@media (max-width: 700px) {
  #past-games .game-result {
    grid-template-columns: minmax(0, 1fr) 32px minmax(0, 1fr);
    gap: 7px 5px;
  }

  #past-games .game-overview {
    display: block;
  }

  #past-games .game-overview:not(:has(.game-media-home)) {
    display: flex;
  }

  #past-games .team-group,
  #past-games .winners .team-group {
    grid-template-columns: minmax(0, 1fr);
  }

  #past-games .side {
    display: block;
    padding: 5px;
  }

  #past-games .team-side-head {
    min-height: 27px;
    gap: 4px;
  }

  #past-games .team-side-label {
    font-size: 8px;
  }

  #past-games .team-total-score {
    gap: 2px;
    font-size: 14px;
  }

  #past-games .team-total-score small {
    font-size: 5px;
  }
}

@media (max-width: 420px) {
  #past-games .game-result {
    grid-template-columns: minmax(0, 1fr) 32px minmax(0, 1fr);
    column-gap: 4px;
  }

  #past-games .game-overview {
    padding: 7px;
  }

  #past-games .game-overview-head {
    gap: 4px 7px;
  }

  #past-games .game-overview-head .team-rank-total {
    font-size: 9px;
  }
}
