/* B-050 UGC safety UI. System colors keep 4.5:1+ contrast in light and dark. */
.ugc-dialog{max-inline-size:min(32rem,calc(100vw - 2rem));padding:var(--cp-space-6,24px);border:1px solid CanvasText;border-radius:var(--cp-radius-surface,16px);background:Canvas;color:CanvasText;font-family:var(--cp-font,inherit)}
.ugc-dialog::backdrop{background:rgb(0 0 0 / .55)}
.ugc-dialog h2{margin-block:0 var(--cp-space-3,12px);font-size:1.25rem}
.ugc-dialog fieldset{border:0;padding:0;margin:0 0 var(--cp-space-4,16px)}
.ugc-dialog legend{font-weight:700;margin-block-end:var(--cp-space-2,8px)}
.ugc-dialog a{color:LinkText;text-decoration:underline}
.ugc-check{display:flex;align-items:center;gap:var(--cp-space-2,8px);min-block-size:44px;cursor:pointer}
.ugc-check input{inline-size:22px;block-size:22px;margin:0;flex:none}
.ugc-actions,.ugc-inline{display:flex;flex-wrap:wrap;gap:var(--cp-space-2,8px);margin-block-start:var(--cp-space-3,12px)}
.ugc-btn{min-block-size:44px;min-inline-size:44px;padding:0 var(--cp-space-4,16px);border:1px solid currentColor;border-radius:var(--cp-radius-control,8px);background:transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer}
.ugc-btn-small{font-size:.875rem}
.ugc-btn-primary{background:#0753b7;border-color:#0753b7;color:#fff}
.ugc-btn-danger{background:#b42318;border-color:#b42318;color:#fff}
.ugc-btn:disabled{opacity:.6;cursor:not-allowed}
.ugc-btn:focus-visible{outline:3px solid Highlight;outline-offset:2px}
.ugc-center{max-inline-size:72rem;margin:var(--cp-space-8,32px) auto;padding:var(--cp-space-6,24px);border:1px solid var(--cp-line,#ced8e5);border-radius:var(--cp-radius-surface,16px)}
.ugc-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--cp-space-3,12px)}
.ugc-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--cp-space-3,12px);padding-block:var(--cp-space-2,8px);border-block-end:1px solid var(--cp-line,#ced8e5)}
.ugc-preview{margin:var(--cp-space-1,4px) 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.ugc-live{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
