/* League content styles: shared club chrome remains independently namespaced. */
:root{--ink: #0a0b0d; --panel: #15181c; --line: #30353a; --muted: #a7b1b7; --white: #eef2f0; --lime: #cdff3e;}
.league-page, .league-page *{box-sizing: border-box;}
html{scroll-behavior: smooth; scroll-padding-top: 24px;}
body{margin: 0px; background: var(--ink); color: var(--white); font: 16px / 1.65 Arial, Helvetica, sans-serif;}
.league-page a{color: inherit; text-decoration: none;}
.league-page a:hover{color: var(--lime);}
.league-page button, .league-page a{-webkit-tap-highlight-color: transparent;}
.league-page button{font: inherit; cursor: pointer;}
.league-page button:focus-visible, .league-page a:focus-visible, .league-page summary:focus-visible{outline: 3px solid var(--lime); outline-offset: 5px;}
.league-page .wrap{max-width: 1280px; margin: auto; padding-left: 40px; padding-right: 40px;}
.league-page header{max-width: 1360px; margin: auto; padding: 25px 40px; display: flex; align-items: center; justify-content: space-between; gap: 28px;}
.league-page .brand{display: flex; gap: 14px; align-items: center; font-weight: 800; font-size: 15px; line-height: 1.25; letter-spacing: 1px;}
.league-page .brand small{display: block; font-size: 10px; color: var(--muted); letter-spacing: 3px; margin-top: 5px;}
.league-page .mark{font-size: 38px; font-style: italic; color: var(--lime); line-height: 1;}
.league-page .mark span{font-size: 13px; vertical-align: top;}
.league-page nav{display: flex; gap: 30px; font-size: 13px; font-weight: bold;}
.league-page .preview{border-block: 1px solid var(--line); padding: 10px 40px; text-align: center; color: var(--lime); font-size: 11px; font-weight: 700; letter-spacing: 1.4px;}
.league-page .preview span{margin-left: 18px; color: var(--muted); font-weight: 400; letter-spacing: .2px;}
.league-page .hero{display: grid; grid-template-columns: 1.2fr 1fr; gap: 50px; align-items: center; padding-top: 76px; padding-bottom: 82px;}
.league-page .eyebrow{font: 700 11px / 1.5 monospace; letter-spacing: 2px; color: var(--lime); margin: 0px 0px 20px;}
.league-page h1, .league-page h2, .league-page h3, .league-page p{margin-top: 0px;}
.league-page h1{line-height: 1.06; letter-spacing: -2.6px; margin-bottom: 23px; font-weight: 900;}
.league-page h1 em{font-style: normal; color: var(--lime);}
.league-page .lede{color: var(--muted); font-size: 17px; max-width: 510px; line-height: 1.7;}
.league-page .button{background: var(--lime); color: var(--ink); display: inline-block; padding: 14px 20px; font-size: 13px; font-weight: 800; border: 0px; border-radius: 5px; margin-top: 14px; text-align: center;}
.league-page .button:hover{color: var(--ink); background: rgb(223, 255, 128);}
.league-page .hero figure{margin: 0px; position: relative; align-self: stretch; min-height: 410px; overflow: hidden; border-radius: 8px; background: var(--panel);}
.league-page .hero figure:after{content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0, 0, 0, 0.7), transparent 60%);}
.league-page .hero img{width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0;}
.league-page .hero figcaption{position: absolute; bottom: 25px; left: 25px; z-index: 1; font: 700 11px monospace; letter-spacing: 2px;}
.league-page .hero-stats{display: flex; gap: 36px; margin-top: 45px; border-top: 1px solid var(--line); padding-top: 24px;}
.league-page .hero-stats strong{display: block; font-size: 25px; letter-spacing: -1px;}
.league-page .hero-stats span{display: block; font: 10px monospace; letter-spacing: 1px; color: var(--muted); margin-top: 4px;}
.league-page .section-head{display: flex; justify-content: space-between; gap: 30px; align-items: end; border-bottom: 2px solid var(--line); padding-bottom: 24px;}
.league-page .section-head h2{margin-bottom: 0px;}
.league-page h2{font-size: 32px; line-height: 1.15; letter-spacing: -1px;}
.league-page .section-head>p{font-size: 12px; color: var(--muted); margin-bottom: 0px;}
.league-page .filters{display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 28px 0px;}
.league-page .filters button{border: 1px solid var(--line); border-radius: 30px; background: transparent; color: var(--white); padding: 8px 18px; font-size: 12px;}
.league-page .filters button[aria-pressed="true"]{background: var(--white); border-color: var(--white); color: var(--ink);}
.league-page .filters button span{margin-left: 6px; opacity: 0.55;}
.league-page #count{font-size: 12px; color: var(--muted); margin-left: auto;}
.league-page .grid{display: grid; grid-template-columns: repeat(3,1fr); gap: 18px;}
.league-page .league{padding: 26px; background: var(--panel); border: 1px solid var(--line); border-radius: 8px; transition: transform .16s,border-color .16s; display: flex; flex-direction: column; min-height: 290px;}
.league-page .league:hover{transform: translateY(-3px); border-color: var(--lime); color: var(--white);}
.league-page .league[hidden]{display: none;}
.league-page .card-top{display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px;}
.league-page .tag{font: 10px monospace; letter-spacing: 1px; text-transform: uppercase; color: var(--lime);}
.league-page .arrow{font-size: 23px; color: var(--muted);}
.league-page h3{font-size: 24px; line-height: 1.17; letter-spacing: -.7px; margin-bottom: 12px;}
.league-page .league>p{color: var(--muted); font-size: 12px;}
.league-page .card-bottom{margin-top: auto; padding-top: 18px; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 3px; font-size: 12px;}
.league-page .card-bottom span{color: var(--muted);}
.league-page .closing{padding-top: 85px; padding-bottom: 80px;}
.league-page .closing p:last-child{max-width: 700px; color: var(--muted); font-size: 15px;}
.league-page footer{border-top: 1px solid var(--line); max-width: 1280px; margin: auto; padding: 32px 40px; display: flex; justify-content: space-between; gap: 25px; align-items: start; font-size: 11px; color: var(--muted);}
.league-page footer p{margin: 0px;}
.league-page .brand-foot{color: var(--white); font-weight: 800; letter-spacing: 1px;}
.league-page footer a{color: var(--lime);}
.league-page .detail-hero{padding-top: 40px; padding-bottom: 36px;}
.league-page .back{display: block; color: var(--muted); font-size: 12px; margin-bottom: 38px;}
.league-page .detail-hero h1{max-width: 900px;}
.league-page .facts{display: grid; grid-template-columns: repeat(3,1fr); border-block: 1px solid var(--line); margin-top: 30px; padding-block: 24px; gap: 20px;}
.league-page .facts small{font: 10px monospace; letter-spacing: 1px; color: var(--lime); display: block; margin-bottom: 6px;}
.league-page .facts strong{display: block; font-size: 18px;}
.league-page .facts span{color: var(--muted); font-size: 12px;}
.league-page .content{display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 65px; padding-bottom: 60px;}
.league-page .copy{margin-bottom: 44px;}
.league-page .copy>p{color: var(--muted); font-size: 15px;}
.league-page .copy .eyebrow{color: var(--lime); font-size: 11px;}
.league-page .pending{padding: 23px; background: var(--panel); border-left: 3px solid var(--lime); margin-top: 26px;}
.league-page .pending h3{font-size: 18px;}
.league-page .pending p{font-size: 13px; color: var(--muted); margin-bottom: 12px;}
.league-page .pending p:last-child{margin-bottom: 0px;}
.league-page .dates{list-style: none; padding: 0px; display: grid; grid-template-columns: repeat(4,1fr); gap: 10px;}
.league-page .dates li{border: 1px solid var(--line); padding: 12px 14px; border-radius: 5px;}
.league-page .dates li span{display: block; color: var(--muted); font: 10px monospace; text-transform: uppercase; letter-spacing: 1px;}
.league-page .dates li strong{font-size: 15px;}
.league-page .dates li small{display: block; font-size: 9px; color: rgb(255, 203, 128);}
.league-page .calendar-note{border: 1px solid rgb(120, 97, 62); padding: 12px 15px; font-size: 12px !important; color: rgb(255, 203, 128) !important;}
.league-page .fine{font-size: 11px !important; color: var(--muted); line-height: 1.65;}
.league-page .price-box{background: var(--panel); padding: 26px; border: 1px solid var(--line); border-radius: 8px;}
.league-page .price-box h2{font-size: 28px;}
.league-page .price-box .eyebrow{font-size: 9px; letter-spacing: 1px;}
.league-page .price-box dl{margin: 25px 0px;}
.league-page .price-box dl div{display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); padding: 11px 0px; font-size: 14px;}
.league-page .price-box dd{font-weight: bold;}
.league-page .price-box .button{display: block; font-size: 12px; padding: 13px 10px;}
.league-page .text-button{width: 100%; border: 0px; background: none; color: var(--muted); font-size: 11px; margin-top: 16px;}
.league-page .source{padding: 25px 4px; font-size: 11px; color: var(--muted);}
.league-page .source p{margin-top: 8px;}
.league-page .source a{color: var(--lime);}
.league-page details{border-bottom: 1px solid var(--line); padding: 17px 0px;}
.league-page summary{cursor: pointer; font-weight: bold; font-size: 14px;}
.league-page details p{font-size: 13px; color: var(--muted); margin: 14px 0px 0px;}
.league-page .skip{position: absolute; left: 10px; top: -100px; background: var(--lime); color: black; padding: 10px; z-index: 10;}
.league-page .skip:focus{top: 10px;}
@media (max-width: 980px){
.league-page .grid{grid-template-columns: repeat(2,1fr);}
.league-page .hero{gap: 30px;}
.league-page h1{font-size: 46px;}
.league-page .content{gap: 30px; grid-template-columns: minmax(0,1fr) 290px;}
.league-page .dates{grid-template-columns: repeat(3,1fr);}
}
@media (max-width: 700px){
.league-page .wrap{padding-left: 22px; padding-right: 22px;}
.league-page header{padding: 20px 22px; gap: 15px;}
.league-page .brand{font-size: 11px; gap: 8px;}
.league-page .brand small{font-size: 8px;}
.league-page .mark{font-size: 30px;}
.league-page nav{gap: 12px; font-size: 10px;}
.league-page nav a:last-child{display: none;}
.league-page .preview{padding: 10px 20px; font-size: 9px;}
.league-page .preview span{display: block; margin: 3px 0px 0px; font-size: 10px;}
.league-page .hero{grid-template-columns: 1fr; padding-top: 45px; padding-bottom: 50px; gap: 32px;}
.league-page h1{font-size: 44px; letter-spacing: -2px;}
.league-page .hero figure{min-height: 260px;}
.league-page .hero-stats{gap: 28px;}
.league-page .hero-stats strong{font-size: 23px;}
.league-page .hero-stats span{font-size: 8px;}
.league-page .section-head{display: block;}
.league-page .section-head>p{margin-top: 18px;}
.league-page h2{font-size: 28px;}
.league-page .grid{grid-template-columns: 1fr;}
.league-page .league{min-height: 250px;}
.league-page .filters{gap: 6px;}
.league-page .filters button{padding: 8px 12px;}
.league-page #count{font-size: 10px;}
.league-page .closing{padding-block: 55px;}
.league-page footer{padding: 25px 22px; flex-direction: column; gap: 18px;}
.league-page .content{grid-template-columns: 1fr; gap: 0;}
.league-page .facts{grid-template-columns: 1fr; gap: 22px;}
.league-page .facts strong{font-size: 17px;}
.league-page .detail-hero h1{font-size: 40px;}
.league-page .back{margin-bottom: 30px;}
.league-page .dates{grid-template-columns: repeat(3,1fr);}
.league-page .content aside{grid-row: 1; margin-bottom: 35px;}
.league-page .copy{margin-bottom: 35px;}
.league-page .source{display: none;}
}
@media print{
@page { margin: 16mm; }
body{color: rgb(17, 17, 17); background: white; font-size: 11pt;}
.league-page header, .league-page nav, .league-page .preview, .league-page .back, .league-page footer, .league-page .button, .league-page .text-button, .league-page .filters, .league-page .hero figure, .league-page .skip{display: none;}
.league-page .wrap{padding: 0px; max-width: none;}
.league-page .detail-hero{padding: 0px;}
.league-page .detail-hero h1{font-size: 28pt; letter-spacing: -1px;}
.league-page .eyebrow, .league-page .facts small, .league-page .tag, .league-page a, .league-page .source a{color: rgb(51, 51, 51) !important;}
.league-page .content{display: block;}
.league-page .facts, .league-page .dates li{border-color: rgb(170, 170, 170);}
.league-page .facts{grid-template-columns: repeat(3,1fr);}
.league-page .content aside{margin: 0px;}
.league-page .price-box{background: white; border: 1px solid rgb(170, 170, 170); padding: 15px; break-inside: avoid;}
.league-page .price-box h2{font-size: 18pt;}
.league-page .price-box dl{display: flex; gap: 30px;}
.league-page .price-box dl div{gap: 20px;}
.league-page .pending{background: rgb(245, 245, 245); border-color: rgb(136, 136, 136); break-inside: avoid;}
.league-page p, .league-page .fine, .league-page .lede, .league-page .facts span, .league-page .pending p, .league-page .copy>p, .league-page details p, .league-page .source{color: rgb(51, 51, 51) !important;}
.league-page .copy{margin-bottom: 22px;}
.league-page .dates{grid-template-columns: repeat(4,1fr);}
.league-page .dates li{break-inside: avoid;}
.league-page details{display: none;}
.league-page .grid{grid-template-columns: repeat(2,1fr);}
.league-page .league{background: white; color: rgb(17, 17, 17); border-color: rgb(170, 170, 170); break-inside: avoid; min-height: 0;}
.league-page .hero{display: block; padding: 0px 0px 20px;}
.league-page .hero-stats{margin-top: 20px;}
.league-page h1 em{color: rgb(17, 17, 17);}
.league-page .source{display: block;}
.league-page .closing{padding-block: 20px;}
}
.league-page .description{font-size: 17px !important; line-height: 1.8 !important; color: var(--white);}
.league-page .format-heading{margin: 30px 0px 22px;}
.league-page .proposal-label{display: inline-block; font: 700 10px monospace; letter-spacing: 1px; text-transform: uppercase; border: 1px solid rgb(102, 123, 53); border-radius: 4px; color: var(--lime); padding: 4px 8px;}
.league-page .format-heading .fine{margin: 10px 0px 0px; max-width: 680px;}
.league-page .format-steps{list-style: none; counter-reset: steps; padding: 0px; margin: 0px;}
.league-page .format-steps li{counter-increment: steps; position: relative; padding: 0px 0px 25px 42px; margin-bottom: 25px; border-bottom: 1px solid var(--line); break-inside: avoid;}
.league-page .format-steps li:before{content: counter(steps,decimal-leading-zero); position: absolute; top: 1px; left: 0px; font: 12px monospace; color: var(--lime);}
.league-page .format-steps h3{font-size: 19px; letter-spacing: -.3px;}
.league-page .format-steps p{font-size: 14px; color: var(--muted); margin: 0px; line-height: 1.8;}
.league-page .absence{padding: 22px; background: var(--panel); border-left: 3px solid var(--lime); margin: 28px 0px;}
.league-page .absence h3{font-size: 19px;}
.league-page .absence p{font-size: 14px; margin: 0px;}
@media print{
.league-page .description, .league-page .format-steps p, .league-page .absence p{color: rgb(34, 34, 34) !important;}
.league-page .format-steps li:before, .league-page .proposal-label{color: rgb(34, 34, 34);}
.league-page .absence{background: rgb(246, 246, 246); border-color: rgb(136, 136, 136);}
.league-page .format-steps li{padding-bottom: 15px; margin-bottom: 15px;}
.league-page .format-steps p{font-size: 10pt;}
.league-page .format-heading{margin-top: 20px;}
}
.league-page .card-format{padding: 15px 0px 20px;}
.league-page .card-format h4{margin: 0px 0px 7px; font-size: 11px; font-weight: 700; letter-spacing: .3px; color: var(--white);}
.league-page .card-format p{margin: 0px; color: var(--muted); font-size: 12px; line-height: 1.7; overflow-wrap: break-word;}
.league-page .league{height: auto;}
.league-page .card-bottom{flex-shrink: 0;}
@media (max-width: 700px){
.league-page .card-format p{font-size: 13px;}
.league-page .card-format{padding-top: 10px;}
}
@media print{
.league-page .card-format h4, .league-page .card-format p{color: rgb(34, 34, 34);}
}
.league-page header nav{flex-wrap: wrap; row-gap: 8px;}
.league-page .grid{grid-template-columns: repeat(3,minmax(0,1fr));}
.league-page .league{min-width: 0; overflow-wrap: anywhere;}
.league-page .detail-hero h1{overflow-wrap: anywhere;}
.league-page .content, .league-page .copy, .league-page .facts>div{min-width: 0;}
.league-page .facts>div:last-child strong{font-size: 14px; line-height: 1.65;}
.league-page .public-help{font-size: 12px; color: var(--muted); padding: 23px 3px;}
.league-page .public-help p{margin-bottom: 5px;}
.league-page .public-help a{color: var(--lime);}
.league-page .dates li .session-time{display: block; font-size: 10px; color: var(--white); margin-top: 5px;}
.league-page .preview{background: rgb(32, 40, 25);}
.league-page .calendar-note{line-height: 1.7;}
@media (max-width: 980px){
.league-page .grid{grid-template-columns: repeat(2,minmax(0,1fr));}
}
@media (max-width: 700px){
.league-page header{flex-wrap: wrap;}
.league-page header nav{width: 100%; gap: 18px; font-size: 11px;}
.league-page header nav a:last-child{display: inline;}
.league-page .grid{grid-template-columns: minmax(0,1fr);}
.league-page .dates{grid-template-columns: repeat(2,minmax(0,1fr));}
.league-page .facts>div:last-child strong{font-size: 14px;}
}
.league-page .dates li .session-courts{display: block; margin-top: 6px; font-size: 10px; line-height: 1.5; color: var(--muted); overflow-wrap: anywhere;}
.league-page .skip{z-index:1001}
@media print{.gs-nav,.gs-drawer,.gs-foot,.gs-pill{display:none!important}}
