.season-card{padding:28px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 16px 44px #16345c10}.season-card__meta{display:flex;justify-content:space-between;gap:28px;align-items:end;padding-bottom:20px;border-bottom:1px solid var(--line)}.season-card__meta span{display:block;color:var(--muted);font-size:.68rem}.season-card__meta strong{display:block;color:var(--heading);font-size:1.05rem}.season-card__meta output{color:var(--brand);font-weight:850}.season-chart{display:grid;grid-template-columns:repeat(12,minmax(50px,1fr));gap:10px;align-items:end;height:310px;padding-top:28px;overflow-x:auto}.season-bar{display:grid;grid-template-rows:24px 1fr 26px;align-items:end;min-width:50px;height:100%;padding:0;border:0;background:transparent;cursor:pointer}.season-bar__value{align-self:start;color:var(--muted);font-size:.64rem;font-weight:800}.season-bar i{display:block;width:100%;height:var(--bar-height);min-height:70px;border-radius:9px 9px 3px 3px;background:linear-gradient(180deg,#65a7ff,var(--brand));box-shadow:inset 0 1px #ffffff80;transition:transform .18s ease,filter .18s ease}.season-bar b{align-self:end;color:var(--muted);font-size:.66rem}.season-bar:hover i,.season-bar:focus-visible i,.season-bar.is-active i{filter:saturate(1.2);transform:translateY(-5px)}.season-bar.is-current i{background:linear-gradient(180deg,#ffb159,var(--accent))}.season-bar.is-active b,.season-bar.is-current b{color:var(--heading)}.chart-legend{display:flex;justify-content:space-between;gap:28px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:.68rem}.chart-legend>span{display:flex;gap:8px;align-items:center}.chart-legend i{width:11px;height:11px;border-radius:3px;background:var(--brand)}@media(max-width:760px){.season-card{padding:20px 14px}.season-card__meta{display:grid;align-items:start}.season-chart{grid-template-columns:repeat(12,56px)}.chart-legend,.source-row{display:grid}}@media(prefers-reduced-motion:reduce){.season-bar i{transition:none}}.season-chart{height:270px}.season-bar i{min-height:2px}#season-chart,#routes-table,#passengers,#stations,#faq,#weather{scroll-margin-top:76px}.chart-legend small{font-size:.75rem;font-weight:600;color:#405775}.season-method{margin:16px 0 0;color:#64748b;font-size:13px;line-height:1.55}.season-card--demand{overflow:hidden}.demand-season-chart .season-bar i{min-height:2px}.demand-season-chart .season-bar:focus-visible{outline:0}.demand-season-chart .season-bar:focus-visible i{box-shadow:inset 0 1px #ffffff80,0 0 0 3px #ff8a1f66}.season-card--demand .season-card__meta{justify-content:flex-start}.season-card--demand .season-card__meta output{font-weight:600}.season-card--demand .season-method{max-width:1040px}@media(max-width:760px){.demand-season-chart{grid-template-columns:repeat(12,56px);height:250px}.season-card--demand .season-card__meta{display:grid;gap:10px}.season-card--demand .chart-legend{gap:10px}}@media(max-width:760px){.demand-history-section,.main-nav a[href$="#season-chart"]{display:none!important}}
/* All 12 months remain visible; exact values are available on focus/tap. */
@media(max-width:760px){
 #season-chart{display:block!important}
 .main-nav a[href$="#season-chart"]{display:block!important}
 .season-card{padding:20px 10px}
 .season-chart,.demand-season-chart{grid-template-columns:repeat(12,minmax(0,1fr));gap:3px;padding-inline:0;overflow:visible}
 .season-bar{min-width:0;padding-inline:0;grid-template-rows:1fr 26px}
 .season-bar__value{display:none}
 .season-bar b{font-size:10px}
 .season-method{font-size:13px;line-height:1.6}
 .chart-legend{flex-wrap:wrap;gap:8px}
}
/* All 12 months remain visible; exact values are available on focus/tap. */
.season-chart,.demand-season-chart{grid-template-columns:repeat(12,minmax(0,1fr));overflow:visible}
.season-bar{min-width:0}
@media(max-width:760px){
 #season-chart{display:block!important}
 .main-nav a[href$="#season-chart"]{display:block!important}
 .season-card{padding:20px 10px}
 .season-chart,.demand-season-chart{grid-template-columns:repeat(12,minmax(0,1fr));gap:3px;padding-inline:0;overflow:visible}
 .season-bar{min-width:0;padding-inline:0;grid-template-rows:1fr 26px}
 .season-bar__value{display:none}
 .season-bar b{font-size:10px}
 .season-method{font-size:13px;line-height:1.6}
 .chart-legend{flex-wrap:wrap;gap:8px}
}
