.policy-dialog{box-sizing:border-box;width:min(820px,calc(100% - 24px));max-height:90vh;max-height:90dvh;padding:0;border:0;border-radius:22px;background:#fff;color:#343139;box-shadow:0 20px 80px #0004;overflow:auto;overscroll-behavior:contain}
.policy-dialog:not([open]){display:none}.policy-dialog::backdrop{background:#211a2aaa}
.policy-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 30px;background:linear-gradient(110deg,#fff2f7,#f5f8ff);border-bottom:1px solid #eee}
.policy-header h2{margin:0;font-size:25px;line-height:1.3;font-weight:700;outline:0}
.policy-close{flex:none;width:36px;height:36px;display:grid;place-items:center;border:0;background:transparent;box-shadow:none;color:#555;font-size:30px;padding:0;cursor:pointer}
.policy-close:focus{outline:0}.policy-close:focus-visible{text-shadow:0 0 3px #ff4d78}
.policy-content{padding:18px 30px 30px;font-size:16px;line-height:1.7;overflow-wrap:anywhere}
.policy-content h3{font-size:19px;line-height:1.5;margin:25px 0 10px;color:#d63867}
.policy-content h3:first-child{margin-top:8px}.policy-content p{margin:10px 0;white-space:pre-line}
.policy-content a{color:#cc285c;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.policy-dialog{border-radius:16px;max-height:92dvh}.policy-header{padding:18px}.policy-header h2{font-size:21px}.policy-content{padding:12px 18px 24px;font-size:15px}.policy-content h3{font-size:17px}}
