:root{font:16px/1.55 "Segoe UI",system-ui,sans-serif;color:#182c28;background:#f5f7f3;--surface:white;--ink:#182c28;--line:#cfdad1;--quiet:#52695d;--tint:#e7f2e8;--strong:#11664c;--button:white}
*{box-sizing:border-box}body{margin:0}main{max-width:780px;margin:auto;padding:42px 22px;min-height:100vh}header{display:flex;align-items:center;gap:14px;padding-bottom:24px;border-bottom:1px solid var(--line)}header h1{font-size:1.45rem;margin:0}header p{margin:0;color:var(--quiet);font-size:.92rem}header button{margin-left:auto}.mark{display:grid;place-items:center;color:#fff;background:#18543e;border-radius:13px;width:46px;height:46px;font-size:1.45rem;font-weight:700}h2{font-size:1.25rem;margin:0 0 22px}#login{padding:30px 0;max-width:430px}label{display:block;font-weight:600;margin-bottom:8px}input,textarea{background:var(--surface);color:var(--ink);font:inherit;padding:12px 14px;border:1px solid var(--line);border-radius:10px;width:100%}input{margin-bottom:14px}textarea{display:block;resize:vertical}button{font:600 .95rem/1.25 "Segoe UI",system-ui,sans-serif;background:var(--strong);color:var(--button);border:0;border-radius:8px;padding:11px 16px;cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #63b294;outline-offset:2px}#history{display:grid;gap:14px;padding:22px 0}.turn{padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow-wrap:anywhere}.turn.user{background:var(--tint);margin-left:12%}.turn b{font-size:.79rem;color:var(--quiet)}.turn p{white-space:pre-wrap;margin:3px 0}.actions{display:flex;gap:8px;margin-top:10px}#clear,#disconnect{color:var(--quiet);background:transparent;border:1px solid var(--line)}#clear{margin-right:auto}#status{color:var(--quiet);margin:18px 0}[hidden]{display:none!important}@media(max-width:500px){main{padding:22px 14px}.turn.user{margin-left:6%}}@media(prefers-color-scheme:dark){:root{background:#14201c;color:#e9f2ea;--ink:#e9f2ea;--surface:#202e28;--line:#435549;--quiet:#b3c6b6;--tint:#213c2e;--strong:#90d7ac;--button:#10291c}}
