:root{--dark: #303841;--green: #13aa52;--green-dark: #0f8f43;--stripe: #E7E9EB;--bg: #ffffff;--surface: #f8f9fa;--border: #e2e4e7;--text: #1c1c1e;--muted: #6b7280;--serif: "Playfair Display", serif;--sans: "Catamaran", sans-serif;--r: 8px;--r-lg: 12px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 16px rgba(0,0,0,.1);--max: 1100px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--sans);color:var(--text);background:var(--bg);line-height:1.6}.banner{width:100%;line-height:0;background:var(--dark)}.banner img{width:100%;height:auto;display:block}#nav{position:sticky;top:0;z-index:100;background:var(--dark);box-shadow:0 2px 10px #0000004d;width:100%}#nav ul{max-width:var(--max);margin:0 auto;padding:0 20px;list-style:none;display:flex;align-items:center;gap:2px}#nav li{display:flex}#nav li.right{margin-left:auto}#nav a{display:block;color:#ffffffd9;text-decoration:none;padding:14px 18px;font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:.2px;transition:background .15s,color .15s;white-space:nowrap}#nav a:hover,#nav a:focus{color:#fff;background:#ffffff1f;outline:none}#nav li.right a{background:var(--green);color:#fff;border-radius:20px;padding:8px 20px;font-size:14px;margin:8px 0}#nav li.right a:hover{background:var(--green-dark)}.content{max-width:var(--max);margin:0 auto;padding:0 24px}.section{padding:56px 0;border-bottom:1px solid var(--border)}.section:last-child{border-bottom:none;padding-bottom:72px}h1{font-family:var(--serif);font-size:clamp(26px,3.5vw,38px);font-weight:700;color:var(--dark);margin-bottom:24px;letter-spacing:-.4px}h2{font-family:var(--sans);font-size:12px;font-weight:700;color:var(--muted);margin:36px 0 12px;padding:0;text-transform:uppercase;letter-spacing:1.2px}.table-wrap{overflow-x:auto;border-radius:var(--r-lg);box-shadow:var(--shadow-md);border:1px solid var(--border)}table{font-family:var(--sans);border-collapse:collapse;width:100%;font-size:14px}thead{background:var(--dark);color:#fff}thead td,thead th{padding:14px 12px;font-weight:700;font-size:12px;letter-spacing:.6px;text-transform:uppercase;border:none;white-space:nowrap}tbody td{padding:11px 12px;border:none;border-bottom:1px solid var(--border);vertical-align:middle}.ws-table-all tbody tr:nth-child(2n){background:var(--stripe)}.ws-table-all tbody tr:hover{background:#e8f5ed;transition:background .12s}.ws-table-all tbody tr:last-child td{border-bottom:none}.winner{font-weight:700}.mid{font-family:var(--sans);font-size:10px;font-weight:600;color:var(--muted);background:var(--stripe);padding:1px 6px;border-radius:4px;margin-left:4px}.clearfix{display:flex;justify-content:space-between;align-items:center;padding:3px 0;gap:6px}.clearfix:after{display:none;content:none}.clearfix>div{float:none;font-size:12px;font-weight:700;color:var(--green);white-space:nowrap;padding-bottom:0;flex-shrink:0}td>.clearfix~.clearfix{border-top:1px dashed var(--border);margin-top:4px;padding-top:6px}td>div:empty{display:none}.championship-divider td,.cancelled-row td{background:var(--dark);color:#ffffffe6;text-align:center;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:10px;border:none}.cancelled-row td{background:var(--surface);color:var(--muted);font-style:italic;text-transform:none;letter-spacing:0;font-weight:400}.championship-divider:hover td,.championship-divider:nth-child(2n) td{background:var(--dark)}.cancelled-row:hover td,.cancelled-row:nth-child(2n) td{background:var(--surface)}.newsletter-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin-top:8px;list-style:none}.newsletter-list a{display:flex;align-items:center;gap:10px;padding:13px 16px;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--green);border-radius:var(--r);color:var(--text);text-decoration:none;font-size:14px;font-weight:600;line-height:1.3;transition:all .15s}.newsletter-list a:before{content:"→";color:var(--green);font-size:16px;flex-shrink:0}.newsletter-list a:hover{background:#e8f5ed;border-color:var(--green);transform:translate(2px)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-top:12px}.photo-card{border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-sm);background:var(--surface);border:1px solid var(--border);transition:transform .2s,box-shadow .2s}.photo-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.photo-card a{display:block;text-decoration:none;color:var(--text)}.photo-card img{width:100%;height:140px;object-fit:cover;display:block}.photo-card .caption{padding:10px 12px;font-size:13px;font-weight:600;line-height:1.4}.photo-card .no-photo{padding:10px 12px;font-size:13px;color:var(--muted);font-style:italic}.mascot-strip{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.mascot-strip img{height:200px;width:auto;border-radius:var(--r);object-fit:cover;box-shadow:var(--shadow-sm);transition:transform .2s}.mascot-strip img:hover{transform:scale(1.03)}.gallery-banner{width:100%;line-height:0;background:var(--dark)}.gallery-banner img{width:100%;height:auto;display:block}.gallery-nav{background:var(--dark);box-shadow:0 2px 10px #0000004d;padding:0 24px}.gallery-nav-inner{max-width:860px;margin:0 auto;padding:12px 0}.back-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:var(--r);color:#ffffffe6;text-decoration:none;font-family:var(--sans);font-size:14px;font-weight:600;transition:all .15s}.back-btn:hover{background:#fff3;color:#fff}.gallery-content{max-width:860px;margin:0 auto;padding:48px 24px 72px}.gallery-content h1{margin-bottom:36px}.gallery-photos{display:flex;flex-direction:column;gap:52px}.gallery-photo img{width:100%;height:auto;display:block;border-radius:var(--r);box-shadow:var(--shadow-md)}.gallery-photo p{font-family:var(--sans);font-size:15px;color:var(--muted);margin-top:12px;line-height:1.5}a,a:visited{color:var(--text)}@media(max-width:700px){.content{padding:0 16px}.section{padding:40px 0}#nav ul{flex-wrap:wrap;gap:0;padding:0 8px}#nav a{padding:11px 12px;font-size:14px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.mascot-strip img{height:140px}h1{margin-bottom:18px}.gallery-content{padding:32px 16px 48px}.gallery-nav{padding:0 16px}}
