/* Worldwide benchmarking: a restrained editorial shell, with data driving
   every column. No geolocation or worldwide population is inferred. */
.gb-page { --gb-lime: #d7fa81; --gb-line: #2e3a32; --gb-soft: #a3b19f; color: var(--ink, #f1f0e6); min-width: 0; }
.gb-page *, .gb-page *::before, .gb-page *::after { box-sizing: border-box; }
.gb-page button, .gb-page select { font: inherit; }
.gb-page button { cursor: pointer; }
.gb-page button:focus-visible, .gb-page select:focus-visible, .gb-page summary:focus-visible, .gb-page a:focus-visible { outline: 2px solid var(--gb-lime); outline-offset: 4px; }
.gb-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .58fr); align-items: center; gap: 24px; padding: 24px 0 44px; min-height: 320px; overflow: hidden; }
.gb-kicker { display: flex; align-items: center; gap: 9px; color: var(--gb-soft); font-size: 10px; font-weight: 650; letter-spacing: .16em; line-height: 1.7; }
.gb-kicker > i { display: inline-block; width: 5px; height: 5px; border-radius: 100%; background: var(--gb-lime); box-shadow: 0 0 12px #d7fa8133; }
.gb-hero h1 { margin: 23px 0 20px; font-size: clamp(36px, 5.1vw, 74px); line-height: 1.04; letter-spacing: -.06em; font-weight: 520; }
.gb-hero h1 em { color: var(--gb-lime); font-style: normal; font-weight: 430; }
.gb-hero-copy > p { max-width: 54ch; color: #b0bcae; font-size: 13px; line-height: 1.8; margin: 0; }
.gb-orbit { position: relative; height: 270px; width: 100%; max-width: 350px; margin: 0 auto; display: grid; place-items: center; perspective: 700px; }
.gb-orbit::before { content: ''; position: absolute; width: 230px; height: 230px; border-radius: 50%; background: radial-gradient(circle, #b6e4800d, #93bc5714 45%, transparent 73%); }
.gb-orbit-ring { position: absolute; width: 230px; height: 230px; border: 1px solid #a7c98255; border-radius: 50%; box-shadow: inset 0 0 30px #d7fa8105, 0 0 40px #d7fa8103; }
.gb-orbit-ring-a { transform: rotateX(64deg) rotateZ(-34deg); }
.gb-orbit-ring-b { transform: rotateY(62deg) rotateZ(20deg); border-color: #e6ffb87a; }
.gb-orbit-ring-c { transform: rotateX(-34deg) rotateY(-23deg); width: 190px; height: 190px; border-color: #62795466; }
.gb-orbit-core { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 110px; height: 118px; border: 1px solid #a4b77b77; background: linear-gradient(138deg, #273124ed, #111a15f5 70%); box-shadow: 8px 9px 0 #1e291ee6, 9px 10px 0 #677b4644, 20px 25px 40px #0007, inset 0 1px 0 #f4ffe330; border-radius: 18px 18px 35px 35px; transform: rotate(-9deg); }
.gb-orbit-core > span { color: #e7f8c2; font-size: 49px; font-weight: 580; letter-spacing: -.08em; line-height: 1; padding-right: 6px; text-shadow: 1px 1px #627b43, 2px 2px #627b43, 3px 3px #627b43; }
.gb-orbit-core > small { max-width: 65px; text-align: center; color: #aabc96; font-size: 6px; line-height: 1.6; letter-spacing: .14em; margin-top: 10px; }
.gb-orbit-coordinate { position: absolute; bottom: 0; color: #8b9b85; font-size: 8px; letter-spacing: .17em; }
.gb-toolbar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 14px; border-top: 1px solid var(--gb-line); padding: 22px 0; }
.gb-subject-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0 0 22px; position: static; top: auto; z-index: auto; backdrop-filter: none; background: none; border: 0; padding: 0; }
.gb-subject-nav > button { display: flex; align-items: center; gap: 17px; min-width: 0; padding: 24px; min-height: 108px; border: 1px solid #586b46; border-radius: 14px; background: linear-gradient(125deg, #1b281b, #101912); color: #e1ecd5; text-align: left; transition: border-color .15s ease, background .15s ease; }
.gb-subject-nav > button:hover { border-color: #bfdc89; background: #22301c; }
.gb-subject-nav > button.is-current { border-color: #badf79; background: linear-gradient(125deg, #334724, #1d2c17); box-shadow: inset 0 1px 0 #e3ffb019; }
.gb-subject-nav > button > span:nth-child(2) { display: grid; gap: 7px; min-width: 0; }
.gb-subject-nav strong { font-size: clamp(17px, 1.6vw, 23px); line-height: 1.25; letter-spacing: -.025em; font-weight: 600; }
.gb-subject-nav small { color: #b4c8a2; font-size: 11px; line-height: 1.7; }
.gb-subject-nav button > b { margin-left: auto; color: #cceca3; font-size: 24px; font-weight: 400; }
.gb-subject-icon { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 46px; border: 1px solid #859f6066; border-radius: 10px; background: #36482966; color: #dbf8b1; }
.gb-subject-icon svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.gb-roster-toolbar { border-top: 0; padding: 0 0 22px; }
.gb-active-subject { font-size: 10px; letter-spacing: .12em; color: #b2c69e; }
.gb-index-coverage { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; border: 1px solid #485d37; border-radius: 12px; padding: 20px; background: #1b291675; margin: 0 0 26px; }
.gb-index-coverage h2 { font-size: 20px; font-weight: 550; letter-spacing: -.025em; margin: 8px 0 10px; }
.gb-index-coverage p { font-size: 11px; line-height: 1.8; color: #b3c69f; margin: 0; }
.gb-index-progress { display: grid; gap: 8px; align-content: center; }
.gb-index-progress label { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 7px; color: #d7e6c5; font-size: 10px; line-height: 1.5; }
.gb-index-progress progress { display: block; height: 6px; width: 100%; border: 0; border-radius: 4px; background: #3b4d2f; accent-color: #d7fa81; }
.gb-index-progress progress::-webkit-progress-bar { background: #3b4d2f; border-radius: 4px; }
.gb-index-progress progress::-webkit-progress-value { background: #d7fa81; border-radius: 4px; }
.gb-index-progress progress::-moz-progress-bar { background: #d7fa81; border-radius: 4px; }
.gb-index-progress > p, .gb-index-progress small { font-size: 9px; line-height: 1.7; color: #acbf99; }
.gb-roster { margin: 30px 0 38px; padding-bottom: 30px; border-bottom: 1px solid var(--gb-line); }
.gb-roster-preview { margin-top: 4px; margin-bottom: 26px; }
.gb-roster-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; }
.gb-roster h2 { margin: 9px 0 0; font-size: clamp(23px, 2.4vw, 32px); line-height: 1.25; font-weight: 520; letter-spacing: -.035em; }
.gb-roster-count { display: inline-block; padding: 6px 10px; border: 1px solid #526a3d; border-radius: 999px; font-size: 10px; line-height: 1.5; color: #c7d9b5; background: #26341d; }
.gb-roster > p { max-width: 95ch; font-size: 12px; color: #b1c0a5; line-height: 1.8; margin: 14px 0 22px; }
.gb-roster-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; align-items: stretch; }
.gb-roster-card { display: flex; flex-direction: column; align-items: stretch; min-width: 0; padding: 19px; background: linear-gradient(135deg, #1a2719, #0f1912); border: 1px solid #43563b; border-radius: 13px; text-align: left; color: #e5eddd; transition: border-color .15s ease, background .15s ease; }
.gb-roster-card:hover { border-color: #9bbe74; background: #20301b; }
.gb-roster-card.is-selected { border-color: #d4f697; background: linear-gradient(135deg, #344b25, #192813); box-shadow: inset 0 1px 0 #e3ffb021; }
.gb-roster-card-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; color: #b5d092; font-size: 16px; }
.gb-roster-role { font-size: 9px; text-transform: uppercase; letter-spacing: .08em; line-height: 1.6; color: #aabc97; }
.gb-roster-name { display: block; margin: 12px 0 17px; font-size: 15px; letter-spacing: -.015em; font-weight: 600; line-height: 1.45; overflow-wrap: anywhere; }
.gb-roster-value { display: flex; flex-wrap: wrap; gap: 4px 9px; align-items: baseline; color: #def9bb; font-size: 30px; line-height: 1.2; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.gb-roster-value > small { max-width: 20ch; font-size: 10px; line-height: 1.6; letter-spacing: 0; color: #b0c09e; }
.gb-roster-value-track { display: block; height: 5px; margin: 15px 0 10px; border-radius: 3px; background: #33422d; overflow: hidden; }
.gb-roster-value-track > i { display: block; height: 100%; background: #95b46c; border-radius: inherit; }
.gb-roster-card.is-selected .gb-roster-value-track > i { background: #d7fa81; }
.gb-roster-games { margin-top: 8px; font-size: 10px; line-height: 1.7; color: #b1c2a0; font-variant-numeric: tabular-nums; }
.gb-roster-percentile { display: flex; align-items: center; gap: 10px; margin-top: 17px; padding-top: 14px; border-top: 1px solid #405737; color: #bed6a8; }
.gb-roster-percentile > b { font-size: 24px; font-weight: 520; letter-spacing: -.035em; line-height: 1; font-variant-numeric: tabular-nums; color: #dfefce; }
.gb-roster-percentile > span { display: grid; gap: 4px; color: #d6e6c7; font-size: 10px; line-height: 1.5; }
.gb-roster-percentile small { font-size: 9px; color: #adbd9e; line-height: 1.6; }
.gb-roster-card.is-building { border-style: dashed; background: #172015; }
.gb-roster-card.is-building .gb-roster-games { color: #cbbb94; }
.gb-roster-preview .gb-roster-grid { grid-template-columns: repeat(auto-fit, minmax(142px, 1fr)); gap: 10px; }
.gb-roster-preview .gb-roster-card { padding: 14px; }
.gb-roster-preview .gb-roster-name { font-size: 12px; margin: 9px 0 14px; }
.gb-roster-preview .gb-roster-value { display: grid; gap: 4px; font-size: 22px; }
.gb-roster-preview .gb-roster-value small { font-size: 9px; }
.gb-roster-preview .gb-roster-games { font-size: 9px; margin: 10px 0 15px; }
.gb-roster-open { display: flex; align-items: center; justify-content: space-between; gap: 5px; margin-top: auto; padding-top: 12px; border-top: 1px solid #34482c; color: #cae7a9; font-size: 9px; line-height: 1.7; }
.gb-roster-open > span { font-size: 15px; }
.gb-player-detail-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin: 32px 0 24px; scroll-margin-top: 110px; }
.gb-player-detail-heading h2 { font-size: clamp(27px, 3vw, 40px); font-weight: 520; line-height: 1.25; letter-spacing: -.04em; margin: 9px 0 0; overflow-wrap: anywhere; }
.gb-player-detail-heading > div { min-width: 0; }
.gb-player-detail-heading a { display: flex; gap: 14px; font-size: 11px; color: #c6dea9; border-bottom: 1px solid #829e5c; padding-bottom: 6px; }
.gb-segments { display: flex; width: fit-content; max-width: 100%; gap: 3px; padding: 4px; border: 1px solid #3a493b; border-radius: 999px; background: #0a110d; }
.gb-segments button { border: 0; border-radius: 999px; background: transparent; color: #a5b39f; padding: 9px 17px; font-size: 11px; line-height: 1.4; font-weight: 520; min-height: 34px; white-space: nowrap; transition: background .15s ease, color .15s ease; }
.gb-segments button:hover { color: #e5ebdd; }
.gb-segments button[aria-pressed='true'] { background: var(--gb-lime); color: #17200e; box-shadow: 0 2px 10px #0003; font-weight: 650; }
.gb-sync { display: flex; align-items: center; gap: 8px; color: #acb6a6; font-size: 10px; }
.gb-sync > i { width: 5px; height: 5px; border-radius: 100%; background: var(--gb-lime); }
.gb-sync > i.is-stale { background: #e8ba7e; }
.gb-sync > button { display: grid; place-items: center; background: none; border: 1px solid #3b493b; border-radius: 50%; color: #c4d3bb; width: 31px; height: 31px; font-size: 18px; }
.gb-scope-note { display: flex; align-items: flex-start; gap: 15px; border: 1px solid #364331; border-radius: 12px; padding: 17px 20px; background: linear-gradient(105deg, #23302075, #111b1370); margin-bottom: 25px; }
.gb-scope-symbol { display: grid; place-items: center; flex: 0 0 28px; height: 28px; border: 1px solid #73895466; border-radius: 50%; color: var(--gb-lime); font-size: 18px; }
.gb-scope-note p { color: #afbea8; margin: 1px 0; font-size: 11px; line-height: 1.85; max-width: 120ch; }
.gb-scope-note strong { color: #e2e8d8; font-weight: 600; margin-right: 4px; }
.gb-filters { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 14px; margin: 24px 0 30px; }
.gb-filters label { display: grid; min-width: 0; gap: 8px; color: #a5b39e; font-size: 10px; line-height: 1.5; letter-spacing: .03em; }
.gb-filters select { display: block; min-width: 160px; max-width: 100%; min-height: 42px; padding: 9px 38px 9px 13px; border: 1px solid #374634; border-radius: 8px; background: #111a13; color: #e9eddf; font-size: 12px; line-height: 1.5; }
.gb-statline { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; padding: 24px 0 31px; border-top: 1px solid var(--gb-line); border-bottom: 1px solid var(--gb-line); margin-bottom: 30px; }
.gb-statline > article { padding: 0 24px; min-width: 0; border-left: 1px solid var(--gb-line); }
.gb-statline > article:first-child { padding-left: 0; border: 0; }
.gb-statline > article:last-child { padding-right: 0; }
.gb-statline > article > span { display: block; color: #a0b098; font-size: 9px; line-height: 1.6; letter-spacing: .09em; overflow-wrap: anywhere; }
.gb-statline strong { display: block; margin: 13px 0 10px; font-size: clamp(23px, 3vw, 38px); letter-spacing: -.06em; line-height: 1.2; font-weight: 520; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.gb-statline strong > small { font-size: 12px; letter-spacing: -.02em; font-weight: 400; color: #acbaa0; }
.gb-statline strong.gb-unranked { font-size: clamp(23px, 2.5vw, 31px); letter-spacing: -.035em; }
.gb-statline .gb-stat-you > strong { color: var(--gb-lime); }
.gb-statline .gb-index-rank > strong { color: #e4fbb8; }
.gb-rank-scope { color: #b3c49f; font-size: 11px; line-height: 1.85; margin: -12px 0 26px; }
.gb-rank-scope strong { color: #d5e7bd; font-weight: 550; }
.gb-statline article > small { display: block; max-width: 25ch; color: #9daf94; font-size: 10px; line-height: 1.7; }
.gb-threshold-note { color: #d0bf95; font-size: 11px; line-height: 1.8; padding-left: 14px; border-left: 2px solid #a48c4f; margin: -6px 0 28px; }
.gb-position-note { color: #b2c3a4; font-size: 11px; line-height: 1.8; margin: -6px 0 24px; }
.gb-charts-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; align-items: stretch; }
.gb-card { min-width: 0; padding: 26px; border: 1px solid var(--gb-line); border-radius: 16px; background: linear-gradient(135deg, #151f18, #0d1410 80%); }
.gb-card h3 { margin: 10px 0 0; font-size: clamp(20px, 2vw, 27px); line-height: 1.3; letter-spacing: -.035em; font-weight: 520; }
.gb-card-head { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; }
.gb-card p { color: #adbaa5; font-size: 11px; line-height: 1.8; }
.gb-chart-intro { max-width: 86ch; margin: 16px 0 8px; }
.gb-chart-stage { padding: 24px 0 0; min-width: 0; margin: 0 -8px; overflow: hidden; }
.gb-histogram { display: block; width: 100%; height: auto; min-height: 220px; }
.gb-histogram text { font-family: inherit; font-variant-numeric: tabular-nums; }
.gb-chart-grid line { stroke: #80997422; stroke-width: 1; stroke-dasharray: 3 5; }
.gb-chart-grid text { fill: #a4b498; font-size: 12px; }
.gb-chart-ground { fill: #62885011; stroke: #74886433; stroke-width: 1; }
.gb-column { outline: none; }
.gb-column-hit { fill: transparent; }
.gb-column-top { fill: #a6b991; }
.gb-column-side { fill: #344935; }
.gb-column.is-own .gb-column-top { fill: #efffc2; }
.gb-column.is-own .gb-column-side { fill: #6f923e; }
.gb-column-front, .gb-column-top, .gb-column-side { transition: filter .15s ease; }
.gb-column.is-active .gb-column-front, .gb-column.is-active .gb-column-top, .gb-column.is-active .gb-column-side { filter: brightness(1.3); }
.gb-column:focus-visible .gb-column-hit { stroke: #e5ffb0; stroke-width: 1.5; stroke-dasharray: 3 4; }
.gb-chart-axis text { fill: #a0b197; font-size: 12px; }
.gb-own-line line { stroke: #ddff9d; stroke-width: 1.5; stroke-dasharray: 3 5; pointer-events: none; }
.gb-own-line circle { fill: #e5ffa8; }
.gb-own-line text { fill: #e4ffa9; font-size: 13px; letter-spacing: .06em; font-weight: 600; }
.gb-median-line line { stroke: #a2b19980; stroke-dasharray: 2 6; pointer-events: none; }
.gb-distribution-caption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; align-items: center; padding: 14px 0 8px; }
.gb-chart-legend { display: flex; flex-wrap: wrap; gap: 12px 17px; font-size: 10px; color: #b3c0a9; }
.gb-chart-legend > span { display: flex; align-items: center; gap: 7px; }
.gb-chart-legend i { width: 9px; height: 9px; background: #6d8660; border-radius: 2px; }
.gb-chart-legend i.is-you { background: #d7fa81; }
.gb-chart-legend i.is-median { background: transparent; border-left: 2px dotted #a7b59b; width: 3px; height: 11px; }
.gb-distribution-caption .gb-bin-detail { margin: 0; min-height: 20px; font-variant-numeric: tabular-nums; font-size: 10px; }
.gb-bin-detail strong { color: #dde9cf; font-weight: 550; }
.gb-data-disclosure { margin-top: 18px; padding-top: 15px; border-top: 1px solid #2c3a2a; color: #adc29d; font-size: 11px; }
.gb-data-disclosure > summary { width: fit-content; cursor: pointer; min-height: 26px; }
.gb-data-disclosure caption { text-align: left; color: #a9b79e; font-size: 10px; line-height: 1.8; margin: 15px 0; }
.gb-profile > p { margin-top: 14px; max-width: 86ch; }
.gb-profile-rows { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 22px 0; }
.gb-profile-row { background: #0d160eee; border: 1px solid #2b3a29; border-radius: 10px; padding: 15px; color: #c9d7c0; text-align: left; min-width: 0; transition: border-color .15s ease, background .15s ease; }
.gb-profile-row.is-selected { border-color: #86a854; background: #1b2916; }
.gb-profile-row > span:first-child { display: flex; gap: 12px; justify-content: space-between; align-items: baseline; }
.gb-profile-row strong { font-size: 11px; line-height: 1.5; font-weight: 500; }
.gb-profile-row b { color: #e1f1d1; font-size: 15px; font-weight: 550; line-height: 1.2; letter-spacing: -.025em; font-variant-numeric: tabular-nums; }
.gb-profile-row.is-selected b { color: var(--gb-lime); }
.gb-percentile-track { display: block; height: 5px; margin: 14px 0 10px; background: #34402e; border-radius: 3px; overflow: hidden; }
.gb-percentile-track > i { display: block; height: 100%; border-radius: inherit; background: #839d68; }
.gb-profile-row.is-selected .gb-percentile-track > i { background: #d7fa81; }
.gb-profile-row > small { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 5px; color: #a3b496; font-size: 9px; line-height: 1.6; font-variant-numeric: tabular-nums; }
.gb-profile-row > small > span { color: #a8b5a0; }
.gb-page .gb-footnote { font-size: 10px; line-height: 1.85; color: #a1b097; margin: 14px 0 0; }
.gb-peers { margin-top: 22px; }
.gb-peers > p { margin: 16px 0 20px; }
.gb-peer-search { display: grid; gap: 8px; max-width: 480px; margin: 0 0 20px; color: #aabd9b; font-size: 10px; }
.gb-peer-search input { width: 100%; min-height: 44px; padding: 10px 13px; border: 1px solid #455b38; border-radius: 8px; background: #0d170f; color: #e4efdb; font: inherit; font-size: 12px; }
.gb-peer-search input::placeholder { color: #8da380; }
.gb-peer-search input:focus-visible { outline: 2px solid var(--gb-lime); outline-offset: 3px; }
.gb-table-scroll { max-width: 100%; overflow-x: auto; scrollbar-color: #637c4f #141e14; }
.gb-page table { border-collapse: collapse; width: 100%; font-size: 11px; text-align: left; font-variant-numeric: tabular-nums; }
.gb-page th, .gb-page td { padding: 14px 13px; border-bottom: 1px solid #2a3929; color: #becdb2; text-align: right; white-space: nowrap; }
.gb-page th:first-child { text-align: left; white-space: normal; min-width: 155px; }
.gb-page thead th { padding-top: 12px; padding-bottom: 12px; color: #9fb390; font-size: 9px; letter-spacing: .06em; font-weight: 500; text-transform: uppercase; background: #172214; }
.gb-page tbody th { color: #dce9ce; font-weight: 500; }
.gb-table-name { display: grid; gap: 5px; font-size: 12px; max-width: 34ch; overflow-wrap: anywhere; }
.gb-table-name small { color: #91a781; font-size: 9px; line-height: 1.5; font-weight: 400; }
.gb-record-observed { display: block; color: #a5b69a; font-size: 9px; line-height: 1.7; font-weight: 400; }
.gb-record-observed small { font-size: inherit; }
.gb-record-observed.is-stale { color: #d2bd8b; }
.gb-own-row { background: #263a1970; }
.gb-page .gb-own-row th, .gb-page .gb-own-row td { color: #d7fa81; }
.gb-table-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; margin-top: 17px; color: #a5b49a; font-size: 10px; line-height: 1.7; }
.gb-table-footer button { display: flex; align-items: center; gap: 15px; border: 1px solid #42553a; border-radius: 999px; padding: 8px 13px; color: #d4e7c2; background: #1b2816; font-size: 10px; }
.gb-pagination { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.gb-pagination > span { font-variant-numeric: tabular-nums; font-size: 10px; }
.gb-pagination button:disabled { cursor: default; opacity: .4; }
.gb-method { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1fr); gap: 40px; margin: 32px 0 20px; padding: 30px 0; border-top: 1px solid var(--gb-line); }
.gb-method h3 { margin: 13px 0; font-size: 24px; font-weight: 500; line-height: 1.3; letter-spacing: -.035em; }
.gb-method p { color: #a5b59c; font-size: 11px; line-height: 1.9; margin: 0 0 13px; }
.gb-method a { display: inline-flex; gap: 12px; align-items: center; color: #d7edbe; font-size: 11px; border-bottom: 1px solid #69894e; padding-bottom: 5px; }
.gb-method .gb-discovery-credit { margin-top: 18px; }
.gb-method .gb-discovery-credit a { display: inline; padding: 0; font-size: inherit; }
.gb-message { padding: 24px; border: 1px solid #536447; border-radius: 12px; background: #172214; margin: 20px 0; }
.gb-message strong { font-size: 15px; line-height: 1.6; font-weight: 550; }
.gb-message p { color: #b2c1a7; font-size: 12px; line-height: 1.8; max-width: 75ch; }
.gb-message button { padding: 9px 15px; border: 1px solid #738d52; border-radius: 8px; background: #26391b; color: #e0efce; font-size: 11px; }
.gb-loading { display: grid; gap: 16px; padding: 30px 0 50px; color: #afc19f; font-size: 12px; }
.gb-loading-line { display: block; width: 70%; height: 20px; background: linear-gradient(90deg, #22331c, #36452c, #22331c); background-size: 200% 100%; border-radius: 5px; }
.gb-loading-line + .gb-loading-line { width: 40%; }
.gb-chart-empty { min-height: 260px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 30px; }
.gb-chart-empty > span { color: #7c926a; font-size: 48px; font-weight: 300; }
.gb-chart-empty > small { color: #99ad88; font-size: 11px; line-height: 1.6; }
@media (min-width: 1700px) { .gb-charts-layout { grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); } .gb-profile-rows { grid-template-columns: 1fr; gap: 10px; } }
@media (max-width: 1100px) { .gb-hero { grid-template-columns: minmax(0, 1fr) 240px; gap: 8px; } .gb-orbit { transform: scale(.85); } .gb-statline > article { padding: 0 15px; } .gb-profile-rows { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .gb-hero { grid-template-columns: 1fr; padding: 10px 0 28px; min-height: 0; position: relative; }
  .gb-hero h1 { font-size: clamp(39px, 9.5vw, 66px); margin-top: 20px; }
  .gb-hero-copy > p { max-width: 45ch; font-size: 12px; }
  .gb-hero-copy { position: relative; z-index: 1; }
  .gb-orbit { position: absolute; right: -72px; top: -12px; width: 220px; height: 220px; opacity: .19; transform: scale(.82); pointer-events: none; }
  .gb-orbit-core { opacity: .8; }
  .gb-orbit-coordinate { display: none; }
  .gb-kicker { font-size: 8px; letter-spacing: .13em; }
  .gb-toolbar { padding: 18px 0; }
  .gb-subject-nav { gap: 10px; margin-bottom: 12px; }
  .gb-subject-nav > button { padding: 16px 13px; min-height: 120px; gap: 8px; flex-wrap: wrap; align-content: flex-start; }
  .gb-subject-icon { width: 29px; height: 31px; flex-basis: 29px; border-radius: 7px; }
  .gb-subject-icon svg { width: 22px; height: 22px; }
  .gb-subject-nav > button > span:nth-child(2) { order: 3; flex: 0 0 100%; gap: 6px; margin-top: 5px; }
  .gb-subject-nav strong { font-size: 15px; line-height: 1.4; }
  .gb-subject-nav small { font-size: 9px; line-height: 1.7; }
  .gb-subject-nav button > b { font-size: 19px; }
  .gb-active-subject { font-size: 8px; letter-spacing: .07em; }
  .gb-index-coverage { grid-template-columns: 1fr; padding: 16px; gap: 15px; }
  .gb-index-coverage h2 { font-size: 19px; }
  .gb-roster-toolbar { padding: 10px 0 20px; gap: 10px; }
  .gb-roster { margin-top: 24px; padding-bottom: 24px; }
  .gb-roster-preview { margin-top: 0; }
  .gb-roster h2 { font-size: 23px; }
  .gb-roster-heading { gap: 11px; }
  .gb-roster-count { font-size: 9px; }
  .gb-roster > p { font-size: 11px; }
  .gb-roster-grid, .gb-roster-preview .gb-roster-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .gb-roster-card { padding: 14px; }
  .gb-roster-name { font-size: 12px; }
  .gb-roster-value { font-size: 25px; display: grid; gap: 5px; }
  .gb-roster-value > small { font-size: 9px; }
  .gb-roster-role { font-size: 8px; }
  .gb-roster-games { font-size: 9px; }
  .gb-roster-percentile { flex-wrap: wrap; gap: 7px; margin-top: 14px; padding-top: 12px; }
  .gb-roster-percentile > b { font-size: 24px; }
  .gb-roster-percentile > span { font-size: 9px; }
  .gb-roster-percentile small { font-size: 8px; }
  .gb-player-detail-heading h2 { font-size: 28px; }
  .gb-segments button { padding: 8px 13px; font-size: 10px; }
  .gb-sync { font-size: 9px; }
  .gb-scope-note { padding: 14px; gap: 10px; margin-bottom: 20px; }
  .gb-scope-note p { font-size: 10px; }
  .gb-scope-symbol { flex-basis: 23px; height: 23px; font-size: 15px; }
  .gb-filters { gap: 12px; margin: 20px 0; }
  .gb-filters label { flex: 1 1 135px; font-size: 9px; }
  .gb-filters select { min-width: 0; width: 100%; font-size: 11px; min-height: 42px; padding-right: 24px; }
  .gb-statline { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0; margin-bottom: 24px; }
  .gb-statline > article { padding: 20px 13px; }
  .gb-statline > article:first-child { padding: 20px 13px 20px 0; }
  .gb-statline > article:nth-child(3) { border-left: 0; border-top: 1px solid var(--gb-line); padding-left: 0; }
  .gb-statline > article:nth-child(4) { border-top: 1px solid var(--gb-line); }
  .gb-statline > article > span { font-size: 8px; }
  .gb-statline strong { font-size: 30px; margin: 10px 0 7px; }
  .gb-statline article > small { font-size: 9px; }
  .gb-threshold-note { font-size: 10px; margin: 0 0 24px; }
  .gb-card { padding: 18px; border-radius: 13px; }
  .gb-card-head { gap: 12px; }
  .gb-card h3 { font-size: 20px; }
  .gb-card p { font-size: 10px; }
  .gb-chart-stage { margin: 0 -14px; padding-top: 18px; }
  .gb-histogram { min-height: 205px; }
  .gb-chart-grid text, .gb-chart-axis text { font-size: 21px; }
  .gb-own-line text { font-size: 24px; }
  .gb-chart-legend { font-size: 9px; gap: 10px; }
  .gb-distribution-caption { gap: 10px; padding-top: 2px; }
  .gb-profile-rows { grid-template-columns: 1fr; gap: 10px; }
  .gb-profile-row { padding: 14px; }
  .gb-profile-row strong { font-size: 11px; }
  .gb-profile-row > small { font-size: 9px; }
  .gb-peers { margin-top: 20px; }
  .gb-peers .gb-card-head { align-items: flex-start; }
  .gb-page th, .gb-page td { padding: 13px 9px; font-size: 10px; }
  .gb-page th:first-child { min-width: 136px; }
  .gb-table-name { font-size: 11px; }
  .gb-page thead th { font-size: 8px; }
  .gb-table-footer { font-size: 9px; }
  .gb-method { grid-template-columns: 1fr; gap: 8px; padding: 24px 0; }
  .gb-method h3 { font-size: 22px; }
  .gb-method p { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) { .gb-page *, .gb-page *::before, .gb-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
@media (forced-colors: active) { .gb-orbit { display: none; } .gb-column-front { fill: CanvasText; } .gb-column.is-own .gb-column-front { fill: Highlight; } .gb-own-line line, .gb-median-line line { stroke: CanvasText; } .gb-own-line text, .gb-chart-axis text, .gb-chart-grid text { fill: CanvasText; } .gb-percentile-track { border: 1px solid CanvasText; } .gb-percentile-track > i { background: Highlight; } }

/* Saved progress and the actual three-axis club field. */
.gb-preset-note { color: #acbaa4; font-size: 11px; line-height: 1.8; margin: -5px 0 25px; }
.gb-preset-note a { display: inline-block; color: var(--gb-lime); margin-left: 7px; text-decoration: underline; text-underline-offset: 3px; }
.gb-progress-grid { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(0, 1.65fr); gap: 20px; margin: 28px 0 20px; align-items: stretch; }
.gb-progress-grid > .gb-card { min-width: 0; }
.gb-target { background: radial-gradient(ellipse at 50% 35%, #63812a14, transparent 66%), #111a14; }
.gb-target-meter { margin: 14px auto 6px; max-width: 245px; }
.gb-target-meter svg { display: block; width: 100%; overflow: visible; }
.gb-target-arc-track, .gb-target-arc { fill: none; stroke-width: 5; stroke-linecap: round; }
.gb-target-arc-track { stroke: #33442c; }
.gb-target-arc { stroke: var(--gb-lime); }
.gb-target-dot { fill: #f3f4e9; stroke: #111a14; stroke-width: 2; }
.gb-target-meter text { fill: #ebf3df; font-size: 38px; font-weight: 500; letter-spacing: -.055em; }
.gb-target-meter .gb-target-meter-label { fill: #94a585; font-size: 7px; font-weight: 550; letter-spacing: .11em; }
.gb-target-value { display: grid; gap: 8px; text-align: center; padding: 12px 0 18px; border-bottom: 1px solid var(--gb-line); }
.gb-target-value > span { font-size: 8px; color: #b0c29e; letter-spacing: .1em; font-weight: 600; line-height: 1.6; }
.gb-target-value > strong { color: var(--gb-lime); font-size: clamp(32px, 3vw, 45px); font-weight: 500; letter-spacing: -.045em; line-height: 1.05; }
.gb-target-value > small { color: #c0cdb5; font-size: 10px; line-height: 1.7; }
.gb-target-status { padding: 12px 0 8px; }
.gb-target-status strong { font-size: 17px; font-weight: 500; color: #dce9cc; line-height: 1.5; }
.gb-target .gb-target-explanation { margin-top: 17px; }
.gb-history-days { display: block; flex: 0 0 auto; white-space: nowrap; color: #bdd994; border: 1px solid #4d603a; border-radius: 99px; padding: 5px 10px; font-size: 9px; line-height: 1.5; }
.gb-history-latest { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin: 24px 0 4px; }
.gb-history-latest > strong { font-size: 39px; letter-spacing: -.05em; line-height: 1.1; font-weight: 500; color: #deedcc; }
.gb-history-latest > strong > small { font-size: 17px; color: #9cad8d; letter-spacing: -.025em; }
.gb-history-latest > span { font-size: 10px; color: #bdcbb1; line-height: 1.7; }
.gb-history-latest > span > small { display: block; color: #8e9e82; font-size: 9px; }
.gb-history-stage { width: 100%; min-width: 0; margin: 18px 0 0; }
.gb-history-stage svg { display: block; width: 100%; height: auto; overflow: visible; }
.gb-history-grid path { fill: none; stroke: #32412f; stroke-dasharray: 3 5; }
.gb-history-grid text, .gb-history-axis-label { fill: #a4b597; font-size: 11px; }
text.gb-history-axis-label { font-size: 9px; letter-spacing: .08em; }
.gb-history-line { fill: none; stroke: #d7fa81; stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
.gb-history-point { fill: #d7fa81; stroke: #141d16; stroke-width: 2; }
.gb-history .gb-history-start { border-left: 2px solid #afcd75; padding: 2px 0 2px 12px; color: #c8d5bb; margin-top: 14px; }
.gb-history-change { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 20px 0; border-top: 1px solid var(--gb-line); padding-top: 17px; }
.gb-history-change > div { display: grid; gap: 8px; align-content: start; }
.gb-history-change > div > span { font-size: 9px; color: #a9b99b; line-height: 1.6; }
.gb-history-change strong { font-size: 20px; color: #d7e9bd; font-weight: 500; letter-spacing: -.03em; }
.gb-history-change > p { grid-column: 1 / -1; margin: 0; }
.gb-history-empty { display: grid; align-content: center; min-height: 285px; gap: 13px; border-block: 1px solid var(--gb-line); margin: 22px 0; }
.gb-history-empty > span { color: #a8bf83; font-size: 42px; font-weight: 350; letter-spacing: -.06em; }
.gb-history-empty > strong { color: #d8e6c9; font-weight: 500; font-size: 16px; line-height: 1.5; }
.gb-history-empty > p { margin: 0; max-width: 62ch; }
.gb-landscape { margin: 20px 0; }
.gb-landscape-stage { background: radial-gradient(ellipse at 50% 45%, #79a94213, transparent 62%); border: 1px solid #2b392d; border-radius: 12px; margin: 22px 0 16px; min-width: 0; overflow: hidden; }
.gb-landscape-stage svg { display: block; width: 100%; max-height: 540px; margin: 0 auto; }
.gb-landscape-grid path { fill: #1a291914; stroke: #405237; stroke-width: 1; }
.gb-landscape-grid .gb-landscape-axis { fill: none; stroke: #76915c; }
.gb-landscape-grid text { fill: #adbf9d; font-size: 11px; }
.gb-landscape-point { cursor: pointer; }
.gb-landscape-point circle { fill: #89a772; fill-opacity: .42; stroke: #9bbc7b; stroke-opacity: .5; stroke-width: 1; }
.gb-landscape-point:hover circle { fill-opacity: .9; stroke: #e4f5cd; }
.gb-landscape-point.is-selected circle { fill: #b9d994; fill-opacity: .9; stroke: #e6f4d4; stroke-width: 2; }
.gb-landscape-point.is-own { cursor: default; }
.gb-landscape-point.is-own circle { fill: #dcfc92; fill-opacity: 1; stroke: #f2ffd5; stroke-width: 2.5; }
.gb-landscape-point line { stroke: #b8d982; stroke-opacity: .7; stroke-dasharray: 3 4; }
.gb-landscape-point text { fill: #d0e5b2; font-size: 11px; font-weight: 550; paint-order: stroke; stroke: #111a14; stroke-width: 5px; stroke-linejoin: round; }
.gb-landscape-point.is-own text { fill: #e0ffa2; }
.gb-landscape-controls { display: flex; align-items: end; flex-wrap: wrap; gap: 15px 24px; margin-bottom: 22px; }
.gb-landscape-controls label { display: grid; gap: 9px; flex: 1 1 230px; max-width: 380px; font-size: 10px; color: #b3c2a7; }
.gb-landscape-controls select { min-height: 41px; max-width: 100%; min-width: 0; padding: 9px 28px 9px 12px; border: 1px solid #586d43; border-radius: 7px; background: #182416; color: #e2f0d3; font-size: 12px; }
.gb-landscape-controls > span { flex: 1 1 200px; font-size: 10px; color: #8e9f83; line-height: 1.7; }
.gb-landscape-ranges { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 16px 0 24px; }
.gb-landscape-ranges > span { min-width: 0; display: grid; align-content: start; gap: 8px; padding-right: 12px; border-right: 1px solid var(--gb-line); }
.gb-landscape-ranges > span:last-child { border-right: 0; }
.gb-landscape-ranges small { color: #9db38b; font-size: 9px; line-height: 1.5; }
.gb-landscape-ranges strong { color: #d1e2bd; font-size: 14px; line-height: 1.5; font-weight: 500; font-variant-numeric: tabular-nums; }
.gb-landscape-ranges i { font-style: normal; color: #7e926c; }
.gb-target p, .gb-history p { overflow-wrap: anywhere; }
.gb-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 1000px) { .gb-progress-grid { grid-template-columns: minmax(200px, .8fr) minmax(0, 1.35fr); } .gb-history .gb-card-head { flex-wrap: wrap; } }
@media (max-width: 760px) {
  .gb-progress-grid { grid-template-columns: 1fr; gap: 16px; margin-top: 24px; }
  .gb-target-meter { max-width: 210px; }
  .gb-target-value > strong { font-size: 39px; }
  .gb-target-value > small, .gb-preset-note { font-size: 10px; }
  .gb-history-days { font-size: 8px; }
  .gb-history-latest { margin-top: 20px; }
  .gb-history-latest > strong { font-size: 33px; }
  .gb-history-grid text, .gb-history-axis-label { font-size: 19px; }
  text.gb-history-axis-label { font-size: 14px; }
  .gb-history-change { gap: 10px; }
  .gb-history-change strong { font-size: 17px; }
  .gb-history-change > div > span { font-size: 8px; }
  .gb-history-empty { min-height: 240px; }
  .gb-landscape-stage { margin-inline: -9px; border-radius: 8px; }
  .gb-landscape-grid text { font-size: 17px; }
  .gb-landscape-point text { font-size: 17px; stroke-width: 6px; }
  .gb-landscape-controls { gap: 12px; }
  .gb-landscape-controls label { max-width: none; flex-basis: 100%; }
  .gb-landscape-controls > span { font-size: 9px; }
  .gb-landscape-ranges { gap: 8px; }
  .gb-landscape-ranges > span { padding-right: 8px; }
  .gb-landscape-ranges small { font-size: 8px; }
  .gb-landscape-ranges strong { font-size: 11px; }
}
@media (forced-colors: active) { .gb-target-arc, .gb-history-line, .gb-landscape-axis { stroke: Highlight; } .gb-history-point, .gb-landscape-point circle { fill: CanvasText; } .gb-target-meter text, .gb-landscape-grid text, .gb-landscape-point text, .gb-history-axis-label, .gb-history-grid text { fill: CanvasText; stroke: none; } }
