.nswbl-hub{--navy:#091a36;--red:#ed2742;--green:#13874b;--ink:#17233c;--muted:#68778f;font-family:inherit;color:var(--ink);max-width:1200px;margin:0 auto;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 10px 40px rgba(11,27,56,.06)}.nswbl-hub *{box-sizing:border-box}.nswbl-hub .nswbl-hero{background:radial-gradient(circle at 85% 15%,#254269,var(--navy) 65%);color:#fff;padding:62px 30px}.nswbl-hero-inner{max-width:1030px;margin:auto}.nswbl-hero .nswbl-logo{display:block;max-width:180px;height:auto;max-height:145px;object-fit:contain;margin-bottom:23px}.nswbl-eyebrow{display:block;text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:750;color:#ec3653}.nswbl-hero .nswbl-eyebrow{color:#b6cee9}.nswbl-hub h1{font-size:clamp(38px,6vw,66px);line-height:1.05;letter-spacing:-1.8px;margin:14px 0 16px;color:inherit}.nswbl-hero p{font-size:19px;color:#dce5f4;max-width:600px}.nswbl-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.nswbl-button{display:inline-block;background:var(--red);border:2px solid var(--red);color:white!important;text-decoration:none!important;font-weight:750;padding:12px 20px;border-radius:7px}.nswbl-button-outline{background:transparent;color:inherit!important;border-color:currentColor}.nswbl-hero .nswbl-button-outline{color:#fff!important}.nswbl-nav{display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding:12px 20px;background:#f4f7fa;border-bottom:1px solid #e4e9f0}.nswbl-nav a{color:#132544;text-decoration:none;padding:8px 12px;font-weight:700;font-size:13px}.nswbl-nav a:hover{color:var(--red)}.nswbl-main{max-width:1100px;margin:auto;padding:28px 24px 65px}.nswbl-intro{padding:24px 0}.nswbl-intro>span{font-size:12px;font-weight:800;color:var(--green);letter-spacing:2px}.nswbl-intro h2{font-size:30px;margin:8px 0 18px;color:var(--navy)}.nswbl-division-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.nswbl-division-grid>div{border:1px solid #dce4ed;border-left:4px solid var(--red);padding:19px;border-radius:8px;background:#fcfdff}.nswbl-division-grid strong{font-size:17px;color:var(--navy)}.nswbl-division-grid p{margin:6px 0 0;color:var(--muted)}.nswbl-notice{padding:14px 20px;border-left:4px solid var(--green);background:#edf8f2;margin:15px 0}.nswbl-section{padding:32px 0;border-top:1px solid #e4e9f0;scroll-margin-top:40px}.nswbl-section h2{font-size:30px;color:var(--navy);margin:0 0 18px}.nswbl-section h3{font-size:20px;color:var(--navy);margin:20px 0 12px}.nswbl-empty{color:var(--muted);background:#f5f7fb;padding:18px 20px;border-radius:8px}.nswbl-table-wrap{overflow-x:auto}.nswbl-hub table{width:100%;border-collapse:collapse;font-size:14px}.nswbl-hub th{background:#0c2346;color:white;text-align:left;padding:12px;white-space:nowrap}.nswbl-hub td{padding:12px;border-bottom:1px solid #e5eaf0}.nswbl-hub tbody tr:nth-child(even){background:#f7f9fc}.nswbl-game-list{display:grid;gap:12px}.nswbl-game{display:grid;grid-template-columns:minmax(160px,1fr) minmax(170px,2fr) minmax(80px,auto);align-items:center;gap:14px;padding:17px;border:1px solid #e3e9f0;border-radius:10px}.nswbl-game-date{font-weight:700}.nswbl-game-date small{display:block;color:var(--muted);font-weight:400}.nswbl-matchup{display:flex;align-items:center;gap:11px;flex-wrap:wrap}.nswbl-vs{font-size:12px;color:var(--muted)}.nswbl-game-score{font-weight:850;color:var(--red);text-align:right}.nswbl-location{grid-column:1/-1;color:var(--muted);font-size:13px}.nswbl-roster-grid,.nswbl-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.nswbl-roster,.nswbl-feature,.nswbl-recap{border:1px solid #e2e8ef;border-radius:10px;padding:19px;background:#fff}.nswbl-roster h4{font-size:19px;margin:0 0 12px;color:var(--navy)}.nswbl-roster ul{list-style:none!important;padding:0!important;margin:0!important}.nswbl-roster li{padding:6px 0;border-top:1px solid #edf0f5}.nswbl-roster li span{color:var(--muted);font-weight:700}.nswbl-feature img{width:100%;height:auto;object-fit:cover;border-radius:7px;margin-bottom:15px}.nswbl-feature h3{margin:8px 0}.nswbl-muted{color:var(--muted)}.nswbl-recaps{display:grid;gap:14px}.nswbl-recap h3{margin:8px 0 12px}.nswbl-video iframe{width:100%;max-width:100%;aspect-ratio:16/9;height:auto}.nswbl-footer{text-align:center;background:var(--navy);color:#d8e4f2;padding:22px;font-size:13px}.nswbl-single .nswbl-main{padding-top:12px}@media(max-width:700px){.nswbl-hub .nswbl-hero{padding:38px 20px}.nswbl-main{padding:18px 15px 36px}.nswbl-nav{padding:8px}.nswbl-nav a{padding:7px 8px}.nswbl-division-grid{grid-template-columns:1fr}.nswbl-game{grid-template-columns:1fr auto}.nswbl-matchup{grid-column:1;grid-row:2}.nswbl-game-score{grid-column:2;grid-row:2}.nswbl-section h2{font-size:25px}}

/* 0.2: league crest + weekly landing */
.nswbl-hub .nswbl-hero{padding:42px 34px;background:radial-gradient(circle at 52% 25%,#1b335e,#091a36 70%)}
.nswbl-hero-inner{display:grid;grid-template-columns:minmax(190px,330px) 1fr;align-items:center;gap:40px}
.nswbl-hero .nswbl-logo{width:100%;max-width:330px;max-height:370px;margin:0;object-fit:contain}
.nswbl-hero-copy h1{font-size:clamp(33px,4.8vw,57px)}
.nswbl-nav a[aria-current=page]{color:#b3132d;background:#fff;border-radius:6px}
.nswbl-weekly{padding:26px 0;border-top:1px solid #e1e8f1}
.nswbl-weekly-header h2,.nswbl-prev-recap h2{font-size:30px;color:#091a36;margin:8px 0}
.nswbl-weekly-header p{color:#68778f}
.nswbl-week-switch{display:flex;gap:7px;overflow-x:auto;padding:12px 0 20px}
.nswbl-week-switch a{flex:0 0 auto;padding:8px 12px;border-radius:20px;border:1px solid #d9e2ed;color:#132544;text-decoration:none;font-size:13px;font-weight:700}
.nswbl-week-switch a[aria-current=page]{background:#091a36;color:#fff;border-color:#091a36}
.nswbl-week-division{margin:18px 0 30px}
.nswbl-week-division h3{display:flex;justify-content:space-between;align-items:baseline;gap:12px;color:#091a36;margin-bottom:15px;font-size:22px}
.nswbl-week-division h3 small{font-size:12px;font-weight:500;color:#68778f}
.nswbl-week-games{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.nswbl-week-card{border:1px solid #dee7ef;background:#fbfcfe;border-radius:12px;padding:18px}
.nswbl-week-card-date{color:#117849;font-weight:800;font-size:13px}
.nswbl-week-card-teams{color:#091a36;font-weight:800;font-size:17px;margin:10px 0}
.nswbl-week-card-teams span{font-weight:400;color:#748199;font-size:12px}
.nswbl-week-card-score{color:#de243f;font-weight:800}
.nswbl-week-card small{display:block;color:#68778f;margin-top:8px}
.nswbl-prev-recap{padding:30px 0;border-top:1px solid #e1e8f1}
.nswbl-prev-recap .nswbl-recap{margin:15px 0}
.nswbl-div-title{margin:25px 0;color:#091a36}
@media(max-width:750px){.nswbl-hero-inner{grid-template-columns:1fr;gap:12px;text-align:center}.nswbl-hero .nswbl-logo{max-width:220px;max-height:230px;margin:0 auto}.nswbl-hero .nswbl-actions{justify-content:center}.nswbl-week-games{grid-template-columns:1fr}}

/* v0.3 registration and weekly recognition */
.nswbl-registration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.nswbl-registration-card{background:#fbfcfe;border:1px solid #dce5ee;border-radius:12px;padding:24px}
.nswbl-registration-card h3{margin:8px 0 4px!important}
.nswbl-price{font-size:32px;line-height:1.2;font-weight:850;color:#091a36;margin:10px 0}
.nswbl-price small{font-size:14px;font-weight:500;color:#68778f}
.nswbl-registration-card form{display:grid;gap:14px;margin-top:18px}
.nswbl-registration-card label{display:grid;gap:6px;font-weight:700;font-size:14px;color:#263852}
.nswbl-registration-card input:not([type=checkbox]),.nswbl-registration-card select,.nswbl-registration-card textarea{width:100%;max-width:100%;border:1px solid #bdcbdc;border-radius:6px;background:#fff;padding:10px 12px;font:inherit;font-weight:400;color:#10213c}
.nswbl-registration-card fieldset{border:1px solid #d9e2ec;padding:12px;border-radius:8px}
.nswbl-registration-card legend{font-weight:750;padding:0 5px}
.nswbl-registration-card fieldset p{font-size:13px;color:#68778f;margin:0 0 10px}
.nswbl-registration-card label.nswbl-check{display:flex;gap:10px;align-items:flex-start;line-height:1.5;font-size:13px}
.nswbl-registration-card .nswbl-check input{width:auto;margin-top:4px}
.nswbl-registration-card button{cursor:pointer;font:inherit;text-align:center}
.nswbl-registration-card label.nswbl-hp{position:absolute;left:-99999px;width:1px;height:1px;overflow:hidden}
.nswbl-form-notice,.nswbl-form-error{padding:14px 17px;border-radius:8px;margin:15px 0}
.nswbl-form-notice{background:#e8f7ed;border-left:4px solid #13874b}.nswbl-form-error{background:#fff0f1;border-left:4px solid #ed2742}
.nswbl-weekly-awards{padding:24px 0 0;border-top:1px solid #e4e9f0;margin-top:25px}.nswbl-weekly-awards h3{color:#091a36}
.nswbl-video-link a{color:#0e6e43;font-weight:750}
@media(max-width:750px){.nswbl-registration-grid{grid-template-columns:1fr}.nswbl-registration-card{padding:18px}}
