/* Player room: a clear identity, official ratings, and a readable game archive. */
.profile-directory{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:8px 0 22px}.profile-directory h2{font-size:1.4rem;letter-spacing:-.03em;margin-top:5px}.profile-directory label{width:min(285px,50%);font-size:.72rem}
.player-profile{display:grid;gap:18px}.profile-header{padding:28px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.profile-identity{display:flex;align-items:center;gap:22px;min-width:0;flex:1}.profile-identity>.avatar{width:96px;height:96px;border-radius:10px;font-size:2.8rem;flex-shrink:0;background:var(--panel3);border:1px solid var(--border);box-shadow:none}.profile-identity>.avatar .chess-piece{width:90%;height:90%}.profile-identity>div{min-width:0}.profile-name-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.profile-name-row h1{font-size:clamp(1.55rem,2.4vw,2.25rem);line-height:1.2;letter-spacing:-.045em;overflow-wrap:anywhere;margin:0}.profile-role{font-size:.62rem;font-weight:750;letter-spacing:.02em;padding:5px 8px;border-radius:4px;background:var(--panel3);color:var(--gold)}.profile-identity p{font-size:.8rem;line-height:1.6;margin:8px 0 6px;color:var(--muted)}.profile-member-line{font-size:.75rem;color:var(--muted);line-height:1.7}.profile-member-line i{margin:0 7px;font-style:normal}.profile-header-actions{max-width:100%}.profile-header-actions .community-actions{margin:0;gap:7px}.profile-header-actions .btn{font-size:.7rem;min-height:36px}.profile-header-actions .community-actions .btn{padding:8px 12px}
.profile-rating-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.profile-rating-card{background:var(--panel);border:1px solid var(--border);border-radius:9px;text-align:left;padding:18px 20px;display:grid;grid-template-columns:1fr auto;gap:6px 10px;color:var(--white);cursor:pointer;position:relative;transition:background .15s}.profile-rating-card:hover{background:var(--panel2)}.profile-rating-card.selected{border-color:var(--mint);box-shadow:inset 0 -3px var(--mint)}.profile-rating-label{grid-column:1;grid-row:1;font-size:.77rem;font-weight:700;color:var(--muted)}.profile-rating-card strong{grid-column:1;grid-row:2;font-size:2rem;line-height:1.1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.profile-rating-card small{grid-column:1/-1;grid-row:3;font-size:.66rem;color:var(--muted);line-height:1.5}.profile-pool-icon{grid-column:2;grid-row:1/3;align-self:center;color:var(--mint)}.profile-pool-icon .ui-icon{width:29px;height:29px}
.profile-tabs{display:flex;border-bottom:1px solid var(--border);gap:26px;overflow-x:auto;padding:0 5px}.profile-tabs>button{border:0;border-bottom:3px solid transparent;background:none;color:var(--muted);font:inherit;font-size:.85rem;font-weight:700;padding:14px 3px;cursor:pointer;white-space:nowrap;min-height:48px}.profile-tabs>button[aria-pressed=true]{color:var(--white);border-bottom-color:var(--mint)}.profile-tabs>button:hover{color:var(--white)}.profile-tabs>button>span{font-size:.62rem;padding:2px 5px;background:var(--panel3);border-radius:4px;margin-left:3px}
.profile-filters{display:flex;gap:12px;align-items:end;justify-content:flex-end;margin:0 0 0}.profile-filters>label{font-size:.66rem;width:150px;min-width:0;gap:5px}.profile-filters select{font-size:.75rem;padding:9px 12px;min-height:39px;background:var(--panel)}
.profile-columns{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}.profile-main,.profile-aside{display:grid;gap:18px;min-width:0}.player-profile .card{min-width:0}.player-profile .card-head h2,.profile-about>h2{font-size:1.05rem;letter-spacing:-.02em}.player-profile .card-head p{font-size:.71rem;margin-top:5px;line-height:1.6}.player-profile .card-head{margin-bottom:19px;gap:12px}.player-profile .pill{font-size:.64rem;white-space:nowrap}.profile-rating-chart{padding:23px 23px 14px}.profile-peak{text-align:right;display:grid;gap:3px}.profile-peak span{font-size:.63rem;color:var(--muted)}.profile-peak b{font-size:.95rem;color:var(--gold)}.profile-chart-meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.65rem;color:var(--muted);margin-bottom:10px}.profile-chart-meta>span>b{font-size:1.55rem;color:var(--white);letter-spacing:-.03em;margin-right:5px;font-variant-numeric:tabular-nums}.profile-chart{width:100%;height:auto;display:block;overflow:visible}.profile-chart line{stroke:var(--border);stroke-width:1;stroke-dasharray:4 5}.profile-chart text{fill:var(--muted);font-size:11px;font-family:inherit}.profile-chart-area{fill:var(--mint);opacity:.08}.profile-chart-line{fill:none;stroke:var(--mint);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.profile-chart circle{fill:var(--mint);stroke:var(--panel);stroke-width:2}.profile-chart .profile-chart-last{fill:var(--mint);stroke-width:2.5}.profile-chart-note{font-size:.6rem;line-height:1.65;color:var(--muted);margin:8px 0 0}
.profile-positive{color:var(--mint)}.profile-negative{color:var(--red)}.profile-game-card{padding:23px 0 0}.profile-game-card>.card-head{padding:0 23px}.profile-game-card>.profile-empty{padding-bottom:35px}.profile-games{width:100%;border-collapse:collapse;white-space:nowrap}.profile-games th{font-size:.61rem;text-transform:none;letter-spacing:0;background:var(--panel2);padding:11px 12px}.profile-games th:first-child,.profile-games td:first-child{padding-left:23px}.profile-games th:last-child,.profile-games td:last-child{padding-right:23px}.profile-games td{padding:13px 12px;border-bottom:1px solid var(--border);font-size:.73rem;vertical-align:middle}.profile-games tbody tr:last-child td{border-bottom:0}.profile-games tbody tr:hover{background:var(--panel2)}.profile-games td>small{display:block;margin-top:5px;font-size:.61rem;color:var(--muted);line-height:1.5}.profile-games .btn{font-size:.62rem;padding:7px 9px;min-height:31px;white-space:nowrap}.profile-opponent{font:inherit;font-size:.78rem;font-weight:750;color:var(--white);background:none;border:0;padding:0;text-align:left;cursor:pointer;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-opponent:hover,.profile-best-win button:hover{color:var(--mint);text-decoration:underline}.profile-result{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:4px;font-weight:800;font-size:1.1rem;background:var(--panel3)}.profile-result.win{background:color-mix(in srgb,var(--mint) 18%,var(--panel));color:var(--mint)}.profile-result.loss{background:color-mix(in srgb,var(--red) 16%,var(--panel));color:var(--red)}.profile-result.draw{color:var(--muted)}.profile-color{width:8px;height:8px;border-radius:2px;display:inline-block;vertical-align:0;flex-shrink:0}.profile-color.white{background:#f6f1e5;border:1px solid #77716a}.profile-color.black{background:#3d3935;border:1px solid #aaa299}.profile-proof{font-size:.65rem}.profile-pagination{padding:15px 22px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);gap:12px}.profile-pagination>span{font-size:.7rem;color:var(--muted)}.profile-pagination>div{display:flex;gap:8px}
.profile-about{padding:23px}.profile-about dl{display:grid;gap:17px;margin:22px 0}.profile-about dl>div{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.profile-about dt{font-size:.7rem;color:var(--muted)}.profile-about dd{font-size:.73rem;font-weight:700;margin:0;text-align:right}.profile-about .tiny{font-size:.62rem;line-height:1.65}.profile-head-to-head{padding:23px}.profile-head-to-head .card-head{margin-bottom:15px}.profile-versus-score{display:flex;align-items:center;justify-content:center;gap:14px;padding:8px 0 13px;font-variant-numeric:tabular-nums}.profile-versus-score b{font-size:1.75rem;line-height:1}.profile-versus-score b:first-child{color:var(--mint)}.profile-versus-score b:last-child{color:var(--red)}.profile-versus-score>span{color:var(--muted)}.profile-head-to-head>p{font-size:.67rem;text-align:center;line-height:1.6}
.profile-performance{padding:23px}.profile-result-bar{display:flex;gap:3px;height:10px;border-radius:3px;overflow:hidden;background:var(--panel3);margin:4px 0 12px}.profile-result-bar .win,.profile-result-legend .win{background:var(--mint)}.profile-result-bar .draw,.profile-result-legend .draw{background:var(--muted)}.profile-result-bar .loss,.profile-result-legend .loss{background:var(--red)}.profile-result-legend{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between}.profile-result-legend>span{display:flex;align-items:center;gap:6px;font-size:.66rem;color:var(--muted)}.profile-result-legend i{width:7px;height:7px;border-radius:2px}.profile-result-legend b{color:var(--white);font-size:.75rem;margin-left:3px}.profile-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-top:22px;margin-top:20px;border-top:1px solid var(--border)}.profile-stat-grid>div{display:grid;gap:8px}.profile-stat-grid span{font-size:.64rem;line-height:1.6;color:var(--muted)}.profile-stat-grid b{font-size:1.25rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.profile-performance>.tiny{margin-top:20px;font-size:.6rem;line-height:1.6}.profile-best-win{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--border);padding-top:16px;margin-top:20px}.profile-best-win>span{font-size:.67rem;color:var(--muted)}.profile-best-win button{font:inherit;font-size:.75rem;color:var(--white);border:0;background:none;cursor:pointer;text-align:right}.profile-best-win button b{color:var(--gold);margin-left:6px}
.profile-awards-panel{padding:23px}.profile-award-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.profile-aside .profile-award-grid{grid-template-columns:1fr;gap:15px}.profile-award{display:flex;align-items:center;gap:12px;min-width:0;background:var(--panel2);border:1px solid var(--border);padding:17px;border-radius:7px}.profile-aside .profile-award{padding:0;border:0;background:none}.profile-award-icon{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:9px;background:color-mix(in srgb,var(--gold) 12%,var(--panel));color:var(--gold)}.profile-award-icon .ui-icon{width:26px;height:26px}.profile-award b{font-size:.77rem;line-height:1.5;display:block}.profile-award small{color:var(--muted);font-size:.61rem;line-height:1.6;display:block;margin-top:3px}.profile-awards-panel>.btn{margin-top:16px}.profile-color-stats{padding:23px}.profile-color-stats>div:not(.card-head){padding:18px 0;border-top:1px solid var(--border)}.profile-color-stats>div:last-child{padding-bottom:0}.profile-color-stats h3{font-size:.8rem;display:flex;gap:8px;align-items:center;margin-bottom:15px}.profile-color-stats h3>small{font-size:.66rem;color:var(--muted);font-weight:500;margin-left:auto}.profile-estimate summary{font-size:.84rem;font-weight:700;cursor:pointer}.profile-estimate[open] summary{margin-bottom:20px}.profile-estimate .rating-preview{padding:0;border:0;margin:0;background:none}.profile-empty{display:grid;justify-items:center;align-content:center;text-align:center;min-height:190px;padding:25px 15px;gap:10px}.profile-empty>span{color:var(--muted);opacity:.6}.profile-empty .ui-icon{width:29px;height:29px}.profile-empty h3{font-size:.95rem}.profile-empty p{font-size:.72rem;color:var(--muted);line-height:1.7;max-width:45ch;margin:0}.profile-aside .profile-empty{min-height:145px;padding:10px 0}.player-profile button:focus-visible,.profile-directory select:focus-visible{outline:2px solid var(--mint);outline-offset:3px}
@media(min-width:1450px){.profile-columns{grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:1150px){.profile-header{padding:23px}.profile-header-actions{flex-basis:100%;padding-left:118px}.profile-columns{grid-template-columns:minmax(0,1fr) 250px}.profile-games td,.profile-games th{padding-left:9px;padding-right:9px}.profile-rating-card{padding:17px}.profile-games .profile-opponent{max-width:145px}}
@media(max-width:950px){.profile-columns{grid-template-columns:minmax(0,1fr)}.profile-aside{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.profile-aside>.profile-awards-panel{grid-column:1/-1}.profile-aside .profile-award-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-header-actions{padding-left:0;flex-basis:auto}.profile-rating-card strong{font-size:1.7rem}.profile-pool-icon .ui-icon{width:23px;height:23px}}
@media(max-width:650px){.profile-directory{gap:15px;margin:4px 0 18px;align-items:end}.profile-directory h2{font-size:1.2rem}.profile-directory .eyebrow{font-size:.6rem}.profile-directory label{font-size:.63rem;width:48%}.profile-directory select{font-size:.72rem;padding:9px 10px;min-height:40px}.player-profile{gap:14px}.profile-header{padding:20px;gap:18px}.profile-identity{gap:15px;align-items:start}.profile-identity>.avatar{width:72px;height:72px;font-size:2rem}.profile-name-row{gap:7px}.profile-name-row h1{font-size:1.48rem}.profile-role{font-size:.55rem;padding:4px 6px}.profile-identity p{font-size:.67rem;margin:6px 0 3px}.profile-member-line{font-size:.63rem}.profile-member-line i{margin:0 3px}.profile-header-actions{width:100%}.profile-header-actions .community-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.profile-header-actions .btn{min-height:37px;font-size:.7rem}.profile-rating-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-rating-card{padding:15px 16px;gap:5px}.profile-rating-card strong{font-size:1.8rem}.profile-rating-label{font-size:.72rem}.profile-rating-card small{font-size:.61rem}.profile-tabs{justify-content:space-between;gap:15px;padding:0}.profile-tabs>button{font-size:.78rem;padding:12px 2px}.profile-tabs>button>span{font-size:.56rem}.profile-filters{gap:8px;justify-content:stretch}.profile-filters>label{flex:1;width:auto;font-size:.6rem}.profile-filters select{font-size:.66rem;padding:8px 5px;min-height:39px}.profile-rating-chart,.profile-performance,.profile-about,.profile-head-to-head,.profile-awards-panel,.profile-color-stats{padding:19px}.player-profile .card-head{margin-bottom:16px}.player-profile .card-head h2,.profile-about>h2{font-size:.96rem}.player-profile .card-head p{font-size:.64rem}.profile-peak span{font-size:.57rem}.profile-chart-meta{font-size:.6rem;gap:5px;margin-bottom:13px}.profile-chart-meta>span>b{font-size:1.4rem}.profile-chart-note{font-size:.57rem}.profile-chart{margin-left:-5px;width:calc(100% + 8px)}.profile-game-card{padding:19px 0 0}.profile-game-card>.card-head{padding:0 19px}.profile-game-card .card-head>.btn{font-size:.63rem;min-height:33px;padding:6px 9px}.profile-games{min-width:545px}.profile-games th:first-child,.profile-games td:first-child{padding-left:19px}.profile-games th:last-child,.profile-games td:last-child{padding-right:19px}.profile-games td{font-size:.7rem}.profile-games .profile-opponent{max-width:150px}.profile-pagination{padding:13px 17px}.profile-pagination .btn{font-size:.65rem;padding:8px}.profile-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.profile-result-legend{gap:9px}.profile-result-legend>span{font-size:.63rem}.profile-best-win{align-items:start}.profile-best-win>span{max-width:90px;line-height:1.5}.profile-aside{grid-template-columns:1fr;gap:14px}.profile-aside .profile-award-grid{grid-template-columns:1fr}.profile-award-grid{grid-template-columns:1fr}.profile-head-to-head .profile-versus-score{justify-content:start}.profile-head-to-head>p{text-align:left}.profile-about dl{gap:15px}.profile-empty{min-height:180px}.profile-empty p{font-size:.68rem}}
@media(prefers-reduced-motion:reduce){.profile-rating-card{transition:none}}
