/* Safety stays behind a small disclosure; moderator surfaces share existing tokens. */
.safety-menu{position:relative;z-index:5;margin-left:auto;flex:none;font-size:.875rem}
.safety-menu summary{list-style:none;cursor:pointer;min-width:44px;min-height:44px;display:grid;place-items:center;border-radius:50%;font-weight:700;letter-spacing:2px}
.safety-menu summary::-webkit-details-marker{display:none}
.safety-menu summary:hover,.safety-menu[open] summary{background:var(--ft-color-lilac-soft,#f4edfb)}
.safety-menu__items{position:absolute;right:0;top:100%;width:min(260px,76vw);max-height:60vh;overflow:auto;padding:.5rem;background:#fff;border:1px solid #e3dbe9;border-radius:16px;box-shadow:0 12px 36px #49335324}
.safety-menu__items a{display:block;position:relative;padding:.7rem .8rem;min-height:44px;text-decoration:none;border-radius:8px;color:#453749}
.safety-menu__items a:hover{background:#f8f3fa}
.safety-menu__label{display:block;padding:.65rem .8rem .3rem;font-size:.75rem;color:#6d5e75;border-top:1px solid #e9e2ed}
.safety-dialog{border:1px solid #e3dbe9;border-radius:24px 24px 0 0;position:fixed;inset:auto 0 0;margin:0 auto;padding:1.4rem;width:min(100%,640px);max-height:90dvh;overflow:auto;overscroll-behavior:contain;color:#342a3b;background:#fff;box-shadow:0 12px 70px #21132c33}
.safety-dialog::backdrop{background:#21132c70}
.safety-dialog__close{position:sticky;top:0;float:right;width:44px;height:44px;border:0;border-radius:50%;background:#f7f1fa;color:#453749;font-size:1.75rem;cursor:pointer}
.safety-form-content h2{font-size:1.25rem;line-height:1.4;padding-right:2.5rem}
.safety-context,.safety-hint{color:#6d5e75;font-size:.875rem;overflow-wrap:anywhere}
.safety-form{display:grid;gap:1rem}
.safety-form label{display:grid;gap:.4rem;font-weight:600}
.safety-form textarea,.safety-form input,.safety-form select{width:100%;max-width:100%;font:inherit;font-weight:400}
.safety-form textarea{resize:vertical}
.safety-form__actions,.safety-links,.safety-tabs{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}
.safety-form__actions{margin-top:.5rem}
.safety-tabs a{padding:.65rem .8rem;border-radius:12px;background:#f4edfb;color:#51405f;text-decoration:none;font-size:.875rem;min-height:44px}
.safety-tabs a[aria-current]{font-weight:700;background:#eadef6}
.safety-page{display:grid;align-content:start;gap:1.25rem;min-width:0}
.safety-card,.safety-summary{padding:1.25rem;background:#fff;border:1px solid #e9e2ed;border-radius:20px;min-width:0}
.safety-card h2{font-size:1.1rem;margin:0 0 .7rem}
.safety-card p{overflow-wrap:anywhere}
.safety-links{margin-top:.8rem;font-size:.875rem}
.safety-links a{min-height:44px;display:inline-flex;align-items:center}
.safety-preview{white-space:pre-wrap;overflow-wrap:anywhere}
.safety-preview-images{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:1rem 0}
.safety-preview-images img{width:100%;height:auto;border-radius:14px}
.safety-summary{background:#f7f3fb;font-size:.875rem;margin-bottom:1rem}
.safety-summary p{margin:.5rem 0}
.safety-history{padding-left:1.25rem;font-size:.875rem}
.safety-history li{padding:.7rem 0;border-bottom:1px solid #e9e2ed}
.safety-history pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.75rem}
.safety-error{color:#963b4b}
.safety-notice{position:fixed;z-index:100100;bottom:calc(90px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 24px);background:#453749;color:#fff;border-radius:16px;padding:1rem;box-shadow:0 8px 28px #342a3b22}
.safety-profile-tools{display:flex;justify-content:flex-end;align-items:center;gap:1rem;font-size:.875rem}
@media(min-width:48rem){.safety-dialog{inset:0;margin:auto;border-radius:24px;max-height:min(85dvh,900px)}.safety-notice{bottom:24px}}

.question-card__meta:has(>.safety-menu){grid-template-columns:2.5rem minmax(0,1fr) auto auto;gap:.45rem}
.answer-card__meta:has(>.safety-menu){grid-template-columns:2.25rem minmax(0,1fr) 44px}
.answer-card__meta>.safety-menu{grid-column:3;grid-row:1 / 4;align-self:start}
.answer-card__meta:has(>.safety-menu) time{grid-column:2;grid-row:3;text-align:start}

.safety-notice a{color:#fff;text-decoration:underline}

.safety-dialog{max-width:100vw}
.safety-dialog .safety-form__actions{position:sticky;bottom:-1.4rem;padding:1rem 0;background:#fff;border-top:1px solid var(--ft-border);z-index:1}
