.world-editor .details-body { padding-top:14px; }
.share-dialog { width:min(440px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); padding:24px; overflow:auto; background:var(--paper); color:var(--ink); border:1px solid #afba9f; border-radius:16px; }
.share-dialog::backdrop { background:#102c27a6; backdrop-filter:blur(4px); }
.share-dialog h2 { padding-right:40px; font-size:27px; line-height:1.2; }
.share-close { position:absolute; top:12px; right:12px; width:44px; height:44px; border-radius:50%; font-size:28px; }
.share-dialog p { font-size:13px; line-height:1.65; margin-block:10px; }
.share-dialog label { margin-top:14px; }
.share-dialog textarea { min-height:62px; overflow-wrap:anywhere; font-size:12px; }
.share-dialog > .button { width:100%; margin-top:14px; }
.share-dialog details { border-top:1px solid var(--line); margin-top:20px; padding-top:4px; }
.share-dialog summary { min-height:48px; display:flex; align-items:center; justify-content:space-between; font-size:14px; }
.share-dialog summary::after { content:'+'; font-size:22px; }
.share-dialog .text-button { display:block; }
.share-dialog .delete-actions { display:flex; align-items:center; gap:18px; }
.gift-qr { width:160px; height:160px; display:block; margin:24px auto 10px; image-rendering:pixelated; border:8px solid white; border-radius:8px; }
body.recipient > :is(.site-header,main,.site-footer,.skip-link) { display:none; }
.recipient-landing { min-height:100dvh; max-width:520px; margin:auto; padding:40px 24px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:24px; text-align:center; }
.recipient-landing h1 { font:500 38px/1.15 var(--serif); overflow-wrap:anywhere; }
.recipient-landing p { font-size:15px; line-height:1.7; }
.recipient-landing .recipient-people { width:192px; height:110px; image-rendering:pixelated; }
.recipient-landing .button { min-width:220px; }
@media (max-width: 520px) {
  .field-pair:has(#person-outfit) { grid-template-columns: minmax(0, 1fr); }
  #outfit-colors { display: grid; grid-template-columns: repeat(4, minmax(44px, 1fr)); justify-items: center; }
}
