/* MyFriends.Space site-safety UI. Uses the established site theme; no page-wide resets. */
.safety-card{max-width:820px;margin:20px auto;padding:clamp(18px,4vw,32px);background:var(--surface,#fff);color:var(--text,#211635);border:1px solid var(--border,#ddd1ed);border-radius:18px;overflow-wrap:anywhere}
.safety-card h1{font-size:clamp(25px,4vw,36px);line-height:1.2;margin:8px 0 18px}.safety-card h2{font-size:20px;margin:22px 0 12px}
.safety-eyebrow{font-size:12px;letter-spacing:.08em;font-weight:700;color:var(--text-muted,#6c5c7c)}
.safety-form{display:grid;gap:12px;margin-block:18px}.safety-form>label{font-weight:650}.safety-form input:not([type=checkbox]):not([type=hidden]),.safety-form select,.safety-form textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%;font:inherit;font-size:16px;padding:12px;border:1px solid var(--border,#cbbddf);border-radius:10px;background:var(--surface-alt,#f7f3fc);color:inherit}.safety-form textarea{resize:vertical}
.safety-form button,.safety-actions button,.safety-card>form button{font:inherit;min-height:44px;padding:10px 16px;border:1px solid var(--border-strong,#7546c8);border-radius:10px;background:var(--button,#7546c8);color:var(--button-text,#fff);cursor:pointer}.safety-actions a{align-self:center;min-height:44px;display:inline-flex;align-items:center}
.safety-help{font-size:14px;color:var(--text-muted,#6c5c7c);margin:0}.safety-actions{display:flex;gap:12px;flex-wrap:wrap}.safety-check{display:flex;align-items:flex-start;gap:12px;line-height:1.6;padding:8px 0}.safety-check input[type=checkbox]{width:22px;height:22px;flex-shrink:0;margin-top:3px;accent-color:#7546c8}
.safety-policy{padding:18px 0;border-top:1px solid var(--border,#ddd1ed)}.safety-policy-text{white-space:pre-wrap;line-height:1.75;overflow-wrap:anywhere;margin-block:14px}
.safety-card details{margin-block:14px}.safety-card summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:650}.safety-warning{padding:14px;border:1px solid #a7781f;border-radius:10px;background:#fff7dd;color:#49330a}
.safety-consent{position:fixed;z-index:1500;bottom:calc(76px + env(safe-area-inset-bottom,0px));left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));margin-inline:auto;max-width:760px;max-height:50dvh;overflow:auto;box-sizing:border-box;padding:18px;background:var(--surface,#fff);color:var(--text,#211635);border:1px solid var(--border-strong,#7546c8);box-shadow:0 8px 36px #21163526;border-radius:16px}
.safety-consent p{margin:8px 0 14px;line-height:1.5}.safety-consent .safety-actions button{flex:1;min-width:140px;background:var(--surface-alt,#f3eafd);color:var(--text,#211635);border-color:var(--border-strong,#7546c8)}
.safety-footer{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin:24px 12px;padding-bottom:calc(80px + env(safe-area-inset-bottom,0px));font-size:14px}.safety-footer a{padding:10px 0}
.safety-card .validation-summary-errors{padding:12px;border-left:4px solid #c14e65;line-height:1.6}.safety-card :focus-visible,.safety-consent :focus-visible{outline:3px solid #a783e2;outline-offset:3px}
@media(min-width:900px){.safety-consent{bottom:24px}.safety-footer{padding-bottom:20px}}
@media(max-width:480px){.safety-card{margin:10px 0;border-radius:14px}.safety-actions{gap:8px}.safety-consent{padding:14px}.safety-consent .safety-actions button{font-size:14px;min-width:125px}}
@media(prefers-reduced-motion:reduce){.profile-theme-scope .profile-headline{animation:none!important}.safety-card *{scroll-behavior:auto!important}}

.safety-access-notice { position:fixed; z-index:1100; top:1rem; left:50%; transform:translateX(-50%); width:min(90vw,42rem); padding:1rem; border:2px solid #925bd8; border-radius:1rem; background:var(--surface,#fff); color:var(--text,#221b33); box-shadow:0 8px 30px #0003; }
.safety-access-notice button { min-height:44px; }
.safety-consent button { background:var(--surface-alt,#f4effb); color:var(--text,#261b38); border:1px solid var(--border,#bcacd0); min-height:44px; padding:.7rem 1rem; border-radius:.6rem; }

.mfs-account .safety-consent,.mfs-account .safety-access-notice { background:var(--a-surface); color:var(--a-ink); border-color:var(--a-border); }
.mfs-account .safety-consent .safety-actions button { background:var(--a-lilac); color:var(--a-ink); border-color:var(--a-border); }
