.icon-calendar { --icon:url('/preview/icons/calendar.svg'); }
.home-launches { padding:8px 0 0; }
.home-launch-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:34px; margin-bottom:4px; }
.home-launch-heading h2 { margin:0; font-size:16px; font-weight:650; line-height:1.4; flex-shrink:0; }
.home-launch-heading button { display:flex; align-items:center; gap:6px; padding:5px 0; border:0; background:transparent; color:#24282e; font-size:inherit; font-weight:inherit; }
.home-launch-heading .ui-icon { width:15px; height:15px; }
#homeWeekMonth { min-width:0; color:#747b87; font-size:11px; text-align:right; line-height:1.6; }
.home-week { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; padding-bottom:8px; border-bottom:1px solid #e5e9ef; }
.home-week .home-week-day { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; width:100%; min-width:0; height:52px; padding:0; border:1px solid transparent; border-radius:4px; background:transparent; color:#24282e; line-height:1; }
.home-week-day > span { font-size:11px; color:#7b8491; }
.home-week-day > strong { font-size:18px; font-weight:650; font-variant-numeric:tabular-nums; }
.home-week .home-week-day.today { border-color:#b8ccef; }
.home-week .home-week-day.selected { background:#2864c6; border-color:#2864c6; color:white; }
.home-week-day.selected > span { color:#e7effd; }
.home-week-dot { display:block; width:4px; height:4px; border-radius:50%; background:transparent; }
.home-week-dot.has-event { background:#2864c6; }
.selected .home-week-dot.has-event { background:white; }
.home-week-day:disabled { cursor:default; opacity:.55; }
.home-launch-label { padding:8px 0 0; color:#7b8491; font-size:10px; }
.home-launch-row { display:grid; grid-template-columns:34px minmax(0,1fr) 14px; gap:10px; align-items:center; width:100%; min-height:54px; padding:8px 0; border:0; border-bottom:1px solid #edf0f4; border-radius:0; background:#fff; text-align:left; }
.home-launch-date { display:flex; flex-direction:column; align-items:center; justify-content:center; width:34px; height:36px; border-radius:4px; background:#eef4fd; }
.home-launch-date strong { color:#2864c6; font-size:19px; font-weight:650; line-height:1.1; font-variant-numeric:tabular-nums; }
.home-launch-date small { color:#2864c6; font-size:9px; margin-top:1px; }
.home-launch-copy { min-width:0; }
.home-launch-copy strong,.home-launch-copy small { display:block; overflow-wrap:anywhere; }
.home-launch-copy strong { color:#20242c; font-size:13px; font-weight:600; line-height:1.45; }
.home-launch-copy small { color:#858c96; font-size:10px; margin-top:2px; line-height:1.5; }
.home-launch-row > .ui-icon { width:16px; height:16px; color:#858c96; }
.home-launch-status { display:flex; align-items:center; gap:8px; padding:18px 0; color:#858c96; font-size:12px; }
.home-launch-status button { padding:6px 10px; border:0; background:transparent; color:#2864c6; }
.home-launch-skeleton { height:46px; margin:6px 0; }
.home-launch-more { color:#747b87; font-size:11px; padding-top:10px; text-align:center; }
.home-calendar-expand { display:flex; align-items:center; justify-content:center; gap:5px; width:100%; min-height:36px; border:0; background:transparent; color:#2864c6; font-size:12px; }
.home-calendar-expand .ui-icon { width:14px; height:14px; }
.home-compare-entry { display:flex; align-items:center; gap:8px; width:100%; min-width:0; min-height:42px; padding:8px 0; margin:0 0 6px; border:0; border-top:1px solid #e5e9ef; border-radius:0; background:transparent; text-align:left; color:#2864c6; }
.home-compare-entry > .ui-icon { width:17px; height:17px; }
.home-compare-entry strong { font-size:13px; font-weight:600; flex-shrink:0; }
.home-compare-entry small { margin-left:auto; min-width:0; font-size:11px; color:#7b8491; line-height:1.5; }
.home-compare-entry > .ui-icon:last-child { width:14px; height:14px; }
#calendarView { padding-top:20px; }
.calendar-filters { display:flex; gap:4px; padding:3px; border-radius:5px; background:#f1f3f6; }
.calendar-filters button { flex:1; min-width:0; height:40px; border:0; border-radius:4px; background:transparent; color:#626b79; font-size:14px; }
.calendar-filters .active { background:#2864c6; color:#fff; font-weight:600; }
.calendar-toolbar { display:flex; align-items:center; gap:3px; padding-top:14px; }
.calendar-toolbar .icon-button { flex:0 0 32px; width:32px; height:42px; padding:0; border:0; border-radius:4px; background:transparent; }
.calendar-toolbar select { min-width:0; max-width:190px; padding:8px 4px; border:0; background:transparent; font-size:19px; font-weight:650; color:#20242c; }
#calendarToday { margin-left:auto; border:0; background:transparent; color:#2864c6; padding:12px 6px; font-size:13px; }
.calendar-meta { display:flex; justify-content:space-between; margin:0 0 16px; color:#747b87; font-size:11px; }
.calendar-weekdays,.calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; }
.calendar-weekdays { padding-bottom:9px; text-align:center; color:#858c96; font-size:12px; }
.calendar-grid { padding-bottom:12px; }
.calendar-grid .calendar-day { width:100%; height:48px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:0; border:1px solid transparent; border-radius:4px; background:#fff; color:#242b35; line-height:1; }
.day-number { font-size:16px; font-weight:550; font-variant-numeric:tabular-nums; }
.calendar-grid .outside { color:#c3c8d0; }
.calendar-grid .today { border-color:#2864c6; color:#2864c6; }
.calendar-grid .selected { background:#2864c6; border-color:#2864c6; color:#fff; }
.calendar-day:disabled { cursor:default; }
.calendar-day:not(:disabled):not(.selected):hover { background:#f0f4fb; }
.day-dots { display:flex; gap:4px; height:4px; }
.event-dot { display:inline-block; width:4px; height:4px; border-radius:50%; flex:0 0 4px; background:#2864c6; }
.event-dot.computer { background:#58616f; }
.selected .event-dot { background:#fff; }
.calendar-loading { opacity:.45; }
.calendar-legend { display:flex; align-items:center; gap:16px; padding-bottom:16px; border-bottom:1px solid #e5e8ee; color:#747b87; font-size:11px; }
.calendar-legend > span { display:flex; align-items:center; gap:6px; }
.calendar-legend > small { margin-left:auto; font-size:11px; }
.calendar-agenda-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:20px; }
.calendar-agenda-heading h2 { margin:0; font-size:16px; font-weight:600; }
.calendar-agenda-heading > span { color:#858c96; font-size:12px; }
.calendar-event { display:grid; grid-template-columns:52px minmax(0,1fr); gap:16px; padding:20px 0; border-bottom:1px solid #e7e9ee; }
.calendar-time { display:flex; flex-direction:column; gap:6px; color:#858c96; font-size:11px; }
.calendar-time time { color:#20242c; font-size:18px; font-weight:650; font-variant-numeric:tabular-nums; }
.scheduled .calendar-time time { color:#2864c6; }
.calendar-body { min-width:0; }
.calendar-event-meta { display:flex; gap:6px; align-items:center; color:#747b87; font-size:11px; }
.calendar-event-title { margin:7px 0; font-size:16px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.calendar-footnote { color:#858c96; font-size:11px; line-height:1.8; white-space:pre-line; margin-top:20px; }
.calendar-empty { padding:28px 0; text-align:center; font-size:14px; color:#697482; }
.calendar-empty small { display:block; margin-top:10px; font-size:12px; color:#9299a3; }
.calendar-next-event { display:flex; align-items:center; gap:4px; padding:10px; margin:6px auto 0; border:0; color:#2864c6; background:transparent; font-size:13px; }
.calendar-next-event .ui-icon { width:14px; height:14px; }
.calendar-retry { display:block; margin:18px auto 0; padding:10px 22px; border:0; border-radius:4px; background:#2864c6; color:#fff; }
.calendar-skeleton { height:100px; margin:16px 0; border-radius:4px; }
#calendarView button:focus-visible,#calendarView a:focus-visible,.home-compare-entry:focus-visible,.home-launches button:focus-visible { outline:2px solid #2864c6; outline-offset:2px; }
@media (max-width:360px) { .calendar-toolbar select { font-size:17px; max-width:150px; } .home-launch-heading h2 { font-size:16px; } }
