.sc-stagione { position: relative; width: 100%; max-width: 560px; aspect-ratio: 7 / 5; background: var(--card); border: 1px solid var(--line); border-radius: 16px; overflow: hidden; font-family: var(--sans); color: var(--navy); font-variant-numeric: tabular-nums; -webkit-font-smoothing: antialiased; }
.sc-stagione * { box-sizing: border-box; }
.sc-stagione__in { position: absolute; inset: 0; display: flex; flex-direction: column; gap: 12px; padding: 14px; transition: opacity .5s ease; }
.sc-stagione.is-fade .sc-stagione__in { opacity: 0; }
.sc-stagione__yard { flex: 1 1 auto; min-height: 0; background: var(--map-ground); border-radius: 12px; padding: 10px 14px 6px; display: flex; flex-direction: column; }
.sc-stagione__cap { display: flex; justify-content: space-between; font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--hero-muted); }
.sc-stagione__exit { color: var(--brass); }
.sc-stagione__lane { position: relative; flex: 1; display: flex; align-items: center; }
.sc-stagione__gate { position: absolute; right: 2px; top: 6%; bottom: 6%; width: 4px; border-radius: 2px; background: var(--brass); }
.sc-stagione__row { position: relative; flex: 1; height: 84px; margin-right: 24px; }
.sc-stagione__boat { position: absolute; left: 0; top: 0; width: 20%; transform: translateX(calc(var(--s, 0) * 100%)); transition: transform 1.5s cubic-bezier(.45, .05, .25, 1); }
.sc-stagione__mv { display: flex; flex-direction: column; align-items: center; transition: transform .6s ease; }
.sc-stagione__boat.is-up .sc-stagione__mv { transform: translateY(-18px); }
.sc-stagione__boat.is-down .sc-stagione__mv { transform: translateY(18px); }
.sc-stagione__tag { height: 18px; line-height: 18px; padding: 0 8px; border-radius: 999px; background: #b8412f; color: #fff; font-size: 10.5px; font-weight: 600; opacity: 0; transition: opacity .4s ease; }
.sc-stagione__boat.is-blocked .sc-stagione__tag { opacity: 1; }
.sc-stagione__mv svg { width: 88%; height: auto; margin-top: 4px; display: block; }
.sc-stagione__hull { fill: var(--hull); stroke: transparent; stroke-width: 2.5; transition: stroke .4s ease; }
.sc-stagione__boat.is-blocked .sc-stagione__hull { stroke: #b8412f; }
.sc-stagione__date { margin-top: 4px; font-size: 13px; font-weight: 600; color: var(--hero-text); }
.sc-stagione__panel { flex: none; background: var(--bg); border: 1px solid var(--line); border-radius: 12px; padding: 10px 14px 12px; }
.sc-stagione__ttl { font-size: 13px; font-weight: 600; color: var(--navy); }
.sc-stagione__chips { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 8px; }
.sc-stagione__chip { display: flex; flex-direction: column; align-items: center; gap: 3px; }
.sc-stagione__chip b { width: 26px; height: 26px; border-radius: 50%; border: 1.5px dashed #cfc6b0; background: transparent; color: transparent; font-size: 13px; font-weight: 600; display: grid; place-items: center; transition: background .4s ease, color .4s ease, border-color .4s ease, transform .4s ease; }
.sc-stagione__chip span { font-size: 12px; font-weight: 500; color: var(--navy); opacity: 0; transform: translateY(4px); transition: opacity .4s ease, transform .4s ease; }
.sc-stagione__chip.is-on b { background: var(--navy); border: 1.5px solid var(--navy); color: var(--bg); }
.sc-stagione__chip.is-on span { opacity: 1; transform: none; }
.sc-stagione__pill { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; padding: 4px 12px; border-radius: 999px; background: var(--brass); color: var(--navy); font-size: 12px; font-weight: 600; opacity: 0; transform: translateY(4px); transition: opacity .4s ease, transform .4s ease; }
.sc-stagione__pill.is-on { opacity: 1; transform: none; }
.sc-stagione__pill svg { width: 14px; height: 14px; }
.sc-stagione.is-notrans, .sc-stagione.is-notrans * { transition: none !important; }
@media (max-width: 600px) {
  .sc-stagione { aspect-ratio: auto; height: 392px; }
  .sc-stagione__in { padding: 12px; }
  .sc-stagione__yard { padding: 10px 10px 6px; }
  .sc-stagione__row { margin-right: 18px; }
  .sc-stagione__date { font-size: 12.5px; }
  .sc-stagione__tag { font-size: 9.5px; padding: 0 6px; }
}
@media (prefers-reduced-motion: reduce) { .sc-stagione, .sc-stagione * { transition: none !important; } }
@media (max-width: 600px) {
  .sc-stagione { height: 318px; }
  .sc-stagione__in { gap: 10px; }
  .sc-stagione__yard { padding: 8px 8px 4px; }
  .sc-stagione__row { height: 92px; margin-right: 14px; }
  .sc-stagione__boat { width: 20%; }
  .sc-stagione__mv svg { width: 100%; }
  .sc-stagione__date { font-size: 13px; }
  .sc-stagione__tag { font-size: 10.5px; height: 18px; }
}
