/* ════════════════════════════════════════════════════════════════════════ ui.css — Status banners, legend, about block, footer, and responsive. ════════════════════════════════════════════════════════════════════════ */ /* Cell tag — event icon in the hour column */ .event-cell-tag { font-size: 15px; line-height: 1; vertical-align: middle; margin-left: 1px; display: inline-block; cursor: pointer; border-radius: 3px; transition: opacity 0.15s; } .event-cell-tag:hover { opacity: 0.75; } /* ── ALMANAC PANEL ──────────────────────────────────────────────────── */ /* "What's Coming" upcoming cosmic events box below the forecast table. */ .almanac-panel { margin: 20px 0 12px; border: 1.5px solid #c9b08a; border-radius: 4px; background: #fdf8ee; overflow: hidden; } .almanac-header { display: flex; align-items: baseline; gap: 12px; padding: 12px 18px 10px; border-bottom: 1px solid #e8d8b8; background: #faf2e2; } .almanac-title { font-family: Fraunces, serif; font-style: italic; font-weight: 700; font-size: 17px; color: #2a1a08; letter-spacing: 0; } .almanac-subtitle { font-family: Manrope, sans-serif; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; color: #9a7d5a; } .almanac-list { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 1fr; gap: 0; } .almanac-entry { display: flex; align-items: flex-start; gap: 13px; padding: 13px 18px; border-right: 1px solid #f0e4cc; transition: background 0.15s; } /* Desktop: single row of 4 — vertical dividers only, none on the far edge. */ .almanac-entry:last-child { border-right: none; } .almanac-entry:hover { background: #fef8e8; } .almanac-entry-icon { font-size: 22px; line-height: 1; flex-shrink: 0; margin-top: 1px; } .almanac-entry-body { flex: 1; min-width: 0; } .almanac-entry-head { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; margin-bottom: 3px; } .almanac-entry-title { font-family: Fraunces, serif; font-style: italic; font-weight: 700; font-size: 14px; color: #1e1208; line-height: 1.2; } .almanac-entry-date { font-family: Manrope, sans-serif; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: #c8922a; white-space: nowrap; } .almanac-entry-countdown { font-family: Manrope, sans-serif; font-size: 10px; font-weight: 700; color: #9a7d5a; white-space: nowrap; } .almanac-entry-desc { font-family: Manrope, sans-serif; font-size: 12px; color: #4a3420; line-height: 1.55; } .almanac-entry-visibility { display: inline-block; margin-top: 5px; font-family: Manrope, sans-serif; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: #7a9a6a; background: #eef4e8; border: 1px solid #c0d8b0; border-radius: 3px; padding: 2px 7px; } .almanac-entry-accent { width: 3px; align-self: stretch; border-radius: 2px; flex-shrink: 0; margin-top: 1px; opacity: 0.7; } .almanac-empty { padding: 22px 18px; font-family: Manrope, sans-serif; font-size: 13px; color: #9a7d5a; font-style: italic; } /* ≤900px: fall back to a 2×2 grid so cards stay readable. */ @media (max-width: 900px) { .almanac-list { grid-template-columns: repeat(2, 1fr); } .almanac-entry { border-right: 1px solid #f0e4cc; } .almanac-entry:nth-child(2n) { border-right: none; /* right edge of the grid */ } .almanac-entry:nth-child(-n + 2) { border-bottom: 1px solid #f0e4cc; /* divider between the two rows */ } } /* ≤600px: single column. */ @media (max-width: 600px) { .almanac-list { grid-template-columns: 1fr; } .almanac-entry, .almanac-entry:nth-child(2n) { border-right: none; } .almanac-entry { border-bottom: 1px solid #f0e4cc; } .almanac-entry:last-child { border-bottom: none; } } /* ── CUSTOM SELECT DROPDOWN ─────────────────────────────────────────── */ /* Cross-platform replacement for native