.icon { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; min-height: 24px; margin: -6px 0; padding: 0; border: none; background: none; /* font-size:0 hides the button's own "?" text node; the ::before glyph below carries the visible circled "?" at its own explicit size. */ font-size: 0; color: var(--text-muted); cursor: help; line-height: 1; user-select: none; transition: color 0.15s ease; } /* The visible affordance: a small circled "?" centred in the 24px target. */ .icon::before { content: '?'; display: inline-flex; align-items: center; justify-content: center; width: 15px; height: 15px; border-radius: 50%; border: 1px solid currentColor; font-size: 0.65rem; } .icon:hover, .icon[aria-expanded='true'], .icon:focus-visible { color: var(--brand-strong); } .tooltip { z-index: 9999; width: max-content; max-width: min(260px, calc(100vw - 24px)); background: var(--bg-primary); border: 1px solid var(--border); border-radius: 10px; box-shadow: 0 4px 16px rgba(var(--shadow-rgb), 0.15); padding: 0.6rem 0.75rem; display: flex; flex-direction: column; gap: 0.3rem; } .arrow { fill: var(--bg-primary); stroke: var(--border); stroke-width: 1px; } .label { font-weight: 600; font-size: 0.75rem; color: var(--text-primary); } .plain { font-size: 0.75rem; color: var(--text-secondary); line-height: 1.4; } .detail { font-size: 0.7rem; color: var(--text-muted); line-height: 1.4; margin-top: 0.1rem; }