:root{font-family:Arial,Helvetica,sans-serif;color:#142f2b;background:#f5f5ee;font-synthesis:none;--green:#102f29;--muted:#66746e;--line:#d9dfd5;--lime:#d0e67e}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}a{color:inherit}button,input,select{font:inherit}button,a,input{touch-action:manipulation}
header{height:76px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:700;text-decoration:none;letter-spacing:-.8px}.brand-mark{background:var(--green);color:var(--lime);width:35px;height:35px;border-radius:50%;display:grid;place-items:center;font-size:29px}.beta{font-size:9px;letter-spacing:1px;margin-left:9px;border:1px solid #aab5a9;padding:5px 6px;border-radius:3px}.header-note{font-size:13px;color:var(--muted)}
main{max-width:1500px;margin:auto;padding:35px 36px 0}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;margin:0 0 12px}.intro h1{font-size:46px;line-height:1.1;letter-spacing:-2px;margin:0}.intro h1 span{color:#739939}.lede{font-size:15px;line-height:1.6;color:#586b61;margin:12px 0 0}
#filters{margin:24px 0 30px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:14px;align-items:end;box-shadow:0 5px 20px #14362b05}.field{min-width:0}label{display:block;font-size:12px;font-weight:bold;margin-bottom:8px;color:#566b61}
input,select,button{font-size:14px;min-height:46px;border:1px solid #cbd6ce;border-radius:6px;padding:0 12px;background:#fff;color:var(--green)}input,select{width:100%}button{cursor:pointer;font-weight:600}button:hover{background:#e9efdf}button[type=submit],#apply-filters{background:var(--green);color:white;border-color:var(--green)}button[type=submit] span{color:var(--lime)}button[type=submit]:hover,#apply-filters:hover{background:#254c3e}
input:focus,select:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8fba49;outline-offset:3px}.search-summary{grid-column:1/-1;font-size:12px;color:var(--muted);margin:0;line-height:1.5}
.results-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:18px}.results-heading .eyebrow{margin-bottom:9px;color:#607865}.results-heading h2{margin:0;font-size:24px;letter-spacing:-.6px}#freshness{margin:0;font-size:11px;color:var(--muted);max-width:270px;line-height:1.6;text-align:right}.schedule-note{font-size:12px;color:var(--muted);line-height:1.5;padding-bottom:12px;border-bottom:1px solid var(--line)}
.notice,#error,#filter-error{padding:12px 15px;background:#f3ead5;border:1px solid #e2d4aa;border-radius:6px;font-size:12px;line-height:1.5}.notice{margin:8px 0}.empty{padding:25px 8px;color:var(--muted);font-size:14px;line-height:1.6}.results[aria-busy=true]{opacity:.65}
#date-strip{display:flex;gap:8px;overflow:auto;padding:5px 3px 14px;margin-bottom:8px}#date-strip button{flex-shrink:0;min-height:40px;font-size:12px}#date-strip button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:var(--lime)}
.discovery-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;align-items:start}.map-panel{position:sticky;top:16px;min-width:0}#map{height:480px;min-height:280px;border:1px solid #b5c5b1;border-radius:12px;background:#e1e9d9;isolation:isolate;z-index:0}.map-toolbar{display:flex;gap:8px;margin-top:10px}.map-toolbar button{flex:1;font-size:12px;min-width:0}#area-summary{font-size:12px;line-height:1.6;color:var(--muted);margin:10px 0}
.stadium-marker{display:grid;place-items:center;background:var(--green);border:3px solid #fff;border-radius:50%;box-shadow:0 2px 8px #12392a55;color:white;font-size:13px;font-weight:bold}.stadium-marker.selected{background:#d0e67e;color:#102f29;border-color:#294b32;box-shadow:0 0 0 4px #d0e67e66}.leaflet-container a{color:#234e37}.leaflet-container .leaflet-control-attribution{font-size:10px;background:#fffffff0}.map-choices{display:grid;gap:8px;max-height:220px;overflow:auto}.map-choices button{font-size:12px;text-align:left;padding:8px;line-height:1.4}.map-choices button[aria-pressed=true]{background:#e5f0ce}.leaflet-popup-content{margin:16px}
.list-panel{min-width:0}#toggle-list{width:100%;text-align:center;background:#e7eddf;border-color:#bccbb4}.day-heading{font-size:13px;margin:22px 0 12px;font-weight:600;color:#516958}.fixture{background:white;border:1px solid var(--line);border-radius:9px;padding:18px;display:flex;gap:15px;align-items:start;flex-wrap:wrap;margin-bottom:10px}.fixture.selected{border:2px solid #517a36;padding:17px;background:#f9fced}.fixture-time{width:76px;flex-shrink:0;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px;padding-top:6px}.fixture-time strong{font-size:22px;letter-spacing:-.6px}.fixture-time span{font-size:9px;color:var(--muted)}.fixture-content{flex:1;min-width:0}.league-label{font-size:10px;color:#69816e;margin:0 0 3px}.fixture h4{margin:0 0 6px;line-height:1.4;letter-spacing:-.3px}.fixture-select{border:0;text-align:left;min-height:44px;background:transparent;padding:0;font-size:15px;font-weight:700;line-height:1.4;width:100%}.fixture-select:hover{text-decoration:underline;background:transparent}.venue{font-size:12px;color:var(--muted);margin:0;line-height:1.5}.fixture-aside{display:flex;align-items:center;justify-content:space-between;width:100%;padding-left:91px;gap:10px}.badge{font-size:10px;background:#f6efd7;color:#7c661a;padding:6px 9px;border-radius:4px}.fixture-aside a{font-size:11px;color:#526958;padding:8px 0}.changed{font-size:11px;color:#84511f;margin:8px 0 0;line-height:1.5}
#fixture-detail{padding:22px;background:#fff;border:1px solid #bccbb4;border-radius:10px;margin-top:18px}#fixture-detail h2{font-size:20px;line-height:1.3;margin:0 0 16px}#fixture-detail p{font-size:13px;line-height:1.6}#fixture-detail a{display:inline-block;min-height:44px;padding:12px 0;font-weight:700;font-size:14px}.hint{color:var(--muted);font-size:12px;line-height:1.6}
dialog{border:1px solid var(--line);border-radius:14px;padding:26px;width:min(460px,90vw);max-height:88dvh;overflow-y:auto;color:var(--green);box-shadow:0 20px 90px #102f2955}dialog::backdrop{background:#102f2977}.dialog-heading{display:flex;gap:15px;align-items:center;justify-content:space-between;margin-bottom:22px}.dialog-heading h2{font-size:22px;margin:0}.dialog-heading button{width:46px}.location-field{margin-bottom:18px}fieldset{border:0;padding:0;margin:24px 0}legend{font-size:14px;font-weight:bold;margin-bottom:14px}fieldset label{display:flex;align-items:center;gap:12px;min-height:42px;margin:0;font-size:14px}input[type=checkbox]{width:20px;min-height:20px;height:20px;accent-color:var(--green)}#apply-filters{width:100%;margin-top:12px}#place-options{border:1px solid #cbd6ce;max-height:220px;overflow-y:auto;margin-top:6px;border-radius:6px}#place-options button{width:100%;border:0;border-radius:0;text-align:left;font-size:13px;font-weight:400;min-height:44px}#place-error{font-size:12px;line-height:1.5}.attribution{font-size:11px;color:var(--muted);margin:18px 0 0}
footer{border-top:1px solid var(--line);padding:28px 0;margin-top:42px;display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:11px}
.search-modes{display:flex;gap:8px;margin-top:24px}.search-modes button[aria-pressed=true]{background:var(--green);color:var(--lime)}
.search-modes{flex-wrap:wrap}#must-see{background:#eaf0df;border:1px solid #bbcba9;border-radius:12px;padding:22px;margin-top:22px}#must-see h2{font-size:16px;margin:0 0 12px}#requirement-summary h3{font-size:20px;margin:0 0 10px}#requirement-summary p,#requirement-status p{font-size:13px;line-height:1.6}.requirement-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.requirement-actions button{font-size:12px}.requirement-met{color:#31542b;font-weight:bold}.required-fixture{font-size:12px;font-weight:bold;line-height:1.6;color:#385f2c}#anchor-picker{width:min(680px,92vw)}#anchor-lookup{display:grid;gap:16px}.anchor-date-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}#anchor-lookup-status,#anchor-lookup-error{font-size:13px;line-height:1.6}#anchor-lookup-error{color:#84511f}.anchor-option{border:1px solid var(--line);border-radius:8px;padding:18px;margin:12px 0}.anchor-option h3{font-size:16px;margin:0 0 10px}.anchor-option p{font-size:12px;line-height:1.6}.anchor-option button{width:100%}#replace-description{font-size:15px;line-height:1.6}
#flexible-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;margin:22px 0 30px;max-width:850px}.planning-explanation{grid-column:1/-1;margin:0}#planning-results[aria-busy=true]{opacity:.65}#planning-error{padding:15px;background:#f3ead5;border:1px solid #e2d4aa;border-radius:6px;margin-bottom:20px;font-size:14px}#planning-summary{max-width:850px}#planning-adjustments{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}#planning-adjustments p{width:100%;margin:0}#candidates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.candidate{border:1px solid var(--line);border-radius:12px;background:#fff;padding:24px}.candidate-heading{display:flex;justify-content:space-between;gap:12px;align-items:start;flex-wrap:wrap}.candidate h3{font-size:19px;letter-spacing:-.4px;line-height:1.4;margin:0}.duration{font-size:12px;background:#e9efdf;border-radius:4px;padding:7px;white-space:nowrap}.opportunity-count{font-size:21px;font-weight:700;margin:22px 0 8px}.opportunity-breakdown{font-size:14px;margin:0 0 16px;color:#566b61}.certainty{font-size:12px;line-height:1.5;background:#edf3df;padding:10px;border-radius:5px}.tentative{background:#f8f0d8;color:#715c18}.shortfall{font-size:14px;font-weight:bold;color:#84511f}.candidate details{border-top:1px solid var(--line);margin:18px 0 16px;font-size:13px;line-height:1.6}.candidate summary{cursor:pointer;min-height:46px;padding-top:12px;font-weight:600}.candidate h4{font-size:13px;margin:18px 0 8px}.candidate ul{padding-left:18px}.candidate li{margin:10px 0}.choose-candidate{width:100%;background:var(--green);color:white}.choose-candidate:hover{background:#254c3e}#more-candidates{margin-top:22px}
@media(max-width:800px){header{height:66px;padding:0 20px}.brand{font-size:18px}.beta{font-size:8px;margin-left:4px}.header-note{display:none}main{padding:28px 18px 0}.intro h1{font-size:36px;letter-spacing:-1.6px;max-width:290px}.lede{font-size:14px;max-width:340px}.discovery-layout{display:flex;flex-direction:column;gap:20px}.map-panel{position:static;width:100%}#map{height:340px}.list-panel{width:100%}#filters{grid-template-columns:1fr 1fr;gap:14px 10px;padding:14px;margin:22px 0 26px}input,select{font-size:16px;min-width:0;padding:0 8px}.results-heading{align-items:start;flex-direction:column;gap:10px}#freshness{text-align:left;max-width:100%}.results-heading h2{font-size:23px}.fixture{padding:16px 14px;gap:13px}.fixture.selected{padding:15px 13px}.fixture-time{width:70px}.fixture-aside{padding-left:83px}.fixture-time strong{font-size:21px}.day-heading{line-height:1.5}dialog{margin:auto 0 0;width:100%;max-width:100%;max-height:88dvh;border-radius:18px 18px 0 0;padding:24px 20px}footer{flex-direction:column;margin-top:38px;font-size:10px}}
@media(max-width:800px){.search-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.search-modes button{font-size:12px;padding:0 8px}#flexible-form{gap:18px 10px;padding:16px 14px}#flexible-form label{font-size:11px;line-height:1.4}#candidates{grid-template-columns:1fr}.candidate{padding:20px 18px}.candidate h3{font-size:18px}.opportunity-count{font-size:20px}#planning-adjustments button{width:100%}}
@media(max-width:800px){.requirement-actions button{flex:1;min-width:135px}#anchor-picker{width:100%}#must-see{padding:20px 16px}}
#team-picker{width:min(680px,92vw)}#club-lookup{display:grid;gap:16px}#club-lookup-status,#club-lookup-error{font-size:13px;line-height:1.6}#club-lookup-error{color:#84511f}.home-options{font-size:13px;line-height:1.6;margin:18px 0}.home-options summary{cursor:pointer;font-weight:bold;min-height:44px;padding:10px 0}.home-options ul{padding-left:20px;max-height:300px;overflow:auto}.home-options li{padding:10px 0}.home-options li p{margin:6px 0}#requirement-status button{margin:8px 8px 0 0}
@media(max-width:800px){#team-picker{width:100%}}
header{gap:16px}#open-trip{white-space:nowrap;font-size:13px}.trip-browsing{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px;display:flex;gap:10px 18px;align-items:center;flex-wrap:wrap}.trip-browsing p{margin:0;flex:1;min-width:200px}.trip-browsing p:last-child{flex-basis:100%}.trip-browsing button{font-size:12px}.trip-action{width:100%;font-size:12px;background:#eaf0df}.trip-action[aria-pressed=true]{background:var(--green);color:white}.trip-feedback{font-size:13px;line-height:1.6;padding:14px 18px;background:#eaf0df;border:1px solid var(--line);border-radius:8px}#my-trip{width:min(760px,92vw)}#trip-dates-summary{font-size:16px;line-height:1.6}#trip-counts{font-size:24px;font-weight:700;letter-spacing:-.5px}#trip-date-editor{border-block:1px solid var(--line);margin:18px 0}#trip-date-editor summary{cursor:pointer;padding:16px 0;font-size:14px;font-weight:bold;min-height:46px}#trip-dates-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:4px 0 18px}#trip-dates-form button,#trip-dates-form p{grid-column:1/-1;margin:0}#trip-date-error{color:#84511f;font-size:13px;line-height:1.6}.trip-fixture{border:1px solid var(--line);border-radius:9px;padding:20px;margin:14px 0;background:#fafbf6}.trip-fixture h3{font-size:17px;line-height:1.4;margin:0 0 12px}.trip-fixture p{font-size:13px;line-height:1.6;margin:8px 0}.trip-fixture a{display:block;min-height:44px;padding:12px 0;font-size:13px}.trip-fixture button{width:100%;margin-top:10px;font-size:13px}#fixture-detail .trip-action{margin:8px 0 16px}
@media(max-width:800px){header .beta{display:none}.brand{white-space:nowrap}#open-trip{font-size:12px;padding:0 9px}#my-trip{width:100%}.trip-browsing{display:block}.trip-browsing button{width:100%;margin:10px 0}.trip-fixture{padding:18px 16px}#trip-counts{font-size:23px}}
.trip-sharing{border-block:1px solid var(--line);padding:18px 0;margin:20px 0}.trip-sharing h3{font-size:17px;margin:0}.share-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:12px}.share-actions a{font-size:13px;padding:14px 0}.shared-trip{max-width:1000px}.shared-summary{padding:24px;background:#eaf0df;border:1px solid var(--line);border-radius:10px;margin:26px 0 18px}.shared-summary h2{font-size:25px;line-height:1.4;margin:0}.shared-summary p:last-child{font-size:16px;line-height:1.6;margin-bottom:0}#shared-fixtures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}#shared-fixtures .trip-fixture{margin:0;overflow-wrap:anywhere;background:white}.shared-trip .intro h1{max-width:none}#refresh-shared{font-size:13px}button:disabled{opacity:.55;cursor:default}
@media(max-width:800px){#shared-fixtures{grid-template-columns:1fr}.shared-summary{padding:20px 16px}.shared-summary h2{font-size:22px}#create-share{width:100%}}
.trip-requirement{padding:18px;background:#eaf0df;border:1px solid var(--line);border-radius:8px;margin:18px 0}.trip-requirement h3{font-size:16px;line-height:1.5;margin:0 0 12px}.trip-requirement p{font-size:13px;line-height:1.6}.trip-freshness{font-size:12px;line-height:1.6;border-block:1px solid var(--line);margin:18px 0}.trip-freshness summary{cursor:pointer;padding:14px 0;min-height:46px}.schedule-changes{border-left:3px solid #b88829;padding:3px 12px;margin:14px 0;background:#f8f0df}.schedule-changes p{font-size:12px}
