:root{--bg:#eef8f9;--surface:#fff;--surface-tint:#e2f3f5;--text:#122e31;--muted:#557277;--border:#cbe4e8;--accent:#0b7a84;--accent-hover:#08616a;--accent-soft:#c8ebef;--teal-light:#5fd4dc;--live:#14a8a0;--badge:#0a4f5c;--danger:#c0392b;--radius:12px;--shadow:0 1px 2px #084e560f, 0 4px 16px #084e5612;color:var(--text);background:var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.55}button.link{color:var(--accent);background:0 0;border:0;padding:0}button.link:hover{color:var(--accent-hover);text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}code{background:var(--surface-tint);border-radius:4px;padding:0 .3em}.error{color:var(--danger)}.login{background:radial-gradient(40rem 30rem at 15% 10%, #5fd4dc52, transparent 60%), radial-gradient(35rem 30rem at 90% 90%, #0b7a842e, transparent 60%), var(--bg);place-items:center;min-height:100vh;padding:1rem;display:grid}.login form{background:var(--surface);border:1px solid var(--border);width:min(22rem,100%);box-shadow:var(--shadow);border-radius:16px;gap:.9rem;padding:1.75rem;display:grid}.login h1{color:var(--accent-hover);align-items:center;gap:.6rem;margin:0 0 .25rem;font-size:1.4rem;display:flex}.login label{color:var(--muted);gap:.3rem;font-size:.9rem;display:grid}.login input,.composer textarea,.edit textarea{font:inherit;color:var(--text);border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:.55rem .7rem}.login input:focus,.composer textarea:focus,.edit textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #0b7a8429}.login form>button,.composer button{background:var(--accent);color:#fff;border:0;border-radius:8px;font-weight:600}.login form>button{padding:.65rem}.login form>button:hover:not(:disabled),.composer button:hover:not(:disabled){background:var(--accent-hover)}.hint{color:var(--muted);margin:0;font-size:.8rem}.chat{grid-template-columns:16rem 1fr;height:100vh;display:grid}.chat>main{background:var(--bg);min-width:0}.chat aside{border-right:1px solid var(--border);background:var(--surface);overflow-y:auto}.chat aside header{border-bottom:1px solid var(--border);background:linear-gradient(135deg, var(--surface-tint), var(--surface));justify-content:space-between;align-items:center;padding:1rem;display:flex}.chat aside h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:1rem 1rem 0;font-size:.7rem}.chat aside ul{margin:0;padding:.5rem;list-style:none}.chat aside li button{text-align:left;width:100%;color:var(--text);background:0 0;border:0;border-radius:10px;padding:.55rem .75rem;display:grid}.chat aside li button:hover{background:var(--surface-tint)}.chat aside li button.active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.chat aside small,.conversation header small{color:var(--muted)}.chat aside li button .name{overflow-wrap:anywhere}.chat aside .name{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.status{color:var(--muted);margin-left:auto;margin-right:.75rem;font-size:.7rem}.status:before{content:"●";color:#b3cdd1;margin-right:.25rem}.status.live:before{color:var(--live)}.badge{background:var(--badge);color:#fff;text-align:center;border-radius:999px;min-width:1.3rem;padding:0 .4rem;font-size:.72rem;font-weight:700;line-height:1.3rem}.empty{color:var(--muted);padding:2rem}.banner{background:var(--accent-soft);cursor:pointer;margin:0;padding:.6rem 1rem}.notice{color:var(--accent-hover)}.conversation{grid-template-rows:auto 1fr auto auto;height:100vh;display:grid}.conversation>header{border-bottom:1px solid var(--border);background:linear-gradient(135deg, var(--surface-tint), var(--surface));padding:1rem 1.25rem}.messages{flex-direction:column;gap:.6rem;padding:1.25rem;display:flex;overflow-y:auto}.message{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);max-width:70%;box-shadow:var(--shadow);border-bottom-left-radius:4px;padding:.55rem .8rem}.message.mine{background:var(--accent-soft);border-bottom-left-radius:var(--radius);border-color:#aedde3;border-bottom-right-radius:4px;align-self:flex-end}.message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.message footer{color:var(--muted);margin-top:.3rem;font-size:.72rem}.message .edit{gap:.3rem;display:grid}.email-subject{font-weight:600}.email-subject+p{margin-top:.25rem}.empty-body{color:var(--muted);font-style:italic}.conversation>.error{margin:0;padding:0 1.25rem}.composer{border-top:1px solid var(--border);background:var(--surface);gap:.6rem;padding:1rem 1.25rem;display:flex}.composer textarea{resize:vertical;flex:1}.edit textarea{resize:vertical}.composer button{padding:0 1.4rem}@media (width<=40rem){.chat{grid-template-rows:auto 1fr;grid-template-columns:1fr}.chat aside{border-right:0;border-bottom:1px solid var(--border);max-height:35vh}.conversation{height:65vh}}
