.policy-dialog { width: min(720px, calc(100% - 28px)); max-height: calc(100dvh - 32px); margin: auto; padding: 0; border: 1px solid #3c3f42; border-radius: 20px; background: #141617; color: #f5f5f5; overflow: auto; }
.policy-dialog::backdrop { background: #000b; backdrop-filter: blur(5px); }
.policy-dialog-header { position: sticky; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 26px; background: #141617; border-bottom: 1px solid #343638; z-index: 1; }
.policy-dialog-header h2 { margin: 0; font-size: clamp(22px, 4vw, 30px); line-height: 1.2; }
.policy-close { flex-shrink: 0; width: 44px; height: 44px; border: 1px solid #484b4d; border-radius: 50%; background: #242729; color: #fff; font-size: 26px; cursor: pointer; }
.policy-copy { padding: 8px 26px 28px; font-size: 15px; line-height: 1.75; }
.policy-copy h3 { margin: 24px 0 8px; font-size: 17px; color: #fff; }
.policy-copy p { margin: 12px 0; color: #c6c9cc; }
.policy-copy .policy-date { font-size: 12px; color: #a9aeb2; }
.policy-copy a { color: #ff9989; overflow-wrap: anywhere; text-decoration: underline; }
.policy-dialog :is(button,a):focus-visible { outline: 2px solid #ff9989; outline-offset: 3px; }
@media(max-width:600px) { .policy-dialog-header { padding: 16px; } .policy-copy { padding: 8px 20px 24px; } }
