.calendar-ticker { display: flex; align-items: center; gap: 1rem; padding: .8rem 1.5rem; background: #06131b; border-top: 2px solid #d2a957; border-bottom: 1px solid #28424c; color: #ffdc7b; box-shadow: inset 0 0 22px #000; }
.calendar-ticker-label { flex-shrink: 0; font-size: .85rem; font-weight: 700; }
.calendar-ticker-label span { color: #8befbc; text-shadow: 0 0 8px #63e89c; margin-right: .35rem; }
.calendar-ticker-window { flex: 1; min-width: 0; overflow: hidden; padding: .6rem 0; background-image: radial-gradient(#35504770 .8px, transparent 1px); background-size: 4px 4px; }
.calendar-ticker-track { display: inline-block; white-space: nowrap; color: #ffe28b; font-size: 1.1rem; font-weight: 700; line-height: 1.7; text-shadow: 0 0 4px #ffcb5680, 0 0 12px #ffc34a55; }
.calendar-ticker-track:hover { color: #fff0bb; }
.calendar-ticker.is-ready .calendar-ticker-track { animation: calendar-led-scroll var(--ticker-duration, 25s) linear infinite; }
.calendar-ticker:hover .calendar-ticker-track, .calendar-ticker:focus-within .calendar-ticker-track, .calendar-ticker.is-paused .calendar-ticker-track { animation-play-state: paused; }
.calendar-ticker-toggle { flex-shrink: 0; min-height: 44px; border: 1px solid #ffdc7b55; border-radius: 8px; padding: .4rem .75rem; background: #ffffff08; color: #ffdc7b; font-size: .8rem; cursor: pointer; }
.calendar-ticker a:focus-visible, .calendar-ticker button:focus-visible { outline: 2px solid #ffe28b; outline-offset: 2px; }
@keyframes calendar-led-scroll { from { transform: translateX(var(--ticker-width, 100vw)); } to { transform: translateX(-100%); } }
@media (max-width: 575px) { .calendar-ticker { flex-wrap: wrap; gap: .35rem .75rem; padding: .65rem 1rem; } .calendar-ticker-window { order: 3; flex-basis: 100%; } .calendar-ticker-toggle { margin-left: auto; } }
@media (prefers-reduced-motion: reduce) { .calendar-ticker.is-ready .calendar-ticker-track { animation: none; white-space: normal; } .calendar-ticker-toggle { display: none; } }
