/* Shared presentation for site-owned dialogs. Content previews remain full-screen. */
:root {
  --site-dialog-padding:20px;
  --site-dialog-gap:16px;
  --site-dialog-backdrop:rgba(0,0,0,.2);
}
dialog.site-dialog,dialog.site-dialog.has-qr {
  box-sizing:border-box;
  width:min(var(--site-dialog-width,360px),calc(100% - 36px));
  max-width:calc(100% - 36px);
  max-height:calc(100dvh - 36px);
  margin:auto;
  padding:var(--site-dialog-padding);
  overflow:auto;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:var(--paper);
  color:var(--ink);
  font:400 13px/20px var(--sans);
}
dialog.site-dialog::backdrop { background:var(--site-dialog-backdrop); backdrop-filter:none; -webkit-backdrop-filter:none; }
dialog.site-dialog :is(h2,.site-dialog-title) { margin:0; font:600 16px/24px var(--sans); color:var(--ink); }
dialog.site-dialog [tabindex="-1"]:focus { outline:none; }
dialog.site-dialog :is(.social-dialog-heading,.dialog-heading) { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 12px; }
dialog.site-dialog :is(.social-dialog-heading,.dialog-heading) h2 { min-width:0; }
dialog.site-dialog p { margin:12px 0 0; font:400 13px/20px var(--sans); color:var(--muted); overflow-wrap:anywhere; }
dialog.site-dialog :is(.notice,[role="status"]):empty { display:none; }
dialog.site-dialog :is(.notice,[role="status"]):not(:empty) { margin:12px 0 0; min-height:0; }
dialog.site-dialog .error-notice { color:var(--ink); }
dialog.site-dialog :is(.site-dialog-actions,.power-dialog-actions,.delete-photo-actions) { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:8px 20px; margin:var(--site-dialog-gap) 0 0; }
dialog.site-dialog :is(.site-dialog-actions,.power-dialog-actions,.delete-photo-actions)>button {
  min-width:0; min-height:32px; margin:0; padding:6px 0;
  border:0; border-radius:0; box-shadow:none; background:transparent; color:var(--ink);
  font:400 13px/20px var(--sans); white-space:normal; cursor:pointer;
}
dialog.site-dialog :is(.site-dialog-actions,.power-dialog-actions)>:is(.primary,.site-dialog-primary) { font-weight:500; }
dialog.site-dialog button:hover:not(:disabled) { background:transparent; opacity:.65; }
dialog.site-dialog button:disabled { opacity:.4; cursor:default; }
dialog.site-dialog button:focus-visible { outline:1px solid var(--ink); outline-offset:3px; }
dialog.site-dialog :is(.icon-button,.close-icon) { display:inline-flex; flex:none; align-items:center; justify-content:center; position:relative; width:24px; height:24px; min-height:0; padding:4px; border:0; border-radius:0; background:transparent; color:var(--ink); }
dialog.site-dialog :is(.icon-button,.close-icon) svg { display:block; width:16px; height:16px; }
dialog.site-dialog :is(.icon-button,.close-icon):focus-visible { background:transparent; }
dialog.site-dialog a { color:var(--ink); font-size:13px; }
dialog.site-dialog :is(input:not([type="radio"]):not([type="checkbox"]),select,textarea) { box-sizing:border-box; width:100%; min-width:0; margin-top:5px; padding:8px 10px; border:1px solid var(--line); border-radius:0; background:transparent; color:var(--ink); font:400 13px/20px var(--sans); }
dialog.site-dialog .power-options { display:grid; gap:4px; margin:var(--site-dialog-gap) 0 0; padding:0; border:0; min-width:0; }
dialog.site-dialog .power-option { display:flex; align-items:center; gap:10px; min-height:36px; margin:0; padding:8px 0; border:0; border-radius:0; background:transparent; cursor:pointer; }
dialog.site-dialog .power-option:has(input:disabled) { opacity:.45; cursor:default; }
dialog.site-dialog .power-option input { display:block; flex:none; width:14px; height:14px; min-height:0; margin:0; padding:0; accent-color:var(--ink); }
dialog.site-dialog .power-option input:focus-visible { outline:1px solid var(--ink); outline-offset:3px; }
dialog.site-dialog.delete-photo-dialog { --site-dialog-width:320px; }
dialog.site-dialog.social-dialog { --site-dialog-width:340px; }
dialog.site-dialog.social-dialog.has-qr { --site-dialog-width:400px; }
dialog.site-dialog.social-dialog #social-description { margin-top:12px; font-size:13px; }
dialog.site-dialog.social-dialog .social-dialog-heading { margin-bottom:12px; }
dialog.site-dialog.social-dialog #social-link { margin-top:16px; }
.wechat-popover { border:0; border-radius:0; box-shadow:none; background:var(--paper); }
.site-dialog-pointer-focus:focus { outline:none; background:transparent; box-shadow:none; }
@media(pointer:coarse) {
  dialog.site-dialog :is(.site-dialog-actions,.power-dialog-actions,.delete-photo-actions)>button { min-height:44px; min-width:44px; }
  dialog.site-dialog .power-option { min-height:44px; }
  dialog.site-dialog :is(.icon-button,.close-icon)::before { content:""; position:absolute; inset:-10px; }
  dialog.site-dialog :is(input:not([type="radio"]):not([type="checkbox"]),select,textarea) { font-size:16px; }
}
@media(forced-colors:active) { dialog.site-dialog { border:1px solid CanvasText; } }
