.footer { position: fixed; bottom: 0; left: 0; right: 0; z-index: 100; display: flex; flex-direction: column; } /* ── Collapsed bar ── */ .bar { display: flex; align-items: center; gap: 8px; width: 100%; padding: 0 20px; height: 32px; background: #0f2557; color: #a8c0f0; font-size: .72rem; font-weight: 500; border: none; cursor: pointer; letter-spacing: .02em; text-align: left; transition: background .15s; flex-shrink: 0; } .bar:hover { background: #1a3a7a; color: #dce8ff; } .lock { font-size: .8rem; flex-shrink: 0; } .label { flex: 1; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .chevron { font-size: .6rem; flex-shrink: 0; opacity: .7; } /* ── Expanded panel ── */ .panel { background: #0f2557; border-top: 1px solid #1e4fa8; padding: 20px 28px 16px; max-height: 260px; overflow-y: auto; animation: slideUp .2s ease-out; } @keyframes slideUp { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } } .panelTitle { font-size: .8rem; font-weight: 700; color: #dce8ff; margin: 0 0 12px; text-transform: uppercase; letter-spacing: .05em; border-bottom: 1px solid #1e4fa8; padding-bottom: 8px; } .paragraph { font-size: .76rem; line-height: 1.6; color: #94b4e0; margin: 0 0 8px; } .paragraph:last-child { margin-bottom: 0; } /* Scrollbar styling for the panel */ .panel::-webkit-scrollbar { width: 4px; } .panel::-webkit-scrollbar-track { background: transparent; } .panel::-webkit-scrollbar-thumb { background: #1e4fa8; border-radius: 2px; }