/* ════════════════════════════════════════════════════════════════════════ table.css — Day tabs, filter profiles, column toggles, hourly table, now-row and night-row decorations. ════════════════════════════════════════════════════════════════════════ */ /* ── 5. DAY TABS (today / tomorrow / etc.) ─────────────────────────── */ /* Note: each tab's background colour comes from inline styles in app.js (the confidence bands). This file only handles spacing, typography, and the active-tab underline. */ /* Wrapper that hosts the scrollable strip, edge fades, and chevrons. */ .utci-day-tabs-wrap { position: relative; margin-bottom: 18px; } /* Edge fade gradients — only show when there's content to scroll to. */ .utci-day-tabs-wrap::before, .utci-day-tabs-wrap::after { content: ''; position: absolute; top: 0; bottom: 2px; /* leave the underline border visible */ width: 40px; pointer-events: none; z-index: 1; opacity: 0; transition: opacity 0.2s; } .utci-day-tabs-wrap::before { left: 0; background: linear-gradient(to right, #f5edd6 0%, rgba(245,237,214,0) 100%); } .utci-day-tabs-wrap::after { right: 0; background: linear-gradient(to left, #f5edd6 0%, rgba(245,237,214,0) 100%); } .utci-day-tabs-wrap.fade-left::before { opacity: 1; } .utci-day-tabs-wrap.fade-right::after { opacity: 1; } /* Chevron buttons — sit on top of the fades. */ .utci-day-scroll { position: absolute; top: 50%; transform: translateY(-50%); width: 30px; height: 30px; border-radius: 50%; border: 1px solid #d4c0a0; background: #fffcf2; color: #6b4f2a; font-size: 20px; font-family: Fraunces, serif; line-height: 1; cursor: pointer; z-index: 2; display: flex; align-items: center; justify-content: center; padding: 0 0 2px 0; box-shadow: 0 1px 4px rgba(80,55,20,0.12); transition: opacity 0.2s, background 0.15s, transform 0.15s; } .utci-day-scroll:hover { background: #fef3dc; } .utci-day-scroll.left { left: -2px; } .utci-day-scroll.right { right: -2px; } .utci-day-scroll.hidden { opacity: 0; pointer-events: none; } .utci-day-tabs { display: flex; border-bottom: 2px solid #d4c0a0; overflow-x: auto; scroll-behavior: smooth; scrollbar-width: none; /* Firefox */ -ms-overflow-style: none; /* old Edge */ } .utci-day-tabs::-webkit-scrollbar { display: none; /* Chrome/Safari */ } .utci-day-tab { flex-shrink: 0; padding: 12px 24px; cursor: pointer; font-family: JetBrains Mono, monospace; font-size: 10px; text-transform: uppercase; letter-spacing: 0.14em; background: transparent; border: none; color: #b09870; border-bottom: 2px solid transparent; margin-bottom: -2px; transition: color 0.2s, border-color 0.2s; } .utci-day-tab:hover { color: #6b4f2a; } .utci-day-tab.active { color: #c8922a; border-bottom-color: #c8922a; } /* The "Mon 12 May" date underneath each tab name */ .utci-day-date { font-family: Fraunces, serif; font-style: italic; font-size: 13px; text-transform: none; letter-spacing: 0; display: block; margin-top: 3px; color: inherit; } /* ── 5b. FILTER PROFILES (the "Profile: Basic Urban …" bar) ───────── */ .filter-profiles { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 0; padding: 10px 14px; background: #fdf8ee; border: 1.5px solid #d4c0a0; border-bottom: none; /* merges visually with the col-toggles bar below */ } .filter-profiles-label { font-family: JetBrains Mono, monospace; font-size: 9px; text-transform: uppercase; letter-spacing: 0.18em; color: #b09870; margin-right: 4px; white-space: nowrap; } .profile-btn { padding: 4px 11px; cursor: pointer; border: 1.5px solid #c9b08a; background: #f5edd6; color: #9a7d5a; font-family: JetBrains Mono, monospace; font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; transition: all 0.15s; -webkit-user-select: none; user-select: none; } .profile-btn:hover { border-color: #c8922a; color: #6b4f2a; background: #fef3dc; } .profile-btn.active { background: #c8922a; border-color: #c8922a; color: #fff; } /* ── 6. COLUMN TOGGLES (the "Columns: Hour Air RH ..." bar) ────────── */ .col-toggles { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 10px; padding: 10px 14px; background: #fdf8ee; border: 1.5px solid #d4c0a0; } .col-toggles-label { font-family: JetBrains Mono, monospace; font-size: 9px; text-transform: uppercase; letter-spacing: 0.18em; color: #b09870; margin-right: 4px; white-space: nowrap; } /* The little pill buttons */ .col-toggle { padding: 4px 11px; cursor: pointer; border: 1.5px solid #c9b08a; background: #f5edd6; color: #9a7d5a; font-family: JetBrains Mono, monospace; font-size: 9px; text-transform: uppercase; letter-spacing: 0.1em; transition: all 0.15s; -webkit-user-select: none; user-select: none; } .col-toggle:hover { border-color: #c8922a; color: #6b4f2a; background: #fef3dc; } /* The "pressed-in" active look */ .col-toggle.on { background: #c8922a; border-color: #c8922a; color: #fff; } /* Burn select — looks like a col-toggle pill but is a