.site-nav .btn { margin-left: 12px; }
.showcase { max-width: 960px; margin: 32px auto; padding: 0 24px; }
.showcase pre { background: var(--surface-subtle); border: 1px solid var(--hairline); border-radius: var(--radius-sm); padding: 12px; overflow-x: auto; white-space: pre-wrap; word-break: break-all; }
.showcase form .field { margin-bottom: 12px; }
.showcase input, .detail-pane input, .controls input { width: 100%; padding: 8px 10px; border: 1px solid var(--hairline-strong); border-radius: var(--radius-sm); font: inherit; }
#itinerary { margin-top: 24px; }
#hold-out table { margin-top: 12px; }
/* v4: one focus sheet over the map; browse and settlement open as drawers (canvas vibehard-atlas-v4). */
.layout { display: block; }
.layout .map-pane { position: absolute; inset: 0; min-height: 0; }
.sheet { position: relative; z-index: 1; width: calc(100% - 32px); max-width: 660px; max-height: calc(100% - 48px); overflow-y: auto; margin: 24px auto; padding: 32px; background: var(--surface); border: 1px solid var(--hairline); border-radius: 8px; box-shadow: 0 1px 2px rgba(0, 0, 0, .08); pointer-events: auto; }
.sheet h2 { font-size: 1.5rem; line-height: 1.2; }
.eyebrow { font-size: 13px; color: var(--text-secondary); margin: 0 0 8px; }
dialog.drawer, dialog.right { position: fixed; margin: 0; inset-block: 0; height: 100vh; max-height: 100vh; padding: 24px; border: 0; background: var(--surface); overflow-y: auto; box-shadow: 0 1px 2px rgba(0, 0, 0, .08); }
dialog.drawer { inset-inline: 0 auto; width: min(360px, 88vw); }
dialog.right { inset-inline: auto 0; width: min(480px, 94vw); }
dialog::backdrop { background: rgba(22, 24, 27, .32); }
dialog .browse-pane { border: 0; height: auto; }
dialog .venue-list { max-height: 50vh; overflow-y: auto; }
.close { float: right; border: 0; background: transparent; cursor: pointer; min-height: 44px; padding: 0 8px; }
.site-nav kbd { font: inherit; font-size: 12px; margin-inline-start: 8px; color: var(--text-secondary); }
.banner { position: relative; z-index: 2; padding: 6px 16px; font-size: 13px; text-align: center; background: var(--accent-soft, #eef2ff); }
