/* Optional context stays quiet; the type-first composer remains the primary action. */
.local-context { margin: 0 0 12px; color: var(--ink); }
.local-context > summary { display: flex; align-items: center; gap: 8px; min-height: 44px; font-size: 14px; flex-wrap: wrap; }
.local-context > summary::before { content: '+'; font-size: 18px; width: 16px; flex: none; }
.local-context[open] > summary::before { content: '−'; }
.local-context > summary { list-style: none; }
.local-context > summary::-webkit-details-marker { display: none; }
#local-summary-value { color: var(--ink-dim); overflow-wrap: anywhere; }
.local-context-body { padding: 16px; background: var(--surface-2); border-radius: var(--radius); }
.local-context-body p { margin: 0 0 12px; overflow-wrap: anywhere; }
.local-context-body p:last-child:empty { display: none; }
.local-context .local-meta, .specialist-card .local-meta { color: var(--ink-dim); font-size: 14px; line-height: 1.45; }
.local-manual { display: grid; grid-template-columns: minmax(0, 1fr) minmax(96px, .4fr); gap: 12px; margin-top: 16px; }
.local-manual label { display: flex; flex-direction: column; gap: 4px; font-size: 14px; min-width: 0; }
.local-manual input, .local-manual select { width: 100%; min-height: 48px; border: 1px solid var(--line); border-radius: 14px; padding: 8px 12px; background: var(--surface); font-size: 16px; }
.local-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.local-context button { min-height: 44px; }
.local-candidate { margin: 12px 0; padding: 16px; border-left: 3px solid var(--accent); }
.local-candidate strong { font-size: 16px; }
.local-candidate p { margin: 8px 0; }
.local-weather { padding-top: 16px; margin-top: 8px; border-top: 1px solid var(--line); }
.local-weather > strong { display: block; margin-bottom: 8px; }
.local-forecast { margin: 12px 0; }
.local-alert { padding: 12px; margin: 12px 0; background: var(--warn-bg); border-radius: 14px; }
.local-alert summary { min-height: 44px; font-weight: 650; overflow-wrap: anywhere; }
.local-alert-unavailable { color: var(--warn-dim); }
.local-official-text { white-space: pre-wrap; }
.local-weather a, .specialist-card a { display: inline-flex; align-items: center; min-height: 44px; overflow-wrap: anywhere; }
.specialist-card { margin: 12px 0; padding: 12px 16px; background: var(--surface-2); border-left: 3px solid var(--line); border-radius: 0 14px 14px 0; }
.specialist-card strong { display: block; font-size: 14px; }
.specialist-card p { margin: 4px 0; }
.specialist-card details > summary { display: flex; align-items: center; font-size: 14px; }
.specialist-card ul { padding-left: 20px; margin: 4px 0; }
.specialist-card li { margin: 4px 0; overflow-wrap: anywhere; }
@media (max-width: 360px) { .local-context-body { padding: 12px; } .local-manual { gap: 8px; } }
