.home-departures { width: min(100%, 1050px); box-sizing: border-box; border: 1px solid var(--border); border-radius: 14px; background: var(--card); padding: 1.2rem; text-align: left; }
.hd-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap; }
.hd-heading h2 { margin: 0; color: var(--text); font-size: 1.35rem; }
.hd-heading span, .hd-note { color: var(--muted); font-size: .85rem; }
.hd-scroll { overflow-x: auto; }
.home-departures table { width: 100%; border-collapse: collapse; }
.home-departures th { font-size: .75rem; color: var(--muted); text-align: left; font-weight: normal; }
.home-departures td, .home-departures th { padding: .8rem .5rem; border-bottom: 1px solid var(--border); }
.home-departures td:first-child { width: 48%; }
.hd-select { border: 0; padding: 0; background: transparent; color: var(--text); text-align: left; cursor: pointer; font: inherit; }
.hd-select[aria-pressed="true"] { color: var(--accent); }
.hd-sort { color: var(--muted); font: inherit; border: 0; background: transparent; padding: 0; cursor: pointer; text-align: left; }
.hd-sort span { display: inline-block; width: 1em; }
.hd-flap { position: relative; display: inline-block; padding: .45rem .6rem; border: 1px solid var(--border); border-radius: 4px; font-family: monospace; color: var(--accent); white-space: nowrap; background: var(--bg); }
.hd-flap:after { content: ''; position: absolute; inset: 50% 0 auto; border-top: 1px solid var(--border); pointer-events: none; }
.home-departures small { display: block; color: var(--muted); font-size: .7rem; }
.home-departures .hd-mobile-venue { display: none; }
.hd-detail { padding-top: .7rem; font-size: .9rem; }
.hd-detail h3 { color: var(--text); }
.hd-detail p { color: var(--muted); }
.hd-detail a { color: var(--accent); margin-right: 1rem; }
.hd-detail button { border: 1px solid var(--accent); background: var(--bg); border-radius: 6px; padding: .5rem .8rem; color: var(--accent); cursor: pointer; }
@media (max-width: 560px) { .home-departures { padding: .85rem; } .home-departures table { font-size: .8rem; } .home-departures td, .home-departures th { padding: .6rem .3rem; } .hd-flap { padding: .3rem; font-size: .65rem; } .home-departures td:first-child { width: 55%; } .home-departures th:nth-child(2), .home-departures td:nth-child(2) { display: none; } .home-departures .hd-mobile-venue { display: block; } .hd-detail button { margin-top: .7rem; } }
