:root{--background:#f6f7f4;--surface:#fff;--surface-muted:#eef2ee;--ink:#161a18;--muted:#68716b;--line:#d9dfda;--line-strong:#c6cec7;--accent:#12664f;--accent-strong:#084c3c;--accent-soft:#dcebe6;--gold:#c89114;--danger:#b43a31;--shadow:0 14px 34px rgba(22,26,24,.08)}*{box-sizing:border-box}html{background:var(--background);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.site-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{background:var(--surface);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:10}.topbar-inner{width:min(1400px,calc(100% - 32px));margin:0 auto;min-height:72px;justify-content:space-between;gap:20px}.brand-lockup,.topbar-inner{display:flex;align-items:center}.brand-lockup{gap:12px;min-width:0}.brand-mark{width:42px;height:42px;border-radius:8px;background:linear-gradient(135deg,#12664f,#e0a520);color:#fff;display:grid;place-items:center;font-size:15px;font-weight:850;letter-spacing:0;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.24);flex:0 0 auto}.brand-copy{min-width:0}.brand-name{display:block;font-size:19px;font-weight:820;line-height:1.1}.brand-subtitle{display:block;color:var(--muted);font-size:13px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tabbar{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line);background:var(--surface-muted);border-radius:8px}.tab-button{height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:6px;padding:0 14px;color:var(--muted);font-size:14px;font-weight:720;white-space:nowrap}.tab-button svg{width:17px;height:17px}.tab-button.is-active{background:var(--surface);color:var(--accent-strong);box-shadow:0 1px 3px rgba(22,26,24,.08)}.page{width:min(1400px,calc(100% - 32px));margin:0 auto;padding:28px 0 52px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.eyebrow{color:var(--accent);display:block;font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(30px,5vw,58px);line-height:.98;margin-bottom:0;max-width:720px}h2{font-size:22px;line-height:1.15;margin-bottom:14px}h3{font-size:17px;line-height:1.2;margin-bottom:10px}.lede{color:var(--muted);font-size:16px;line-height:1.5;max-width:660px;margin:10px 0 0}.meta-strip{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.pill{min-height:32px;display:inline-flex;align-items:center;gap:7px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);padding:0 11px;font-size:13px;font-weight:690}.pill svg{width:15px;height:15px;color:var(--accent)}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:18px}.metric{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:15px;min-height:90px}.metric-label{color:var(--muted);font-size:12px;font-weight:780;text-transform:uppercase;letter-spacing:.07em}.metric-value{display:block;font-size:30px;font-weight:850;line-height:1.05;margin-top:8px}.metric-note{color:var(--muted);display:block;margin-top:5px;font-size:13px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);overflow:hidden}.elo-ratings-panel{margin-bottom:18px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid var(--line)}.panel-header h2,.panel-header h3{margin:0}.panel-header .subtle{margin:3px 0 0}.subtle{color:var(--muted);font-size:13px;line-height:1.4}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{width:100%;border-collapse:collapse;min-width:920px}.profile-table{min-width:0;table-layout:fixed}.profile-table td:first-child,.profile-table th:first-child{width:34%}.profile-table td:nth-child(2),.profile-table th:nth-child(2){width:16%}.profile-table td:nth-child(3),.profile-table th:nth-child(3){width:24%}.profile-table td,.profile-table th{overflow-wrap:anywhere}.data-table th{color:var(--muted);background:#f9faf8;font-size:12px;font-weight:820;letter-spacing:.06em;padding:11px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.data-table td,.data-table th{border-bottom:1px solid var(--line)}.data-table td{padding:10px 12px;vertical-align:middle;font-size:14px}.data-table tbody tr:hover{background:#fbfcfa}.data-table tbody tr:last-child td{border-bottom:0}.num{text-align:left;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rating-value{display:inline-flex;align-items:baseline;gap:8px}.rating-change{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:820}.rating-change.up{color:#157f3f}.rating-change.down{color:#b42318}.rating-change.flat{color:var(--muted)}.rating-change-triangle{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent}.rating-change.up .rating-change-triangle{border-bottom:7px solid;transform:translateY(-1px)}.rating-change.down .rating-change-triangle{border-top:7px solid;transform:translateY(1px)}.rating-change.flat .rating-change-triangle{display:none}.tip-status{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:0 9px;background:var(--surface-muted);color:var(--muted);font-size:12px;font-weight:820}.tip-status-correct{background:var(--accent-soft);color:var(--accent)}.tip-status-incorrect{background:rgba(180,58,49,.11);color:var(--danger)}.tip-status-in-progress{background:rgba(200,145,20,.16);color:#8d620b}.data-timestamp{color:var(--muted);font-size:12px;margin:12px 0 0}.data-timestamp strong{color:var(--ink)}.rank{width:42px;height:34px;border-radius:8px;display:grid;place-items:center;background:var(--surface-muted);color:var(--accent-strong);font-weight:850;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.player-cell,.team-cell{display:flex;align-items:center;gap:10px;min-width:210px}.team-card-link,.team-link{color:inherit;text-decoration:none}.team-card-link:hover .primary-text,.team-link:hover .primary-text{color:var(--accent-strong)}.tip-match-cell{display:grid;grid-gap:4px;gap:4px;min-width:280px}.tip-match-teams,.tip-result-text{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.tip-team-link{min-width:0}.match-versus{color:var(--text-muted);font-size:12px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.team-text-link{color:inherit;display:inline-flex;align-items:center;gap:6px;font-weight:800;text-decoration:none}.team-text-link:hover{color:var(--accent-strong)}.ladder-next-cell .team-badge,.match-index-badges,.match-winner-cell .team-badge,.player-index-team-cell .team-badge,.recent-opponent-cell .team-badge,.team-text-link .team-badge{display:none}.ladder-next-cell,.match-winner-cell,.player-index-team-cell,.recent-opponent-cell{display:inline-flex;align-items:center;gap:8px;min-width:0}.mobile-label,.player-index-mobile-name{display:none}.match-index-cell{display:grid;grid-gap:2px;gap:2px}.match-index-badges{align-items:center;gap:6px}.player-cell-inline{display:flex;align-items:center;gap:10px;min-width:0}.player-avatar,.team-badge{width:38px;height:38px;border-radius:8px;display:grid;place-items:center;flex:0 0 auto;overflow:hidden}.team-badge{color:var(--badge-fg);background:linear-gradient(135deg,var(--badge-bg) 0 65%,var(--badge-accent) 65% 100%);font-size:12px;font-weight:900;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.28)}.team-badge.large{width:58px;height:58px;font-size:17px}.player-avatar{background:var(--surface-muted);color:var(--accent-strong);border:1px solid var(--line);font-weight:850}.primary-text{display:block;font-weight:790;line-height:1.2}.secondary-text{color:var(--muted);display:block;font-size:12px;margin-top:3px;line-height:1.2}.form-strip{display:flex;gap:3px;flex-wrap:nowrap}.form-token{width:24px;height:24px;border-radius:6px;display:grid;place-items:center;font-size:11px;font-weight:850;color:#fff;background:var(--muted)}.form-token.win{background:var(--accent)}.form-token.loss{background:var(--danger)}.form-token.draw{background:var(--gold)}.controls{display:grid;grid-template-columns:minmax(220px,1fr) minmax(160px,220px) minmax(160px,220px) minmax(140px,170px);grid-gap:10px;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line);background:#fbfcfa}.matches-controls{grid-template-columns:minmax(220px,1fr) minmax(160px,220px) minmax(160px,220px)}.field{display:flex;align-items:center;gap:9px;min-height:42px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:0 11px}.field svg{width:17px;height:17px;color:var(--muted);flex:0 0 auto}.field input,.field select{border:0;outline:0;background:transparent;color:var(--ink);min-width:0;width:100%;height:40px}.field select{cursor:pointer}.sort-direction-button{color:var(--ink);cursor:pointer;font:inherit;justify-content:flex-start}.sort-direction-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;border-top:1px solid var(--line);background:#fbfcfa}.inline-icon{display:inline-block;height:15px;margin-right:6px;vertical-align:-2px;width:15px}.icon-button{width:40px;height:40px;border:1px solid var(--line);background:var(--surface);color:var(--accent-strong);border-radius:8px;display:inline-grid;place-items:center;cursor:pointer}.icon-button:disabled{opacity:.42;cursor:not-allowed}.icon-button svg{width:18px;height:18px}.page-input{width:64px;height:34px;margin:0 6px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);text-align:center}.split-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);grid-gap:18px;gap:18px}.player-profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-gap:18px;gap:18px;align-items:start}.detail-hero{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:18px;gap:18px;margin-bottom:18px}.detail-avatar{width:112px;height:112px;border-radius:8px;background:var(--surface);border:1px solid var(--line);overflow:hidden;display:grid;place-items:center;color:var(--accent-strong);font-size:30px;font-weight:850}.detail-title{min-width:0}.detail-title h1{font-size:clamp(32px,5vw,64px)}.section-stack{display:grid;grid-gap:18px;gap:18px}.section-divider{height:1px;margin:30px 0;background:linear-gradient(90deg,transparent 0,var(--line-strong) 16%,var(--line-strong) 84%,transparent 100%)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.compact-list{display:grid;grid-gap:0;gap:0}.compact-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line)}.compact-row-link{color:inherit;text-decoration:none}.compact-row-link:hover .primary-text{color:var(--accent-strong)}.match-cell-link{color:inherit;display:grid;grid-gap:2px;gap:2px;text-decoration:none}.match-cell-link:hover .primary-text{color:var(--accent-strong)}.compact-row:last-child{border-bottom:0}.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.team-card,.team-grid{display:grid;grid-gap:14px;gap:14px}.team-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px}.historical-team-card{background:linear-gradient(145deg,rgba(200,145,20,.09),transparent 42%),var(--surface)}.team-card-head{display:flex;align-items:center;gap:12px}.team-card-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.mini-stat{background:var(--surface-muted);border-radius:8px;padding:10px;min-width:0}.mini-stat span{display:block;color:var(--muted);font-size:11px;font-weight:780;letter-spacing:.06em;text-transform:uppercase}.mini-stat strong{display:block;margin-top:5px;font-size:18px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.empty-state,.error-state{padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.error-state{border-color:rgba(180,58,49,.28);color:var(--danger)}.loading-bar{height:3px;background:var(--surface-muted);overflow:hidden}.loading-bar span{display:block;height:100%;width:35%;background:var(--accent);animation:loading-slide 1.25s ease-in-out infinite}@keyframes loading-slide{0%{transform:translateX(-110%)}to{transform:translateX(320%)}}@media (max-width:1000px){.page-heading{align-items:flex-start;flex-direction:column}.meta-strip{justify-content:flex-start}.stat-grid,.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.controls,.player-profile-layout,.split-layout{grid-template-columns:1fr}}@media (max-width:720px){.topbar-inner{width:min(100% - 20px,1400px);flex-direction:column;align-items:stretch;min-height:0;padding:12px 0;gap:12px}.tabbar{width:100%}.tab-button{flex:1 1;padding:0 8px}.tab-button span{display:none}.page{width:min(100% - 20px,1400px);padding-top:22px}.page-heading{gap:14px;margin-bottom:14px}.lede{font-size:14px;line-height:1.45}.metric{min-height:0;padding:13px}.metric-value{font-size:26px}.detail-hero,.stat-grid,.team-card-stats,.team-grid{grid-template-columns:1fr}.detail-avatar{width:96px;height:96px}.table-wrap{margin:0 -10px;padding:0 10px;scrollbar-width:thin}.data-table{min-width:680px}.elo-ratings-table,.ladder-table,.match-index-table,.player-index-table{min-width:0}.ladder-mobile-hide,.match-index-mobile-hide,.player-index-mobile-hide{display:none}.data-table td,.data-table th{padding:8px 9px;font-size:13px;line-height:1.25}.data-table th{font-size:10px;letter-spacing:.04em}.profile-table{min-width:560px;table-layout:auto}.profile-table td:first-child,.profile-table td:nth-child(2),.profile-table td:nth-child(3),.profile-table th:first-child,.profile-table th:nth-child(2),.profile-table th:nth-child(3){width:auto}.player-cell,.team-cell{min-width:150px;gap:8px}.mobile-emblem-team{min-width:0}.mobile-emblem-team .mobile-team-text,.player-index-desktop-name{display:none}.player-index-mobile-name{display:block}.player-index-mobile-surname{margin-top:3px}.desktop-label{display:none}.mobile-label{display:inline}.ladder-next-cell .team-badge,.match-winner-cell .team-badge,.player-index-team-cell .team-badge,.recent-opponent-cell .team-badge,.team-text-link .team-badge{display:grid}.match-index-badges{display:flex}.tip-match-cell{min-width:112px}.tip-match-teams{flex-wrap:nowrap;gap:6px}.player-avatar,.team-badge{width:30px;height:30px;border-radius:7px;font-size:10px}.rank{width:32px;height:28px;border-radius:7px}.form-token{width:21px;height:21px;border-radius:5px;font-size:10px}.rating-value{align-items:flex-start;flex-direction:column;gap:2px}.rating-change{font-size:10px}.elo-ratings-table td,.elo-ratings-table th{padding-left:6px;padding-right:6px}.elo-ratings-table .team-cell{min-width:0}.elo-ratings-table .team-badge{height:28px;width:28px}.elo-ratings-table .rating-value{align-items:flex-start;flex-direction:row;gap:4px}.elo-ratings-table .rating-change{font-size:9px}h1{font-size:34px}}@media (max-width:520px){.panel-header{align-items:flex-start;flex-direction:column;padding:14px}.data-table{min-width:620px}.elo-ratings-table,.ladder-table,.match-index-table,.player-index-table{min-width:0}.profile-table{min-width:520px}.compact-row{padding:11px 14px}.controls,.pager{padding-left:14px;padding-right:14px}}