:root{--green:#0b5b3b;--dark-green:#073e2a;--navy:#102c45;--gold:#d4af37;--ink:#193346;--muted:#5b6d78;--line:#dce4df;--paper:#fff;--canvas:#f4f5f0;--radius:16px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--canvas);font-size:16px}
*{box-sizing:border-box}body{margin:0}a{color:var(--green);text-underline-offset:3px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #c29516;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--navy)}p{line-height:1.6}h2{font-size:1.9rem;line-height:1.2;letter-spacing:-.04em}h3{font-size:1.2rem;line-height:1.3}small{line-height:1.45}.skip-link{position:fixed;top:-100px;left:12px;z-index:30;padding:12px;background:white}.skip-link:focus{top:12px}
.planner-header{background:var(--green);border-bottom:4px solid var(--gold);color:white;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px clamp(20px,3vw,48px)}.planner-brand{color:white;text-decoration:none}.planner-brand strong{display:block;font-size:1.45rem;letter-spacing:-.04em}.planner-brand span{display:block;font-size:.8rem;margin-top:4px;color:#e0eadd}.planner-header nav{display:flex;align-items:center;flex-wrap:wrap;gap:22px}.planner-header nav a{color:white;font-size:.9rem;font-weight:650;text-decoration:none}.planner-header .ticket-link{background:var(--gold);color:var(--dark-green);padding:12px 18px;border-radius:9px}
.planner-layout{display:grid;grid-template-columns:220px minmax(0,1fr);max-width:1640px;margin:auto}.planner-sidebar{border-right:1px solid var(--line);padding:30px 18px;align-self:start;position:sticky;top:0;max-height:100vh;overflow:auto}.sidebar-label,.eyebrow{font-size:.68rem;font-weight:800;letter-spacing:.14em;color:var(--green)}.sidebar-label{margin:0 10px 12px}.workspace-nav{display:grid;gap:4px}.workspace-nav button{display:flex;align-items:center;gap:12px;background:none;border:0;text-align:left;min-height:48px;color:var(--muted);padding:10px;border-radius:9px;font-size:.9rem;font-weight:650}.workspace-nav button span{font-size:.72rem;color:#78877e}.workspace-nav button[aria-current]{background:var(--green);color:white}.workspace-nav button[aria-current] span{color:var(--gold)}.workspace-nav button:hover:not([aria-current]){background:#e5ebe4}.season-label{margin-top:32px}.season-list{display:grid;gap:6px}.season-list button{position:relative;display:block;width:100%;min-height:54px;text-align:left;border:1px solid transparent;border-radius:9px;background:none;padding:9px 10px}.season-list button strong{display:block;font-size:.82rem}.season-list button small{display:block;margin-top:3px;color:var(--muted);font-size:.7rem}.season-list button[aria-current]{border-color:#b3c9b9;background:white;box-shadow:inset 3px 0 0 var(--gold)}.season-saved{position:absolute;right:8px;top:12px;color:var(--green);font-size:.68rem}.sidebar-schedule{display:block;margin:14px 10px;font-size:.78rem;font-weight:650}.save-box{border-top:1px solid var(--line);margin:28px 10px 0;padding-top:18px;font-size:.76rem}.save-dot{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;margin-right:5px}.save-box p{color:var(--muted);margin:6px 0 0;font-size:.72rem}.is-storage-warning{color:#943411!important}
.workspace{min-width:0;padding:30px clamp(20px,3vw,44px) 56px}.game-ribbon{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:28px}.game-ribbon h1{font-size:clamp(1.5rem,2.3vw,2.25rem);line-height:1.2;letter-spacing:-.04em;margin:7px 0}.game-ribbon p{color:var(--muted);margin:0;font-size:.87rem}.game-select{flex:0 0 225px}.game-select>span{font-size:.73rem;font-weight:750;display:block;margin-bottom:6px}.game-select select{width:100%;background:white;border:1px solid #bdcec3;border-radius:9px;padding:11px;font-size:.85rem;color:var(--ink)}.workspace-columns{display:grid;grid-template-columns:minmax(0,1fr) 268px;gap:26px;align-items:start}.workspace-panels{min-width:0}.panel-heading{margin-bottom:22px}.panel-heading h2{margin:8px 0 10px}.panel-heading p{color:var(--muted);max-width:620px;margin:0;font-size:.95rem}.surface,.resource-card,.rail-card,.print-plan{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:20px}.welcome-card{overflow:hidden;background:white;border:1px solid var(--line);border-radius:var(--radius);display:grid;grid-template-columns:38% 1fr;margin-bottom:20px}.welcome-card img{width:100%;height:100%;object-fit:cover;min-height:290px}.welcome-card>div{padding:26px}.welcome-card h3{font-size:1.5rem;margin:9px 0 12px}.welcome-card p{font-size:.9rem;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;min-height:46px;border:1px solid transparent;border-radius:9px;font-weight:750;font-size:.85rem;text-decoration:none;text-align:center}.primary{background:var(--green);color:white}.primary:hover{background:var(--dark-green)}.secondary{background:#f9fbf8;border-color:#c9d8cd;color:var(--green)}.full-width{width:100%}.quick-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px}.quick-cards button{border:1px solid var(--line);border-radius:12px;background:white;padding:18px;text-align:left;min-height:137px}.quick-cards button:hover{border-color:var(--green)}.quick-cards span{display:block;font-size:.62rem;font-weight:800;letter-spacing:.1em;color:var(--green)}.quick-cards strong{display:block;margin:10px 0;font-size:.95rem;color:var(--navy)}.quick-cards small{display:block;font-size:.75rem;color:var(--muted)}.resource-card h3{margin:0 0 9px}.resource-card p{font-size:.9rem;color:var(--muted);margin-bottom:12px}.resource-card a{font-size:.85rem;font-weight:700}.future-card{padding:20px;border:1px dashed #b9c8bd;border-radius:12px;background:#edf1e8}.future-card h3{margin:7px 0}.future-card p{font-size:.78rem;color:var(--muted);margin:0}
.field{display:block;font-size:.83rem;font-weight:750;color:var(--navy);margin-bottom:18px}.field input,.field select,.field textarea{display:block;width:100%;min-height:48px;font-weight:400;color:var(--ink);background:#fff;border:1px solid #bccbc3;border-radius:9px;padding:12px;margin-top:7px;max-width:100%;font-size:1rem}.field textarea{resize:vertical;line-height:1.5}.field-grid,.destination-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.choice-set{min-width:0;padding:0;border:0;margin:24px 0}.choice-set:first-child{margin-top:0}.choice-set legend{font-size:1rem;font-weight:750;margin-bottom:12px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.choice-option{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:9px;padding:12px;background:#fafbf8;line-height:1.45;font-size:.85rem;cursor:pointer}.choice-option:has(input:checked){background:#eaf4ec;border-color:#75a389}.choice-option input{accent-color:var(--green);margin:3px 0;flex:none;width:17px;height:17px}.field-hint{font-size:.78rem!important;color:var(--muted);font-weight:400}.resource-links{display:flex;flex-wrap:wrap;gap:12px 22px}.standalone-links{margin:8px 0 24px;font-size:.85rem;font-weight:650}.destination-card{min-width:0;padding:21px;margin-bottom:0;display:flex;flex-direction:column}.destination-number{font-size:.7rem;font-weight:800;background:#f3e9c3;color:#71560b;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;margin-bottom:12px}.destination-detail{font-size:.79rem;color:var(--muted);margin:0 0 14px;min-height:42px;overflow-wrap:anywhere}.route-link{display:block;background:var(--green);color:white;text-decoration:none;border-radius:8px;padding:12px;font-size:.83rem;font-weight:750;margin-top:auto}.directory-link{display:block;font-size:.76rem;font-weight:650;margin-top:14px}.gameday-note{margin-top:20px}.gameday-note .field{margin-bottom:7px}.gameday-note small{color:var(--muted);font-size:.75rem}.checklist-options{grid-template-columns:1fr}.checklist-count{color:var(--green);font-size:.85rem;margin-bottom:0}.reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.review-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.plan-rail{position:sticky;top:20px}.rail-card{padding:21px}.rail-card h2{font-size:1.2rem;margin:8px 0 20px;letter-spacing:-.02em}.completion-row{display:flex;align-items:center;gap:10px}.completion-row strong{font-size:1.35rem;color:var(--green)}.completion-row span{font-size:.73rem;color:var(--muted)}.completion-track{height:5px;background:#e6ece5;border-radius:4px;margin:12px 0 20px;overflow:hidden}.completion-track span{display:block;height:100%;width:0;background:var(--gold)}.plan-rail dl{margin:0 0 20px}.plan-rail dt{font-size:.66rem;letter-spacing:.08em;font-weight:750;color:var(--muted);text-transform:uppercase;margin-top:15px}.plan-rail dd{margin:4px 0 0;font-size:.83rem;font-weight:650;overflow-wrap:anywhere}.rail-link{display:block;font-weight:700;font-size:.8rem;margin-top:14px}.rail-card p{font-size:.8rem;color:var(--muted);margin:12px 0}.weather-mini{display:flex;gap:12px;align-items:center;margin-top:14px}.weather-mini>span{font-size:2.2rem}.weather-mini strong{display:block;font-size:1.3rem;color:var(--navy)}.weather-mini small{display:block;font-size:.7rem;color:var(--muted)}.weather-card summary{cursor:pointer;font-size:.79rem;font-weight:750;padding:8px 0}.weather-card ul{font-size:.76rem;line-height:1.6;padding-left:18px}.forecast-checked{display:block;color:var(--muted);font-size:.68rem;margin-top:12px}
.print-heading{border-bottom:3px solid var(--gold);padding-bottom:18px;margin-bottom:20px}.print-heading h2{font-size:1.55rem;margin:7px 0}.print-heading p{font-size:.8rem;margin:6px 0}.print-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.print-grid section{border-bottom:1px solid var(--line);padding-bottom:14px;break-inside:avoid;min-width:0}.print-grid h3{font-size:.95rem;margin-bottom:10px}.print-grid p,.print-grid li{font-size:.82rem;line-height:1.6;overflow-wrap:anywhere}.print-grid ul{padding-left:18px;margin-bottom:0}.print-note{white-space:pre-wrap;overflow-wrap:anywhere}.print-footer{border-top:2px solid var(--gold);padding-top:16px;margin-top:20px;font-size:.73rem;color:var(--muted)}.print-footer p{margin:7px 0}.planner-footer{background:var(--dark-green);color:#e0eadd;padding:22px clamp(20px,3vw,48px);font-size:.72rem;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.planner-footer div{display:flex;gap:18px;flex-wrap:wrap}.planner-footer a{color:white}.no-script{padding:24px;text-align:center}
@media(min-width:1650px){.workspace{padding-right:48px}}@media(max-width:1250px){.planner-layout{grid-template-columns:190px minmax(0,1fr)}.workspace{padding:26px 24px}.workspace-columns{grid-template-columns:minmax(0,1fr) 230px;gap:20px}.welcome-card{grid-template-columns:1fr}.welcome-card img{height:170px;min-height:0}.quick-cards{grid-template-columns:1fr}.quick-cards button{min-height:0}.quick-cards strong{margin:6px 0}.destination-grid,.choice-grid{grid-template-columns:1fr}.game-select{flex-basis:200px}}
@media(max-width:1000px){.workspace-columns{grid-template-columns:1fr}.plan-rail{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:26px}.plan-rail .rail-card{margin:0}.plan-rail .rail-card:last-child{grid-column:1/-1}.destination-grid,.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.checklist-options{grid-template-columns:1fr}.quick-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.planner-header{align-items:flex-start;gap:18px}.planner-header nav{gap:12px;font-size:.8rem}.game-ribbon{flex-wrap:wrap}.game-select{flex:1}}
@media(max-width:720px){.planner-header{display:block;padding:16px 18px}.planner-header nav{margin-top:16px}.planner-header nav a{font-size:.8rem}.planner-header .ticket-link{padding:10px}.planner-layout{display:block}.planner-sidebar{position:static;border-right:0;padding:14px 16px 0;max-height:none;overflow:visible}.workspace-nav{display:flex;overflow:auto;padding-bottom:6px}.workspace-nav button{flex:none;min-height:44px;padding:10px;font-size:.78rem}.workspace-nav button span{display:none}.sidebar-label,.season-label,.season-list,.sidebar-schedule{display:none}.save-box{margin:12px 0 0;padding-top:10px}.save-box p{display:inline;margin-left:4px}.workspace{padding:22px 16px 32px}.game-ribbon{gap:14px;padding-bottom:18px;margin-bottom:22px}.game-select{flex-basis:100%}.field-grid,.destination-grid,.choice-grid,.quick-cards,.reference-grid,.print-grid,.plan-rail{grid-template-columns:1fr}.plan-rail .rail-card:last-child{grid-column:auto}.surface,.resource-card,.print-plan{padding:20px}.welcome-card>div{padding:22px}h2{font-size:1.65rem}.planner-footer{display:block}.planner-footer div{margin-top:15px}.review-actions>*{width:100%}}
@media print{@page{size:auto;margin:.55in}body{background:white;color:#111}.planner-header,.planner-sidebar,.game-ribbon,.plan-rail,.planner-footer,.skip-link,.no-script,noscript{display:none!important}.planner-layout,.workspace,.workspace-columns,.workspace-panels{display:block!important;margin:0!important;padding:0!important;max-width:none!important}.workspace-panel{display:none!important}.workspace-panel[data-panel="review"]{display:block!important}.workspace-panel[data-panel="review"]>:not(.print-plan){display:none!important}.print-plan{display:block!important;border:0;margin:0;padding:0;border-radius:0}.print-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.print-heading,.print-grid section{break-inside:avoid}h2,h3,a{color:#111!important}a{text-decoration:none}.print-footer{color:#333}}
