.guest-page { padding-block: clamp(2.5rem, 6vw, 5rem); }
.guest-page h1 { font-size: clamp(3rem, 8vw, 6rem); }
.guest-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; align-items: start; }
.panel { min-width: 0; padding: clamp(1rem, 4vw, 2rem); border: 1px solid #525a92; background: #131337d9; }
.panel h2 { font-size: clamp(2rem, 4vw, 3rem); }
.panel form, .panel label { display: grid; gap: .45rem; }
.panel form { gap: .9rem; }
.panel input, .panel textarea { width: 100%; min-width: 0; padding: .65rem; font: inherit; color: var(--cream); background: var(--ink); border: 1px solid #828bb8; border-radius: .25rem; }
.panel textarea { resize: vertical; }
.panel small { color: var(--muted); }
.panel button { cursor: pointer; font: inherit; }
.panel .button { justify-self: start; border: 0; font-weight: 700; }
.panel :focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.conversation { max-height: 22rem; overflow: auto; padding: 1rem; background: var(--ink); overflow-wrap: anywhere; }
.conversation p { margin-top: 0; }
.conversation p:last-child { margin-bottom: 0; }
.conversation strong { color: var(--gold); }
.prompts { display: flex; gap: .5rem; flex-wrap: wrap; margin-block: 1rem; }
.prompts button { padding: .4rem .65rem; color: var(--cream); background: transparent; border: 1px solid #828bb8; border-radius: .25rem; }
.chat-input { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; }
[aria-current="page"] { text-decoration: underline; text-underline-offset: .25em; }
@media (max-width: 760px) { .guest-grid { grid-template-columns: 1fr; } }
