.observation-dialog .observation-content { width: min(100%, 760px); margin: 0 auto; padding: 12px clamp(20px, 4vw, 48px) max(48px, env(safe-area-inset-bottom)); box-sizing: border-box; }
.observation-dialog .record-header { max-width: 1120px; margin-inline: auto; }
.observation-context { display: grid; grid-template-columns: 72px minmax(0, 1fr); align-items: center; gap: 24px; padding-bottom: 28px; margin-bottom: 28px; border-bottom: 1px solid var(--record-line); }
.observation-context img { width: 72px; height: 96px; object-fit: contain; }
.observation-context:has(img[hidden]) { grid-template-columns: minmax(0, 1fr); }
.observation-context .observation-work-title { font: 22px/1.6 var(--font-art); overflow-wrap: anywhere; }
.observation-context .record-small { margin-top: 8px; }
dialog.observation-dialog form.observation-form { position: static; inset: auto; }
.observation-dialog .record-field { margin-bottom: 12px; }
.observation-dialog .record-field textarea { min-height: 168px; line-height: 1.8; }
.observation-form > .record-field-help { margin-top: 24px; }
.observation-dialog .record-form-actions { margin-top: 24px; }
.observation-dialog .record-close { white-space: nowrap; }
.observation-draft-state > p:empty { display: none; }
.observation-draft-conflict { margin-top: 12px; }
@media (max-width: 479px) {
  .observation-context { gap: 16px; margin-bottom: 20px; padding-bottom: 20px; }
  .observation-context .observation-work-title { font-size: 20px; }
  .observation-dialog .observation-content { padding-top: 0; }
  .observation-dialog .record-field textarea { min-height: 140px; }
}
