/* County championships overview */
.co{margin:6px 0 30px}
.co h2{font-size:26px;margin:0 0 8px}
.co-section{margin:0 0 44px}
.co-lead{margin:0 0 16px;font-size:15px;line-height:1.5;color:#33463f;max-width:75ch}
.co-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;margin:0 0 44px}
.co-stats div{padding:16px;border-right:1px solid var(--line)}
.co-stats div:last-child{border-right:0}
.co-stats b{display:block;font-size:30px;line-height:1.1;color:var(--ink);font-variant-numeric:tabular-nums}
.co-stats span{font-size:12px;color:var(--muted);line-height:1.35;display:block;margin-top:4px}
.co-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.co-panel{border:1px solid var(--line);border-radius:12px;background:#fff;padding:18px 20px;min-width:0}
.co-panel h3{margin:0 0 12px;font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.co-panel h4{margin:14px 0 6px;font-size:13px;color:var(--ink)}
.co-wide{margin:0 0 18px}
.co-list{list-style:none;margin:0;padding:0}
.co-list li{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px}
.co-list li:last-child{border-bottom:0}
.co-cls{font-size:12px;color:var(--muted)}
.co-list a,.co-leaders a,.co-table a,.co-repeat a,.co-fast a{color:var(--ink);text-decoration:none}
.co-list a:hover,.co-leaders a:hover,.co-table a:hover,.co-repeat a:hover,.co-fast a:hover{color:var(--green);text-decoration:underline}
.co-streak{font-style:normal;font-size:11px;font-weight:bold;padding:3px 9px;border-radius:999px;background:var(--accent,#e6f396);color:#142d28;white-space:nowrap}
.co-table{width:100%;border-collapse:collapse;font-size:14px}
.co-table th,.co-table td{padding:9px 8px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.co-table thead th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:bold}
.co-table tbody tr:last-child>*{border-bottom:0}
.co-table td:first-child b{font-size:18px}
.co-ind small{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.co-ind th[scope=row] a{font-weight:bold}
.co-scroll{overflow-x:auto}
.co-leaders{list-style:none;margin:0;padding:0}
.co-leaders li{display:grid;grid-template-columns:24px minmax(0,1fr) auto 34px;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}
.co-leaders li:last-child{border-bottom:0}
.co-leaders li b{text-align:right;font-size:16px;font-variant-numeric:tabular-nums}
.co-rank{color:var(--muted);font-size:12px}
.co-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.co-spark{display:inline-flex;align-items:flex-end;gap:2px;height:22px}
.co-spark i{display:block;width:7px;background:var(--green);border-radius:2px 2px 0 0;opacity:.85}
.co-note{font-size:11px;color:var(--muted);margin:10px 0 0}
.co-repeat{list-style:none;margin:0;padding:0}
.co-repeat li{padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}
.co-repeat li:last-child{border-bottom:0}
.co-repeat span{color:var(--muted);font-size:12px}
.co-repeat em{display:block;font-style:normal;font-size:12px;color:var(--green);margin-top:2px}
.co-fast{margin:0;padding-left:20px}
.co-fast li{padding:5px 0;font-size:14px}
.co-fast b{font-variant-numeric:tabular-nums;margin-right:8px}
.co-fast span{color:var(--muted);font-size:12px}
.co-archive{margin:10px 0 0;padding-top:18px;border-top:2px solid var(--ink)}
@media(max-width:900px){.co-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.co-stats div:nth-child(3){border-right:0}.co-stats div:nth-child(-n+3){border-bottom:1px solid var(--line)}.co-grid2{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){.co-stats{grid-template-columns:1fr 1fr}.co-stats div{border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)}.co-stats div:nth-child(2n){border-right:0!important}.co-stats b{font-size:24px}
  .co-list li{grid-template-columns:60px minmax(0,1fr)}.co-list li .co-streak{grid-column:2;justify-self:start}.co-leaders li{grid-template-columns:20px minmax(0,1fr) auto 28px}.co-spark i{width:5px}}
/* Champion teams */
.ct-summary{font-size:14px;color:var(--muted);margin:0 0 16px}.ct-summary b{color:var(--ink)}
.ct-controls{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f5f6f3;margin:0 0 28px;position:sticky;top:0;z-index:5}
.ct-chips{display:flex;flex-wrap:wrap;gap:4px}
.ct-chips button{border:1px solid var(--line);background:#fff;padding:7px 12px;border-radius:999px;font:inherit;font-size:13px;cursor:pointer;color:var(--ink)}
.ct-chips button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.ct-school{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.ct-school select{font:inherit;font-size:13px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);max-width:220px}
.ct-year{margin:0 0 36px}.ct-year h2{font-size:28px;margin:0 0 12px;padding-bottom:6px;border-bottom:2px solid var(--ink)}
.ct-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.ct-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:16px 18px;scroll-margin-top:90px}
.ct-card header h3{margin:0;font-size:17px}.ct-card header h3 a{color:var(--ink);text-decoration:none}
.ct-card header p{margin:2px 0 10px;font-size:12px;color:var(--muted)}
.ct-highlight{border-color:var(--green);box-shadow:0 0 0 3px #e6f396}
.ct-runners{list-style:none;margin:0;padding:0}
.ct-runners li{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--line);font-size:14px}
.ct-runners li:last-child{border-bottom:0}
.ct-place{font-variant-numeric:tabular-nums;font-weight:bold;color:var(--green)}
.ct-name a{color:var(--ink);text-decoration:none}.ct-name a:hover{color:var(--green);text-decoration:underline}
.ct-mark{font-variant-numeric:tabular-nums;color:var(--muted);font-size:13px}
.ct-displacer{opacity:.62}
.ct-key{display:flex;align-items:center;gap:6px;margin:10px 0 0;font-size:11px;color:var(--muted)}
.ct-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green)}.ct-dot.d{opacity:.4;margin-left:8px}
.ct-open{all:unset;cursor:pointer;color:var(--ink);font-weight:bold;text-decoration:underline;text-decoration-color:#9aa9a2;text-underline-offset:3px}
.ct-open span{display:inline-block;margin-left:6px;font-size:10px;font-weight:bold;text-transform:uppercase;letter-spacing:.05em;padding:2px 6px;border-radius:999px;background:var(--accent,#e6f396);color:#142d28;text-decoration:none;vertical-align:1px}
.ct-open[aria-expanded=true]{color:var(--green)}
.ct-roster-row td{background:#f5f6f3!important;padding:0!important}
.ct-inline{padding:14px 18px 16px;max-width:520px}
.ct-inline h4{margin:0 0 8px;font-size:14px}
.ct-all{display:inline-block;margin-top:10px;font-size:13px;font-weight:bold;color:var(--green)}
.co-teams-link{display:inline-block;margin:6px 0 0;font-weight:bold;color:var(--green)}
@media(max-width:700px){.ct-controls{position:static}.ct-grid{grid-template-columns:1fr}table.stacked .ct-roster-row td::before{content:none}table.stacked .ct-roster-row td{display:block;text-align:left}}
/* Year-by-year tables: school links with a separate Top 7 toggle */
.ct-school-link{color:var(--ink);text-decoration:none;font-weight:bold}
.ct-school-link:hover{color:var(--green);text-decoration:underline}
.ct-open{font-size:10px;font-weight:bold;text-transform:uppercase;letter-spacing:.05em;padding:3px 7px;border-radius:999px;background:var(--accent,#e6f396);color:#142d28;text-decoration:none;white-space:nowrap;vertical-align:1px}
.ct-open[aria-expanded=true]{background:var(--ink);color:#fff}
.ct-links{display:flex;flex-wrap:wrap;gap:6px 18px;margin:10px 0 0}
.ct-links .ct-all,.ct-links .ct-school-link{margin:0;font-size:13px;font-weight:bold;color:var(--green)}
.co-year-note{display:block;margin-top:3px;font-size:11px;font-weight:500;color:var(--muted);white-space:normal;text-transform:none;letter-spacing:0}
.co-year-note a{color:var(--green);font-weight:bold}
/* SuffolkTF championships */
.tf-reign li{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto}
.tf-reign .co-cls a{color:var(--muted);text-decoration:none}.tf-reign .co-cls a:hover{text-decoration:underline}
.co-yr{font-style:normal;font-size:12px;color:var(--muted)}
.tf-leaders li small{display:block;font-size:11px;color:var(--muted);white-space:normal}
.tf-group{margin:22px 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.tf-comp{border:1px solid var(--line);border-radius:12px;background:#fff;margin:0 0 10px}
.tf-comp summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;padding:14px 18px}
.tf-comp summary::-webkit-details-marker{display:none}
.tf-comp summary::before{content:'+';font-weight:bold;color:var(--green);width:12px}
.tf-comp[open] summary::before{content:'–'}
.tf-comp summary b{font-size:16px}.tf-comp summary span{font-size:13px;color:var(--muted)}
.tf-comp .co-scroll{padding:0 18px 12px}
.tf-years td small{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:4px}
.tf-years th[scope=row]{white-space:nowrap}
.tf-links{white-space:nowrap;font-size:12px}.tf-links a{color:var(--green);font-weight:bold;margin-right:8px}
.tf-src{display:inline-block;margin-left:4px;font-size:9px;font-weight:bold;text-transform:uppercase;letter-spacing:.05em;padding:1px 5px;border-radius:999px;background:#eef1f4;color:var(--muted);vertical-align:2px}
.tf-note-cell{color:var(--muted);font-style:italic}
.tf-sheet-links{list-style:none;margin:12px 0 0;padding:0;font-size:13px}.tf-sheet-links a{color:var(--green);font-weight:bold}
.tf-years td small{display:inline!important;margin-top:0!important}
.tf-reign li{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 92px}
.tf-reign li>:last-child{justify-self:end}
/* SuffolkTF county champions by year */
.tf-cc td{white-space:normal;min-width:260px}
.tf-cc th[scope=row] .tf-links{display:block;margin-top:4px}
.tf-ev{list-style:none;margin:0;padding:0}
.tf-ev li{padding:3px 0;font-size:13.5px;line-height:1.35}
.tf-ev li span{display:inline-block;min-width:110px;color:var(--muted);font-size:12px}
.tf-ev small{color:var(--muted);font-size:12px}
.tf-ev a{color:var(--ink);font-weight:bold;text-decoration:none}.tf-ev a:hover{color:var(--green);text-decoration:underline}
.tf-ev small a{font-weight:normal;color:var(--muted)}
/* SuffolkTF champion teams */
.tf-scorers li small{display:block;font-size:12px;color:var(--muted);margin-top:1px}
.tf-scorers .ct-place{color:var(--green)}
.tf-card-links{margin:10px 0 0;font-size:12px}.tf-card-links a{color:var(--green);font-weight:bold}
.tf .ct-controls{position:static}
