:root{--sfondo: #1b1714;--superficie: #2a2320;--testo: #f2e9e1;--tenue: #b5a79b;--accento: #c6753f;--errore: #d97070;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--sfondo);color:var(--testo);font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5}.app{min-height:100dvh;display:flex;flex-direction:column;max-width:34rem;margin:0 auto;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));gap:1rem}.app__header{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:.75rem;margin:-1rem -1rem 0;padding:.75rem 1rem;background:var(--sfondo);border-bottom:1px solid #3a302b}.app__avatar{width:3.25rem;height:3.25rem;border-radius:50%;flex:none;object-fit:cover;background:radial-gradient(circle at 35% 30%,var(--accento),#6d3a21)}.app__title{margin:0;font-size:1.25rem}.app__heading{flex:1;min-width:0}.app__locale{flex:none;font:inherit;font-size:.85rem;color:var(--tenue);background:none;border:1px solid #3a302b;border-radius:.6rem;padding:.4rem .7rem}.app__subtitle{margin:0;font-size:.85rem;color:var(--tenue)}.chat{flex:1;display:flex;flex-direction:column;gap:.75rem}.chat__message{margin:0;max-width:88%;align-self:flex-start;white-space:pre-wrap;background:var(--superficie);border-radius:.9rem .9rem .9rem .2rem;padding:.85rem 1rem}.gate{flex:1;display:flex;flex-direction:column;gap:.75rem}.chat__message--visitor{align-self:flex-end;background:#4a3426;border-radius:.9rem .9rem .2rem}.gate__portrait{align-self:center;width:min(60%,14rem);border-radius:.9rem}.composer{position:sticky;bottom:0;display:flex;gap:.5rem;margin:0 -1rem calc(-1rem - env(safe-area-inset-bottom));padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));background:var(--sfondo)}.composer__input{flex:1;min-width:0;font:inherit;color:var(--testo);background:var(--superficie);border:1px solid #3a302b;border-radius:.6rem;padding:.7rem .85rem}.composer__send{font:inherit;color:var(--sfondo);background:var(--accento);border:none;border-radius:.6rem;padding:0 1rem}.composer__send:disabled{opacity:.5}.chat__note{margin:0;font-size:.8rem;color:var(--tenue)}.chat__note--error{color:var(--errore)}
