.key-signature-popup { min-width: 270px; padding: 12px 12px 10px; } .key-signature-picker { width: 252px; height: 224px; position: relative; color: #e0e0e0; font-family: Georgia, 'Times New Roman', serif; } .key-signature-picker-title { position: absolute; left: 50%; transform: translateX(-50%); margin: 0; color: #f0f0f0; letter-spacing: 0.4px; pointer-events: none; font-weight: 600; } .key-signature-picker-title.major { top: 2px; font-size: 10px; } .key-signature-picker-title.minor { top: 60px; font-size: 9px; color: #9fc89c; } .key-signature-picker-ring { position: absolute; inset: 32px 40px 30px; border-radius: 50%; background: radial-gradient(circle at center, transparent 0 38%, rgba(33, 33, 33, 0.96) 38% 49%, transparent 49%), conic-gradient( from 0deg, rgba(84, 84, 84, 0.28), rgba(69, 69, 69, 0.5), rgba(84, 84, 84, 0.28) ); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06); pointer-events: none; } .key-signature-picker-slot { position: absolute; transform: translate(-50%, -50%); } .key-signature-picker-slot-outer, .key-signature-picker-slot-inner, .key-signature-picker-slot-count { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); } .key-signature-picker-slot-count { font-size: 7px; color: #b8b8b8; white-space: nowrap; pointer-events: none; } .key-signature-picker-item-stack { display: flex; flex-direction: column; gap: 6px; align-items: center; } .key-signature-picker-paired-row { display: inline-flex; align-items: baseline; gap: 0; white-space: nowrap; } .key-signature-picker-key { display: inline-flex; align-items: center; } .key-signature-picker-divider { color: #b8b8b8; font-size: 9px; line-height: 1; padding: 0 1px; } .key-signature-picker-button-paired { padding: 0 2px; border-radius: 999px; } .key-signature-picker-button { appearance: none; -webkit-appearance: none; border: none; background: transparent; background-color: transparent; box-shadow: none; padding: 0; font: inherit; cursor: pointer; line-height: 1; transition: transform 0.16s ease, opacity 0.16s ease, text-shadow 0.16s ease; } .key-signature-picker-button:hover { background: transparent; background-color: transparent; transform: scale(1.05); text-shadow: 0 0 10px currentColor; } .key-signature-picker-button:focus-visible { outline: 2px solid #2d2d2d; outline-offset: 4px; border-radius: 6px; } .key-signature-picker-button:focus, .key-signature-picker-button:active { background: transparent; background-color: transparent; box-shadow: none; } .key-signature-picker-button.major { color: #e08b94; font-size: 13px; } .key-signature-picker-button.minor { color: #8fba88; font-size: 11px; } .key-signature-picker-label { display: inline-flex; align-items: flex-start; } .key-signature-picker-label.selected { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; } .key-signature-picker-accidental { font-size: 0.58em; line-height: 1; margin-left: 1px; position: relative; top: -0.15em; } @media (max-width: 900px) { .key-signature-popup { min-width: min(92vw, 270px); padding: 12px 10px 10px; } .key-signature-picker { width: min(82vw, 252px); height: min(72vw, 224px); } .key-signature-picker-button.major { font-size: 12px; } .key-signature-picker-button.minor { font-size: 10px; } }