:root { --bg: #fbfaf7; --fg: #1d1b18; --muted: #5a554d; --accent: #8a3b12; --bot: #efe9df;
        --user: #e2ecf4; --focus: #0b57d0; --error: #a1150b; }
* { box-sizing: border-box; }
body { margin: 0; font: 1rem/1.5 system-ui, sans-serif; background: var(--bg); color: var(--fg); }
.skip-link { position: absolute; left: -999px; }
.skip-link:focus { left: 1rem; top: 1rem; background: var(--fg); color: var(--bg); padding: .5rem; }
.top { display: flex; gap: 1rem; align-items: center; padding: .75rem 1rem; border-bottom: 1px solid #ddd; }
.top h1 { font-size: 1.25rem; margin: 0 auto 0 0; }
main { max-width: 46rem; margin: 0 auto; padding: 1rem; }
.msg { border-radius: .75rem; padding: .75rem 1rem; margin: .75rem 0; }
.msg.user { background: var(--user); margin-left: 3rem; }
.msg.bot { background: var(--bot); margin-right: 3rem; }
.who { font-weight: 600; margin: 0 0 .25rem; color: var(--muted); }
.text { white-space: pre-wrap; overflow-wrap: anywhere; }
.system-line { color: var(--muted); font-style: italic; }
.cut-off { color: var(--muted); }
.error { color: var(--error); }
label { display: block; font-weight: 600; margin-top: .5rem; }
textarea, input[type=text], input[type=email], input:not([type]) { width: 100%; font: inherit; padding: .5rem; }
button { font: inherit; padding: .4rem .9rem; cursor: pointer; }
button:disabled { opacity: .6; cursor: not-allowed; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.thumb { border: 2px solid transparent; background: transparent; border-radius: 999px; }
.thumb.selected { border-color: var(--accent); background: #fff; }
.thumb.selected::after { content: " \2713" / ""; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.feedback-form { margin-top: .5rem; }
@media (max-width: 30rem) { .msg.user { margin-left: 0; } .msg.bot { margin-right: 0; } }
#flash { position: sticky; top: 0; z-index: 1; margin: 0; padding: .5rem 1rem; background: var(--bg); border-bottom: 1px solid var(--error); }
