:root{--paper:#f7f7f0;--ink:#183f35;--muted:#536157;--line:#dde1d5;--lime:#dfecac;--soft:#edf0e6;--clay:#b66d50;--hard:#66889a;--grass:#779264;--radius:12px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-size:14px}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.4}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #8c9c42;outline-offset:4px}button{border:0;background:none}button,select,input{min-height:40px}button:hover:not(:disabled){color:#4f6e3e}input,select{color:var(--ink);background:transparent}.masthead,main,footer{max-width:1400px;margin:auto;padding-left:56px;padding-right:56px}.masthead{height:98px;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-weight:800;letter-spacing:-1.3px;font-size:25px;display:flex;align-items:center;gap:0}.brand>span:not(.brand-ball){font-weight:400}.brand sup{font-size:9px;align-self:flex-start;margin:5px 0 0 4px;letter-spacing:0}.brand-ball{font-size:36px;margin-right:10px;color:var(--ink);line-height:1}.mast-note{font-size:12px;color:var(--muted);margin-left:auto}.text-button{font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:5px;padding:8px 0;white-space:nowrap}.masthead .text-button{margin-left:28px}.intro{display:flex;justify-content:space-between;align-items:center;padding:65px 0 48px;gap:30px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;display:block}.intro .eyebrow{display:flex;align-items:center;gap:10px}.tiny-line{width:24px;height:2px;background:var(--ink)}h1{font-size:clamp(40px,5vw,66px);letter-spacing:-3px;line-height:1.02;font-weight:500;margin:23px 0}h1 em,h2 em,.bottom-note em{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1 em{color:#647b49}.intro-copy{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:0}.edition{max-width:255px;margin-top:15px;border-left:1px solid var(--line);padding-left:28px;display:flex;flex-direction:column;gap:12px;color:var(--muted);font-size:11px;line-height:1.6}.edition strong{font-family:Georgia,serif;font-size:25px;font-weight:400;color:var(--ink)}.edition-rule{height:1px;background:var(--line);margin:5px 0}.tour-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:12px}.tour-tabs{display:flex;gap:30px}.tour{font-size:17px;padding:18px 0;position:relative}.tour span{font-size:11px;color:var(--muted);margin-left:7px}.tour.active{font-weight:700}.tour.active:after{content:'';position:absolute;height:3px;background:var(--ink);bottom:-1px;left:0;right:0}.tour:not(.active){opacity:.65}.archive-badge{font-size:9px;letter-spacing:1.2px;background:#e9e6ce;color:#6a6035;border-radius:4px;padding:8px 11px;font-weight:700;white-space:nowrap}.notice{margin:20px 0 0;background:#f0efdf;border:1px solid #e5e0c9;padding:12px 16px;font-size:11px;line-height:1.7;border-radius:6px;color:#706039}.notice.error{color:#8d3430;background:#f9e6df}.overview{display:grid;grid-template-columns:1fr 1fr 1.1fr 1.3fr;padding:30px 0;border-bottom:1px solid var(--line);gap:20px}.overview>div{border-right:1px solid var(--line);padding-right:20px}.overview>div:last-child{border:0;padding:0}.overview strong{display:block;font-size:32px;letter-spacing:-1px;font-weight:500;margin:9px 0 4px;font-variant-numeric:tabular-nums}.overview small{font-size:10px;color:var(--muted)}.overview .date-number{font-size:22px;margin-top:15px;margin-bottom:8px}.overview-note{display:flex;align-items:center;gap:18px}.overview-note p{font-size:11px;line-height:1.9;color:var(--muted)}.overview-note p strong{font-size:11px;letter-spacing:0;margin:0;font-weight:500;color:var(--ink)}.court-mark{font-size:55px;color:#93a374;line-height:1}.section-heading{display:flex;justify-content:space-between;align-items:end;padding-top:42px;gap:20px}h2{font-size:25px;letter-spacing:-.7px;font-weight:500;margin:10px 0 0}.surface-tabs{display:flex;gap:5px;padding:24px 0 21px;flex-wrap:wrap}.surface-tabs button{border-radius:25px;font-size:12px;padding:8px 20px;display:flex;align-items:center;gap:7px}.surface-tabs button[aria-pressed=true]{background:var(--ink);color:white}.surface-dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0}.hard{background:var(--hard)}.clay{background:var(--clay)}.grass{background:var(--grass)}.carpet{background:#9e8aae}.controls{display:flex;align-items:end;gap:16px;padding-bottom:17px}.controls>label:not(.search),.extra-filters>label{display:flex;flex-direction:column;gap:5px;font-size:9px;color:var(--muted);letter-spacing:.2px}.controls select,.extra-filters select{border:1px solid var(--line);border-radius:6px;padding:8px 28px 8px 10px;font-size:11px;max-width:210px;background:var(--paper)}.search{display:flex;align-items:center;flex:1;border:1px solid var(--line);background:#fffefa;border-radius:6px;min-width:170px;padding:0 12px;gap:7px}.search span{font-size:25px;color:var(--muted)}.search input{width:100%;border:0;outline-offset:0;padding:10px 0;font-size:12px;min-width:0}.filter-toggle{border:1px solid var(--line);padding:8px 14px;border-radius:6px;white-space:nowrap;font-size:11px}.extra-filters{padding:14px;background:var(--soft);border-radius:6px;display:flex;gap:18px;flex-wrap:wrap;align-items:center}.extra-filters[hidden]{display:none}.extra-filters>label:has(input){flex-direction:row;align-items:center;font-size:11px}.extra-filters input{min-height:unset;accent-color:var(--ink)}.table-note{font-size:10px;color:var(--muted);line-height:1.7;margin:0 0 15px}.table-scroll{overflow-x:auto;max-width:100%;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;white-space:nowrap}thead{background:var(--soft)}th{font-weight:500;color:var(--muted);font-size:9px;letter-spacing:.5px;text-transform:uppercase;padding:13px 13px}th button{font-size:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left;min-height:28px;padding:0}th[aria-sort]{color:var(--ink)}td{padding:17px 13px;border-bottom:1px solid #e4e7dd;height:85px;font-variant-numeric:tabular-nums}tbody tr:last-child td{border:0}tbody tr:hover{background:#f0f2e7}td:first-child,th:first-child{padding-left:17px}td.rank{font-size:20px;font-weight:500;min-width:54px}.rank.leader{font-family:Georgia,serif;color:#59723b}.player-cell{min-width:220px}.player-link{display:flex;align-items:center;gap:12px;text-align:left;padding:0;min-height:42px;width:100%}.avatar{width:40px;height:40px;border-radius:50%;background:#e6eadb;color:#61734e;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-family:Georgia,serif;font-size:14px;overflow:hidden;border:1px solid #d9dfcb}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.large{width:65px;height:65px;font-size:23px}.player-name{font-size:12px;font-weight:600;display:block}.player-meta{font-size:9px;color:var(--muted);display:flex;gap:7px;margin-top:5px}.flag-label{font-size:8px;padding:2px 4px;background:#e9ebde;border-radius:3px}.rating{font-size:15px;font-weight:600}.rating small,.dual small{font-size:9px;color:var(--muted);display:block;margin-top:4px;font-weight:400}.movement{font-size:10px}.movement.up{color:#47723b}.movement.down{color:#a0644e}.movement.neutral{color:var(--muted)}.surface-ranks{display:flex;gap:10px;font-size:11px}.surface-ranks span{display:flex;align-items:center;gap:4px}.provisional{color:var(--muted);border-bottom:1px dotted var(--muted)}.wl{font-size:12px}.wl small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.form{display:flex;gap:3px}.form i{font-style:normal;font-size:8px;padding:4px;border-radius:3px;background:#e5ebd9;color:#466336}.form i.loss{background:#efe3da;color:#995c45}.pagination{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);padding:18px 0;gap:15px}.pagination button{font-size:11px;padding:8px 12px;border:1px solid var(--line);border-radius:5px;margin-left:6px}.empty{padding:50px;text-align:center;white-space:normal;color:var(--muted);line-height:1.7}.bottom-note{padding:60px 0;display:grid;grid-template-columns:1fr 2fr 1.5fr;align-items:center;gap:30px}.bottom-note p{font-size:23px;letter-spacing:-.5px;line-height:1.4;margin:0}.bottom-note>div{font-size:11px;line-height:1.9;color:var(--muted)}footer{border-top:1px solid var(--line);display:flex;align-items:center;gap:30px;padding-top:26px;padding-bottom:30px}.brand.small{font-size:19px}footer p{font-size:9px;line-height:1.9;color:var(--muted);margin-left:auto}footer .text-button{font-size:10px}.skip{position:absolute;top:-100px;left:15px;z-index:10;padding:12px;background:var(--ink);color:white}.skip:focus{top:10px}dialog{border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink);width:min(900px,calc(100% - 24px));max-height:90vh;padding:25px 30px;box-shadow:0 30px 100px #12372f30}dialog::backdrop{background:#12372f77;backdrop-filter:blur(4px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.close{font-size:27px;line-height:1;padding:0 10px;border-radius:8px}.close:hover{background:var(--soft)}.profile-heading{display:flex;align-items:center;gap:17px}.profile-heading h2{font-size:30px;margin:0 0 8px}.profile-heading p{color:var(--muted);font-size:11px;margin:0;line-height:1.7}.badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.badge{font-size:9px;background:var(--soft);border-radius:4px;padding:5px 8px}.profile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:25px 0}.metric-card{padding:16px;background:var(--soft);border-radius:8px}.metric-card strong{display:block;font-size:23px;margin:9px 0 5px;font-weight:500}.metric-card small{font-size:9px;color:var(--muted);line-height:1.6}.dialog-section{margin:28px 0}.dialog-section h3{font-size:17px;font-weight:500;margin-bottom:10px}.dialog-copy{font-size:12px;line-height:1.9;color:var(--muted)}.stats-table td{height:unset;padding:12px}.stats-table th{padding:10px 12px}.results-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:11px;margin-bottom:15px}.results-tools select{border:1px solid var(--line);padding:8px;background:var(--paper);border-radius:6px}.match-list{display:flex;flex-direction:column;gap:8px}.match-card{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:12px;padding:13px;background:var(--soft);border-radius:7px}.match-outcome{height:27px;width:27px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;background:#dce6cc}.match-outcome.loss{background:#eeded2;color:#92523b}.match-card strong{font-size:12px;font-weight:500}.match-card p{font-size:9px;color:var(--muted);margin:5px 0 0;line-height:1.8}.match-card .score{text-align:right;font-size:11px;line-height:1.8}.positive{color:#527644}.negative{color:#a36148}.coverage-table{font-size:11px}.coverage-table td{height:unset;padding:10px}.coverage-table th{padding:10px}.method-list{font-size:12px;line-height:1.9;padding-left:18px;color:var(--muted)}.info-block{background:var(--soft);border-radius:8px;padding:18px;margin:15px 0;font-size:12px;line-height:1.9}.info-block strong{color:var(--ink)}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90%;padding:15px 22px;border-radius:10px;background:var(--ink);color:white;font-size:12px;z-index:30;box-shadow:0 6px 30px #12372f33}.error-copy{color:#995b45}.update-time{font-size:10px;color:var(--muted)}[hidden]{display:none!important}
/* Keep small labels readable on all of the soft surface tones. */
.avatar{color:#405b31}.movement.down,.negative,.error-copy{color:#87503a}.positive{color:#3c602f}.flag-label{color:#4b584b}
.tour:not(.active){opacity:1;color:var(--muted)}
@media(min-width:1500px){.masthead,main,footer{padding-left:65px;padding-right:65px}}
@media(max-width:1000px){.masthead,main,footer{padding-left:30px;padding-right:30px}.overview{grid-template-columns:1fr 1fr 1fr}.overview-note{display:none}.overview>div:nth-child(3){border:0}.intro{padding-top:45px}.intro h1{font-size:54px}.controls{gap:10px}.controls select{max-width:180px}.bottom-note{grid-template-columns:1fr 2fr}.bottom-note>div{grid-column:2}.edition{max-width:220px}.mast-note{display:none}.masthead .text-button{margin-left:auto}}
@media(max-width:650px){:root{font-size:13px}.masthead,main,footer{padding-left:20px;padding-right:20px}.masthead{height:76px}.brand{font-size:21px}.brand-ball{font-size:31px}.intro{padding:35px 0 30px;display:block}.intro h1{font-size:48px;letter-spacing:-2.3px;margin:19px 0}.intro-copy{font-size:12px;line-height:1.8}.edition{display:none}.tour-tabs{gap:24px}.tour{font-size:15px}.tour span{display:none}.archive-badge{font-size:8px;padding:7px 9px;letter-spacing:.8px}.notice{font-size:10px;padding:10px 12px}.overview{gap:10px;padding:25px 0}.overview>div{padding-right:7px}.overview .eyebrow{font-size:7px;letter-spacing:.8px}.overview strong{font-size:26px}.overview small{font-size:8px;line-height:1.5;display:block}.overview .date-number{font-size:13px;margin:17px 0 9px;letter-spacing:-.3px}.section-heading{padding-top:30px;align-items:center;gap:10px}.section-heading h2{font-size:21px;max-width:220px}.section-heading .text-button{font-size:10px}.surface-tabs{padding:19px 0 16px;gap:0}.surface-tabs button{padding:6px 12px;font-size:10px;min-height:34px}.surface-tabs button:last-child{display:none}.controls{display:grid;grid-template-columns:1fr 1fr auto;gap:12px 8px}.search{grid-column:1/-1}.controls select{max-width:100%;width:100%;font-size:10px;padding-left:8px;padding-right:10px}.controls>label:not(.search){min-width:0}.filter-toggle{padding:8px 10px;font-size:10px}.table-note{font-size:9px}.extra-filters{gap:13px}.extra-filters>label{font-size:10px}.table-scroll{margin:0 -20px;width:calc(100% + 40px);max-width:calc(100% + 40px)}td{padding:13px 10px;height:78px}.player-cell{min-width:200px}th{padding:10px}.avatar{height:34px;width:34px;font-size:12px}.player-link{gap:9px}.player-name{font-size:11px}.rank.leader,td.rank{font-size:18px}.pagination{font-size:9px}.pagination button{padding:5px 8px;font-size:10px}.bottom-note{padding:37px 0;grid-template-columns:1fr;gap:18px}.bottom-note p{font-size:24px}.bottom-note>div{grid-column:1;font-size:10px}footer{flex-wrap:wrap;gap:14px;padding-top:24px}footer p{order:3;width:100%;margin:0}footer .text-button{margin-left:auto}dialog{padding:20px 17px;max-height:92vh}.profile-heading h2{font-size:24px}.profile-grid{grid-template-columns:1fr 1fr;gap:8px}.metric-card{padding:13px}.profile-heading{gap:12px}.match-card{padding:12px 9px;gap:8px;grid-template-columns:23px 1fr}.match-outcome{width:23px;height:23px}.match-card .score{grid-column:2;text-align:left}.dialog-copy{font-size:11px}.profile-heading .avatar.large{width:50px;height:50px;font-size:18px}.stats-table{font-size:10px}.stats-table th{font-size:8px}}
@media(max-width:650px){.masthead{height:auto;min-height:90px;flex-wrap:wrap;gap:3px 14px;padding-top:12px;padding-bottom:8px}.masthead .brand{flex:1}.masthead .text-button{margin-left:0}.masthead>a.text-button{order:3;flex-basis:100%;font-size:10px;min-height:28px;padding:3px 0}}
@media(prefers-reduced-motion:no-preference){button,a{transition:color .15s,background .15s}.toast{animation:appear .2s ease-out}@keyframes appear{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}}
/* The independent points-based ranking view stays bounded on small screens. */
.published-scroll { max-height: 480px; overflow: auto; margin-top: 20px; }
#published-rankings { margin-top: 56px; }
#published-search { min-height: 44px; }
.surface-dot.outdoor-hard,.surface-dot.outdoor.hard { background: #577c96; }
.surface-dot.indoor-hard,.surface-dot.indoor.hard { background: #79618e; }
.surface-ranks { flex-wrap: wrap; }
@media(max-width:650px){.surface-tabs{flex-wrap:wrap}.surface-tabs button:last-child{display:inline-flex}}
