@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Mono:wght@400;500&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#202620;background:#f6f6f1;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,select{font:inherit}[hidden]{display:none!important}
.site-header{min-height:88px;padding:0 clamp(22px,4vw,52px);display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #d9ddd3}.brand{display:inline-flex;align-items:center;gap:10px;font-size:27px;font-weight:700;letter-spacing:-1.5px;text-decoration:none}.brand span{font-size:32px;line-height:1}.site-header nav{display:flex;align-items:center;gap:25px}.site-header nav a{text-decoration:none;font-size:14px;color:#465145}.site-header nav a:hover,.site-header nav a[aria-current]{color:#1f2b20;text-decoration:underline;text-underline-offset:6px}
main{max-width:1200px;margin:auto;padding:58px clamp(22px,4vw,52px) 68px}.intro{margin-bottom:45px}.eyebrow,.section-index{font:500 12px 'DM Mono',monospace;letter-spacing:2px;color:#6b6250}.intro h1{margin:19px 0 12px;font-size:clamp(56px,8vw,88px);font-weight:500;letter-spacing:-5px;line-height:1}.intro h1 span{color:#7b886e}.intro>p:last-child{max-width:660px;margin:0;color:#5b6559;font-size:17px;line-height:1.65}
.directory{overflow:hidden;border:1px solid #d5dbcf;border-radius:20px;background:#fff;box-shadow:0 12px 35px #2838270b}.directory-top{padding:30px 34px 22px;display:flex;justify-content:space-between;align-items:end;gap:20px}.section-index{margin:0 0 9px;letter-spacing:1.4px}.directory h2{margin:0;font-size:28px;letter-spacing:-.8px}.total-count{margin:0;color:#687266;font-size:14px}.controls{display:grid;grid-template-columns:minmax(230px,1fr) 190px 190px;gap:14px;padding:0 34px 27px}.controls label{display:grid;gap:8px;color:#485347;font-size:12px;font-weight:600}.controls input,.controls select{min-width:0;height:44px;padding:0 13px;border:1px solid #cdd5c9;border-radius:9px;background:#fafbf8;color:#263126;outline:none}.controls input:focus-visible,.controls select:focus-visible,.show-more:focus-visible,a:focus-visible{outline:3px solid #9cba88;outline-offset:2px}.table-head,.player-row{display:grid;grid-template-columns:minmax(230px,2.5fr) repeat(4,minmax(95px,1fr));align-items:center;gap:12px}.table-head{min-height:44px;padding:0 34px;background:#e8ede4;color:#556153;font:500 11px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.5px}.player-row{min-height:70px;padding:10px 34px;border-top:1px solid #e7ebe4}.player-row:nth-child(even){background:#fbfcfa}.player-cell{min-width:0}.player-name{display:block;width:fit-content;max-width:100%;font-weight:700;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-name:hover{text-decoration:underline;text-underline-offset:3px}.player-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:3px;font-size:11px;color:#63735e}.player-links a{text-decoration:none}.player-links a:hover{text-decoration:underline}.rating{font-weight:700}.rating small{display:block;margin-top:2px;font-weight:400;color:#667361;font-size:11px}.metric{font-variant-numeric:tabular-nums;color:#435043}.missing{color:#9aa298}.empty-message{padding:25px 34px;color:#5c6759}.show-more{display:block;margin:24px auto 30px;padding:11px 21px;border:1px solid #556951;border-radius:8px;background:#fff;color:#2a3829;cursor:pointer}.show-more:hover{background:#edf1e9}.source-note{max-width:920px;margin:24px 4px 0;color:#697466;font-size:12px;line-height:1.7}.source-note a{text-underline-offset:2px}footer{padding:25px clamp(22px,4vw,52px);border-top:1px solid #d9ddd3;color:#667164;font:11px 'DM Mono',monospace;letter-spacing:.5px}
@media(max-width:760px){.site-header{min-height:74px}.brand{font-size:24px}.site-header nav{gap:15px}.site-header nav a{font-size:12px}main{padding-top:40px}.intro{margin-bottom:30px}.intro h1{letter-spacing:-3px}.intro>p:last-child{font-size:15px}.directory-top{padding:24px 20px 19px;align-items:start;flex-direction:column;gap:8px}.directory h2{font-size:24px}.controls{grid-template-columns:1fr 1fr;padding:0 20px 20px}.search-field{grid-column:1/-1}.table-head{display:none}.player-row{grid-template-columns:1fr 1fr;gap:9px 14px;padding:15px 20px}.player-cell:first-child{grid-column:1/-1}.player-cell:not(:first-child)::before{display:block;content:attr(data-label);margin-bottom:2px;color:#768274;font:10px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.5px}}
.profile-main{max-width:1050px;min-height:calc(100vh - 160px)}.back-link{display:inline-block;margin-bottom:42px;color:#52634f;text-decoration:none;font-size:13px;font-weight:600}.back-link:hover{text-decoration:underline;text-underline-offset:4px}.profile-loading{color:#667164}.profile-hero{display:flex;align-items:center;gap:28px;margin-bottom:40px}.profile-avatar{display:grid;place-items:center;flex:0 0 106px;width:106px;height:106px;border-radius:24px;background:#dfe8d8;color:#41523c;font-size:36px;font-weight:700;letter-spacing:-2px}.profile-hero .eyebrow{margin:0 0 9px}.profile-hero h1,.profile-missing h1{margin:0;font-size:clamp(36px,5vw,62px);font-weight:600;letter-spacing:-2.5px;line-height:1.12}.profile-subtitle{margin:12px 0 0;color:#64705e;font-size:15px}.profile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat-card{min-height:155px;padding:24px;border:1px solid #d5dbcf;border-radius:16px;background:#fff;box-shadow:0 8px 25px #28382708}.stat-card>span{display:block;color:#64705e;font:500 11px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:1px}.stat-card strong{display:block;margin:12px 0 5px;font-size:38px;line-height:1;letter-spacing:-1px}.stat-card small{display:block;color:#788376;font-size:11px;line-height:1.4}.profile-details{margin-top:28px;padding:28px 32px;border:1px solid #d5dbcf;border-radius:17px;background:#fff}.profile-details h2{margin:0 0 22px;font-size:24px;letter-spacing:-.6px}.profile-details dl{display:grid;grid-template-columns:1fr 1fr;gap:0 36px;margin:0}.profile-details dl div{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid #e9ede6}.profile-details dt{color:#6c7769}.profile-details dd{margin:0;font-weight:600;text-align:right}.official-link{display:inline-block;margin-top:20px;color:#3c5939;font-size:13px;font-weight:600;text-underline-offset:4px}.profile-missing{padding:35px 0}.profile-missing p{color:#64705e}.profile-missing a{color:#3c5939}
.profile-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.profile-grid.profile-fide-only{grid-template-columns:minmax(190px,260px)}
@media(max-width:760px){.profile-main{padding-top:30px}.back-link{margin-bottom:28px}.profile-hero{align-items:flex-start;gap:18px}.profile-avatar{flex-basis:76px;width:76px;height:76px;border-radius:18px;font-size:26px}.profile-hero h1{font-size:clamp(30px,8vw,48px);letter-spacing:-1.5px}.profile-grid{grid-template-columns:1fr 1fr}.stat-card{min-height:132px;padding:18px}.stat-card strong{font-size:31px}.profile-details{padding:24px 20px}.profile-details dl{grid-template-columns:1fr}}

/* Player profiles */
.profile-main{max-width:1120px;padding-top:38px}.profile-main .back-link{margin-bottom:24px}.profile-hero{position:relative;display:grid;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:28px;margin:0 0 42px;padding:36px;border:1px solid #d5dbcf;border-radius:22px;background:linear-gradient(130deg,#fff 0%,#f0f4ed 100%);box-shadow:0 16px 38px #2838270a}.profile-avatar{width:112px;height:112px;flex-basis:auto;border-radius:22px;background:#d8e4d0;color:#344a34}.profile-identity{min-width:0}.profile-hero h1{overflow-wrap:anywhere}.profile-subtitle{margin-top:8px}.profile-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.profile-tags span{padding:7px 10px;border:1px solid #c5d6bb;border-radius:999px;background:#e9f1e5;color:#344d33;font:500 11px 'DM Mono',monospace;letter-spacing:.1px}.profile-hero .official-link{align-self:end;white-space:nowrap;margin:0;padding:11px 14px;border:1px solid #b9cbb1;border-radius:9px;background:#fff;text-decoration:none}.profile-hero .official-link:hover{background:#e9f1e5}.profile-section-heading{margin-bottom:18px}.profile-section-heading h2{margin:0;font-size:27px;letter-spacing:-.7px}.profile-grid,.profile-grid.profile-fide-only{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.stat-card{min-height:150px;box-shadow:none}.rating-card{background:#243429;border-color:#243429;color:#fff}.rating-card>span,.rating-card small{color:#d4dfd1}.stat-card strong{font-size:44px}.profile-details{margin-top:30px;padding:30px 34px}.profile-details dl{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-details dl div{min-width:0}.profile-details dd{overflow-wrap:anywhere}.profile-main .source-note{margin-top:26px}
@media(max-width:900px){.profile-hero{grid-template-columns:92px minmax(0,1fr)}.profile-avatar{width:92px;height:92px}.profile-hero .official-link{grid-column:2;justify-self:start}}
@media(max-width:600px){.profile-hero{grid-template-columns:1fr;gap:17px;padding:25px 22px}.profile-avatar{width:76px;height:76px;font-size:27px}.profile-hero .official-link{grid-column:1}.profile-grid,.profile-grid.profile-fide-only{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{min-height:126px;padding:17px}.stat-card strong{font-size:33px}.profile-details{padding:25px 21px}.profile-details dl{grid-template-columns:1fr}}

.profile-activity{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:30px}.activity-panel{min-width:0;padding:27px 29px;border:1px solid #d5dbcf;border-radius:17px;background:#fff}.activity-panel h2{margin:0 0 18px;font-size:23px;letter-spacing:-.6px}.activity-list{padding:0;margin:0;list-style:none}.activity-list li{display:flex;justify-content:space-between;align-items:center;gap:15px;min-width:0;padding:13px 0;border-top:1px solid #e9ede6}.activity-list li>div{min-width:0}.activity-list strong{display:block;font-size:13px;line-height:1.45}.activity-list small{display:block;margin-top:4px;color:#72806e;font-size:11px;line-height:1.4}.activity-result{flex-shrink:0;color:#435d40;font-size:12px;font-weight:700;text-align:right}.activity-pgn{color:#385a34;font-size:11px;white-space:nowrap}.activity-note{grid-column:1/-1;margin:0 2px;color:#72806e;font-size:11px;line-height:1.6}
@media(max-width:760px){.profile-activity{grid-template-columns:1fr}.activity-panel{padding:23px 20px}}

.profile-ratings{margin-bottom:35px}.ratings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ratings-grid .rating-card{min-height:136px}.rating-period{margin:10px 2px 0;color:#72806e;font-size:11px}.record-results{margin-top:17px;padding:18px 22px;border:1px solid #d5dbcf;border-radius:13px;background:#fff}.record-bar{display:flex;height:12px;overflow:hidden;border-radius:999px;background:#e7ebe4}.record-bar span{min-width:0}.record-bar #wins-bar{background:#587e52}.record-bar #draws-bar{background:#cfb874}.record-bar #losses-bar{background:#b97b73}.record-results p{display:flex;gap:18px;flex-wrap:wrap;margin:11px 0 0;color:#556153;font-size:12px;font-weight:600}.record-results p span:before{display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%;background:#587e52;content:''}.record-results p #draws-count:before{background:#cfb874}.record-results p #losses-count:before{background:#b97b73}
@media(max-width:600px){.ratings-grid{gap:8px}.ratings-grid .stat-card{min-height:112px;padding:15px 11px}.ratings-grid .stat-card>span{font-size:10px}.ratings-grid .stat-card strong{font-size:27px}.ratings-grid .stat-card small{font-size:10px}.record-results{padding:16px}}

.external-results{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-top:26px;padding:27px 30px;border:1px solid #d5dbcf;border-radius:17px;background:#eef3ea}.external-results h2{margin:0 0 8px;font-size:23px;letter-spacing:-.5px}.external-results p:not(.section-index){max-width:650px;margin:0;color:#5d6d5a;font-size:13px;line-height:1.55}.external-results-links{display:flex;flex-direction:column;align-items:flex-start;gap:9px;flex-shrink:0}.external-results-links a{color:#2e512d;font-size:13px;font-weight:700;text-underline-offset:3px}
@media(max-width:760px){.external-results{align-items:flex-start;flex-direction:column;padding:24px 20px}.external-results-links{gap:12px}}

/* Shared pill navigation for the player directory and profiles. */
.site-header nav{gap:9px}
.site-header nav a.nav-pill,.site-header nav a.nav-pill[aria-current]{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:40px;padding:8px 14px;border:1px solid #203027;border-radius:999px;background:#203027;color:#fff;font-size:13px;font-weight:600;line-height:1;text-decoration:none;white-space:nowrap;transition:background .2s,transform .2s}
.site-header nav a.nav-pill:hover,.site-header nav a.nav-pill[aria-current]:hover{background:#395641;color:#fff;text-decoration:none;transform:translateY(-1px)}
.site-header nav a.nav-pill:focus-visible{outline:3px solid #769878;outline-offset:3px}
.nav-feature-badge{display:inline-block;padding:5px 7px;border-radius:999px;background:#d9ff43;color:#203027;font:700 10px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.05em;text-transform:uppercase}
@media(max-width:580px){.site-header{flex-wrap:wrap;padding-top:12px;padding-bottom:12px;gap:10px}.site-header nav{width:100%;justify-content:flex-end}.site-header nav a.nav-pill,.site-header nav a.nav-pill[aria-current]{font-size:12px}}

.profile-photo-column{width:112px;align-self:start}.profile-photo-column .profile-avatar{overflow:hidden}.profile-photo-column .profile-avatar img{display:block;width:100%;height:100%;object-fit:cover}.photo-editor{display:grid;gap:7px;margin-top:10px}.photo-editor button{padding:7px 4px;border:1px solid #c5d6bb;border-radius:7px;background:#fff;color:#344d33;font-size:11px;font-weight:700;cursor:pointer}.photo-editor button:hover{background:#e9f1e5}.photo-editor button:disabled{opacity:.6;cursor:wait}.photo-editor #remove-photo{border-color:#e2caca;color:#8b3535}.photo-editor p{margin:0;color:#556153;font-size:10px;line-height:1.4}
@media(max-width:900px){.profile-photo-column{width:92px}}
@media(max-width:600px){.profile-photo-column{width:76px}.photo-editor{width:112px}}

.profile-inline-ratings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;max-width:470px;margin-top:23px;padding-top:17px;border-top:1px solid #d7dfd1}.profile-inline-ratings>div{min-width:0;padding:0 17px;border-left:1px solid #d7dfd1}.profile-inline-ratings>div:first-child{padding-left:0;border-left:0}.profile-inline-ratings span,.profile-inline-ratings small{display:block;color:#64705e;font-size:11px}.profile-inline-ratings span{font:500 10px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.7px}.profile-inline-ratings strong{display:block;margin:5px 0 1px;font-size:25px;line-height:1.15;letter-spacing:-.7px}.profile-hero{margin-bottom:35px}
@media(max-width:600px){.profile-inline-ratings{margin-top:19px}.profile-inline-ratings>div{padding:0 10px}.profile-inline-ratings strong{font-size:22px}.profile-inline-ratings small{font-size:10px}}
.profile-tags .is-unavailable{border-color:#d9ddd3;background:#f3f5f0;color:#6b7668}
.profile-tags #fide-tag.fide-verified{display:inline-flex;align-items:center;gap:7px;border-color:#203b2a;background:#203b2a;color:#fff;font-weight:700}
.profile-tags #fide-tag.fide-verified::before{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#d9ff43;color:#203b2a;content:'✓';font:800 11px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.saved-games-panel{grid-column:1/-1}.saved-games-description{margin:-8px 0 18px;color:#64705e;font-size:12px;line-height:1.55}.saved-games-panel .activity-list li{align-items:flex-start}.saved-games-panel .activity-list a{color:#385a34;font-size:12px;font-weight:700;text-underline-offset:3px}.saved-games-panel .activity-list small{font-size:12px}
.data-unavailable{margin:0;color:#72806e;font-size:13px;line-height:1.55}
.nav-feature-badge,.profile-tags #fide-tag.fide-verified::before{background:#c8ad7a}
.controls input:focus-visible,.controls select:focus-visible,.show-more:focus-visible,a:focus-visible{outline-color:#a78b59}
.record-results>.data-unavailable{margin:0}
.record-bar-empty{background:#e7ebe4}
.record-bar-empty+.data-unavailable{margin-top:12px}
.profile-fide-id{display:flex;align-items:center;gap:8px;margin:4px 0 0;color:#64705e;font-size:13px;line-height:1.5;flex-wrap:wrap}
#fide-id{font-variant-numeric:tabular-nums;user-select:all}
#copy-fide-id{min-height:44px;min-width:52px;padding:6px 8px;border:0;border-radius:7px;background:transparent;color:#52634f;font:600 11px 'DM Sans',Arial,sans-serif;cursor:pointer}
#copy-fide-id:hover{background:#e7eddf}
#copy-fide-id:focus-visible{outline:2px solid #a78b59;outline-offset:1px}
@media(max-width:600px){.profile-fide-id{font-size:12px;gap:4px}#copy-fide-id{min-width:48px}}
