.kv2-safety-menu { position: relative; display: inline-block; }
.kv2-safety-menu[open] { z-index: 9999; }
.kv2-safety-menu > summary { display: grid; place-items: center; width: 2.35rem; height: 2.35rem; border: 1px solid var(--border-color, rgba(255,255,255,.16)); border-radius: 50%; cursor: pointer; font-size: 1.35rem; list-style: none; }
.kv2-safety-menu > summary::-webkit-details-marker { display: none; }
.kv2-safety-menu__panel { position: absolute; right: 0; z-index: 9999; width: min(12rem, calc(100vw - 2rem)); margin-top: .45rem; padding: .4rem; border: 1px solid var(--border-color, rgba(255,255,255,.14)); border-radius: .8rem; color: var(--color-text-primary, #f4f0e7); background: var(--theme-surface-raised, #18201b); box-shadow: 0 14px 38px rgba(0,0,0,.52); }
.kv2-safety-menu__panel button { width: 100%; padding: .7rem .8rem; border: 0; border-radius: .55rem; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.kv2-safety-menu__panel button:hover { background: rgba(255,255,255,.07); }
.kv2-safety-menu__danger { color: #e99b92 !important; }
.kv2-safety-menu--song { margin: .35rem 0 .25rem; }
.kv2-profile-sound-row { display: flex; align-items: center; gap: .65rem; flex-wrap: wrap; }
.kv2-safety-inline { border: 0; background: transparent; color: var(--text-muted, #a7afa8); font-size: .76rem; cursor: pointer; text-decoration: underline; text-underline-offset: .2rem; }
.kv2-safety-modal { width: min(35rem, calc(100% - 2rem)); max-height: calc(100vh - 2rem); padding: 0; border: 1px solid rgba(255,255,255,.15); border-radius: 1rem; background: var(--surface-color, #172019); color: var(--text-color, #f4f0e7); }
.kv2-safety-modal::backdrop { background: rgba(5,8,6,.72); backdrop-filter: blur(5px); }
.kv2-safety-form { padding: 1.25rem; }
.kv2-safety-form__header, .kv2-safety-form__actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.kv2-safety-form__header span { color: var(--text-muted, #a7afa8); font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; }
.kv2-safety-form__header h2 { margin: .2rem 0 0; font-size: 1.25rem; }
.kv2-safety-icon-button { border: 0; background: transparent; color: inherit; font-size: 1.5rem; cursor: pointer; }
.kv2-safety-reasons { display: grid; gap: .4rem; margin: 1rem 0; padding: 0; border: 0; }
.kv2-safety-reasons legend { margin-bottom: .55rem; font-weight: 700; }
.kv2-safety-reasons label { display: flex; gap: .65rem; padding: .65rem .75rem; border-radius: .65rem; background: rgba(255,255,255,.045); cursor: pointer; }
.kv2-safety-details { display: grid; gap: .45rem; }
.kv2-safety-details textarea { resize: vertical; padding: .75rem; border: 1px solid rgba(255,255,255,.14); border-radius: .65rem; background: rgba(0,0,0,.16); color: inherit; }
.kv2-safety-form__note { color: var(--text-muted, #a7afa8); font-size: .82rem; }
.kv2-safety-primary, .kv2-safety-secondary { padding: .7rem 1rem; border-radius: .65rem; cursor: pointer; }
.kv2-safety-primary { border: 0; background: var(--accent-color, #c99a46); color: #15130d; font-weight: 700; }
.kv2-safety-secondary { border: 1px solid rgba(255,255,255,.16); background: transparent; color: inherit; }
.kv2-safety-declaration { display: flex; gap: .65rem; align-items: flex-start; margin-top: .8rem; color: var(--text-muted, #a7afa8); font-size: .86rem; }
@media (max-width: 640px) { .kv2-safety-modal { margin: auto auto 0; width: 100%; max-width: none; border-radius: 1rem 1rem 0 0; } }
