.panel, .field, .question { min-width: 0; }
.field { align-content: start; }
fieldset.field { border: 0; padding: 0; margin-inline: 0; }
fieldset.field legend { padding: 0; margin-bottom: 7px; font-size: 13px; font-weight: 600; }
.unknown-choice { display: flex; align-items: center; gap: 10px; min-height: 44px; font-weight: 500; }
input[type="checkbox"] { flex-shrink: 0; }
input:disabled { background: var(--paper); color: var(--muted); }
button:disabled { opacity: .6; cursor: default; }
[aria-invalid="true"] { border-color: #9b493b; outline: 2px solid #9b493b; outline-offset: 1px; }
.button-row { align-items: flex-start; }
.share-action { flex: 1 1 100%; display: flex; align-items: flex-start; flex-wrap: wrap; gap: 8px 12px; }
.share-action button { flex: 0 1 auto; }
.share-notice { flex: 1 1 220px; margin: 0; font-size: 12px; color: var(--muted); overflow-wrap: anywhere; }
.memo-preview { margin-top: 18px; }
.memo-preview summary { cursor: pointer; min-height: 44px; padding-block: 8px; }
.memo-preview label { display: block; }
.memo-preview textarea { display: block; width: 100%; min-height: 240px; resize: vertical; padding: 12px; border: 1px solid var(--line); border-radius: 3px; background: #fff; color: var(--ink); font: inherit; font-size: 16px; line-height: 1.8; }
summary:focus-visible, textarea:focus-visible, [tabindex="-1"]:focus { outline: 3px solid var(--accent); outline-offset: 3px; }
.toast:empty { min-height: 0; margin: 0; }
#toast { grid-column: 1 / -1; margin: 0; }
