:root{
  --paper:#fcfcfc;--ink:#10100f;--signal:#b8f000;--hairline:#c9c9c3;
  --map-paper:#eaeced;--muted:#666660;--secondary:#707572;
  --bl1:#e31b23;--bl2:#f06b35;--bl3:#c23b8b;--rln:#3f6e8c;--rl:#8156a6;--rlw:#b5485d;--rlsw:#5f7f43;--rlby:#9a642f;--oln:#185da8;--ols:#2f8fc3;--bl:#13916b;--ll1:#e09b1f;--ll2:#54747e;
}
*{box-sizing:border-box}
html,body{width:100%;min-height:100%;margin:0;background:var(--paper);color:var(--ink)}
body{font-family:"Arial Nova","Helvetica Neue",Arial,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}
button,input,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}
.app{min-height:100vh;display:grid;grid-template-columns:minmax(340px,25vw) 1fr;grid-template-rows:108px minmax(706px,calc(100vh - 172px)) 64px;background:var(--paper)}
.masthead{grid-column:1/-1;display:grid;grid-template-columns:minmax(340px,25vw) 1fr;border-bottom:2px solid var(--ink)}
.brand{display:flex;align-items:center;padding:0 20px;border-right:1px solid var(--ink);font-size:clamp(30px,2.35vw,44px);line-height:.85;font-weight:900;letter-spacing:-.075em;text-transform:uppercase;white-space:nowrap;overflow:hidden}
.brand span{color:var(--signal)}
.mast-meta{display:block}
.mast-statement{height:100%;display:flex;align-items:center;padding:0 40px;font-size:clamp(17px,1.28vw,22px);line-height:1.12;font-weight:700;letter-spacing:-.03em}
.sidebar{position:relative;grid-column:1;grid-row:2;display:flex;min-height:0;flex-direction:column;border-right:1px solid var(--ink);background:var(--paper)}
.side-intro{padding:30px 28px 28px;border-bottom:1px solid var(--ink)}
h1{margin:0;max-width:340px;font-size:clamp(31px,2.55vw,44px);line-height:.94;font-weight:900;letter-spacing:-.055em}
.tool-grid{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--ink)}
.field{padding:15px 14px 13px 28px}.field+.field{border-left:1px solid var(--ink);padding-left:16px}
.label{display:block;margin:0 0 8px;color:var(--secondary);font-size:9px;line-height:1;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
select,input[type="search"]{width:100%;height:32px;margin:0;padding:0;border:0;border-bottom:2px solid var(--ink);border-radius:0;outline:0;background:transparent;color:var(--ink);font-size:15px;font-weight:800}
select:focus,input[type="search"]:focus{border-bottom-color:var(--signal)}input[type="search"]::placeholder{color:var(--ink);opacity:1}
.leagues{min-height:0;display:flex;flex:1;flex-direction:column}
.section-head{display:flex;align-items:center;justify-content:space-between;min-height:46px;padding:0 24px 0 28px;border-bottom:1px solid var(--hairline)}
.section-title{color:var(--secondary);font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.league-list{display:flex;flex:1;flex-direction:column}
.league-row{display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:6px;flex:1;min-height:34px;padding-right:18px;transition:background-color 120ms ease}
.league-row:hover{background:#fff}
.league{position:relative;display:grid;grid-template-columns:11px 1fr 22px;align-items:center;width:100%;height:100%;padding-left:28px;cursor:pointer}
.league input{position:absolute;opacity:0}
.dot{width:9px;height:9px;background:var(--c);border-radius:50%;transition:opacity 120ms ease,transform 120ms ease}.league input:not(:checked)~.dot{opacity:0;transform:scale(.55)}
.league-name{padding-left:12px;font-size:13px;line-height:1.1;font-weight:800;letter-spacing:-.015em}
.toggle-state{position:relative;justify-self:end;width:20px;height:10px;border:1px solid #d5d8d6;border-radius:10px}
.toggle-state:after{content:"";position:absolute;top:1px;left:1px;width:6px;height:6px;border-radius:50%;background:#b5b9b7;transition:transform 120ms ease,background-color 120ms ease}
.league input:checked~.toggle-state:after{transform:translateX(10px);background:#777d79}
.league-zoom{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;background:transparent;color:#9da19e;transition:color 120ms ease,opacity 120ms ease}
.league-zoom svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter}
.league-zoom:hover{color:var(--ink)}.league-zoom:disabled{opacity:.22;cursor:default}
.viewport-count{color:#8d928f;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}
.toggle-all{display:flex;align-items:center;gap:9px;min-height:24px;margin-left:auto;padding:0;border:0;background:transparent;color:var(--secondary);font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.master-switch{position:relative;width:20px;height:10px;border:1px solid #d5d8d6;border-radius:10px}
.master-switch:after{content:"";position:absolute;top:1px;left:1px;width:6px;height:6px;border-radius:50%;background:#b5b9b7;transition:transform 120ms ease,background-color 120ms ease}
.toggle-all.is-on .master-switch:after{transform:translateX(10px);background:var(--secondary)}
.report{grid-column:1;grid-row:3;display:grid;grid-template-columns:1fr 48px;align-items:stretch;min-height:64px;border-top:1px solid var(--hairline);border-right:1px solid var(--ink);color:var(--secondary);text-decoration:none}
.report span:first-child{display:flex;align-items:center;padding:0 28px;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.report span:last-child{display:flex;align-items:center;justify-content:center;border-left:1px solid var(--hairline);font-size:22px;transition:background-color 120ms ease,color 120ms ease}.report:hover span:last-child{background:var(--secondary);color:var(--paper)}
.map-stage{position:relative;grid-column:2;grid-row:2/4;min-width:0;min-height:0;overflow:hidden;background:var(--map-paper)}
.map-stage iframe{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:770px;border:0;visibility:visible}
.view-switch{position:absolute;top:18px;left:18px;z-index:5;display:flex;border:1px solid var(--ink);background:var(--paper)}
.view-switch button{height:38px;padding:0 16px;border:0;background:transparent;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.view-switch button+button{border-left:1px solid var(--ink)}
.view-switch button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.view-switch button:hover{background:var(--signal);color:var(--ink)}
.table-view{position:absolute;inset:0;visibility:hidden;background:var(--paper)}
.map-stage.is-table iframe{visibility:hidden}
.map-stage.is-table .table-view{visibility:visible}
.table-scroll{position:absolute;inset:74px 0 0;overflow:auto;padding:0 34px 44px}
.atlas-table{width:100%;border-collapse:collapse;table-layout:fixed}
.atlas-table col:first-child{width:104px}.atlas-table col:nth-child(2){width:auto}.atlas-table col:nth-child(3){width:190px}.atlas-table col:nth-child(4){width:220px}
.atlas-table thead th{position:sticky;top:0;z-index:2;height:44px;border-top:2px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--paper);text-align:left}
.atlas-table thead th:nth-child(n+3){text-align:right}
.sort-button{display:inline-flex;align-items:center;gap:8px;width:100%;height:100%;padding:0 12px;border:0;background:transparent;color:var(--secondary);font-size:10px;font-weight:900;letter-spacing:.14em;text-align:left;text-transform:uppercase}
.atlas-table thead th:nth-child(n+3) .sort-button{justify-content:flex-end;text-align:right}
.sort-button:hover,.sort-button.is-active{color:var(--ink)}
.sort-mark{width:10px;color:var(--ink);font-size:12px;line-height:1;text-align:center}
.club-row th,.club-row td{height:43px;padding:0 12px;border-bottom:1px solid var(--hairline);font-size:13px}
.club-row{transition:background-color 100ms ease}.club-row:hover{background:rgba(184,240,0,.14)}
.club-row th{text-align:left;font-weight:800}.club-row td{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.club-row .league-cell{text-align:left;color:var(--ink);font-size:11px;font-weight:800;letter-spacing:.07em;white-space:nowrap}
.league-dot{display:inline-block;width:9px;height:9px;margin-right:9px;border-radius:50%;background:var(--c);vertical-align:-1px}
.distance-unit{color:var(--secondary);font-size:10px;font-weight:700;text-transform:uppercase}
.empty-table td{padding:38px 12px;border-bottom:1px solid var(--hairline);color:var(--secondary);font-size:13px}
.page-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:26px 28px;border-top:2px solid var(--ink);font-size:11px;background:var(--paper)}
.page-footer strong{text-transform:uppercase;letter-spacing:-.03em}.page-footer a{color:var(--muted);text-decoration:none}.page-footer a:hover{color:var(--ink)}.page-footer small{color:var(--muted)}
@media(max-width:820px){
  .app{display:block}
  .masthead{min-height:108px;grid-template-columns:1fr 54px}
  .brand{border-right:0}
  .mast-statement{display:none}
  .mast-meta{grid-template-columns:1fr 54px}
  .sidebar{border-right:0}
  .league-list{display:grid;grid-template-columns:1fr 1fr}
  .league-row{min-height:54px}
  .map-stage{height:70vh;min-height:560px;border-top:2px solid var(--ink)}
  .map-stage iframe{min-height:560px}
  .table-scroll{overflow-x:hidden;padding-right:12px;padding-left:12px}
  .atlas-table{display:block;width:100%;min-width:0;table-layout:auto}
  .atlas-table colgroup{display:none}
  .atlas-table thead,.atlas-table tbody{display:block;width:100%}
  .atlas-table tr{display:grid;width:100%;grid-template-columns:minmax(0,1fr) 88px 88px;align-items:stretch}
  .atlas-table thead th:first-child,.atlas-table tbody td:first-child{display:none}
  .sort-button{gap:4px;padding-right:6px;padding-left:6px;letter-spacing:.08em}
  .club-row th,.club-row td{display:flex;align-items:center;height:auto;min-height:40px;padding:5px 6px;font-size:12px;line-height:1.2}
  .club-row td{justify-content:flex-end;white-space:nowrap}
  .report{border-right:0}
  .page-footer{align-items:flex-start;flex-direction:column}
}
