.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, #8a7a72); 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(--accent-coral-dark, #b04a2e); } .tooltip { z-index: 9999; width: max-content; max-width: min(260px, calc(100vw - 24px)); background: var(--bg-primary, #faf7f2); border: 1px solid var(--border-color, #e8ddd4); border-radius: 10px; box-shadow: 0 4px 16px rgba(44, 36, 32, 0.15); padding: 0.6rem 0.75rem; display: flex; flex-direction: column; gap: 0.3rem; } .arrow { fill: var(--bg-primary, #faf7f2); stroke: var(--border-color, #e8ddd4); stroke-width: 1px; } .label { font-weight: 600; font-size: 0.75rem; color: var(--text-primary, #2c2420); } .plain { font-size: 0.75rem; color: var(--text-secondary, #5a4a44); line-height: 1.4; } .detail { font-size: 0.7rem; color: var(--text-muted, #8a7a72); line-height: 1.4; margin-top: 0.1rem; }