
:root{font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--page);color-scheme:light;--text:#283342;--page:#f2f3f5;--surface:#fff;--panel:#f7f8fa;--own:#eef1f5;--line:#dfe4eb;--muted:#65748a;--blue:#465366;--hover:#eef1f5;--tag:#edf0f4;--code:#f3f5f8;--link:#465a78;--error:#b33838;--send-text:#fff}
:root[data-theme="dark"]{color-scheme:dark;--text:#dfe4ec;--page:#14171c;--surface:#20252d;--panel:#191e25;--own:#282f39;--line:#343d49;--muted:#a2adbc;--blue:#b9c6d8;--hover:#2d3541;--tag:#303947;--code:#191e25;--link:#bed1ed;--error:#ffaaa6;--send-text:#1b2330}
*{box-sizing:border-box}body{margin:0}[hidden]{display:none!important}button,input,textarea{font:inherit}button{cursor:pointer;padding:8px 12px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:8px;transition:background .12s}button:hover{background:var(--hover)}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #9bb9f5;outline-offset:2px}input,textarea{border:1px solid var(--line);border-radius:9px;padding:11px 12px;color:inherit;background:var(--surface)}input:focus,textarea:focus{outline:2px solid #aec7f5;outline-offset:1px}h1{font-size:23px;margin:0 0 8px}h2{font-size:14px;margin:0 0 12px}
#login{max-width:380px;margin:12vh auto;padding:28px;display:grid;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 30px #283c5810}main{height:100dvh;max-width:1040px;margin:auto;display:flex;flex-direction:column;background:var(--panel);border-inline:1px solid var(--line)}header{display:flex;align-items:center;gap:9px;padding:17px 24px;background:var(--surface);border-bottom:1px solid var(--line);flex-shrink:0}header strong{margin-right:auto;font-size:17px;letter-spacing:-.3px}header button{font-size:12px;white-space:nowrap}#logout{border-color:transparent;color:var(--muted)}

#messages{flex:1;min-height:80px;overflow:auto;overscroll-behavior:contain;padding:24px;scrollbar-color:#cbd5e3 transparent}.empty{color:var(--muted);font-size:13px;text-align:center;padding:40px 0}.message{--sender:#526b97;background:var(--surface);border:1px solid var(--line);border-left:1px solid var(--line);border-radius:11px;padding:15px 18px;margin:0 28px 16px 0;box-shadow:none}.message.own{margin-left:28px;margin-right:0;background:var(--own);border-color:var(--line)}.meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px;min-width:0}.meta strong{color:var(--text);font-weight:600;overflow-wrap:anywhere;min-width:0}.avatar{display:inline-grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:8px;background:var(--tag);color:var(--muted);font-size:11px;font-weight:700}.meta .badge{font-size:10px;font-weight:600;background:var(--tag);color:var(--muted);border-radius:5px;padding:2px 6px}.meta time{margin-left:auto;color:var(--muted);font-size:10px;white-space:nowrap}.body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;margin-top:10px}pre{font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;background:var(--code);padding:12px 14px;border:1px solid var(--line);border-radius:7px}.body pre{overflow:auto;white-space:pre;max-width:100%;margin:10px 0}.body code{font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace}.older{display:block;margin:0 auto 20px;font-size:11px;color:var(--muted);border-radius:20px}
.attachment{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px;padding:10px 12px;border:1px solid var(--line);background:var(--panel);border-radius:7px;font-size:12px}.attachment a{color:var(--link);font-weight:600;overflow-wrap:anywhere;text-decoration:none}.attachment a:hover{text-decoration:underline}.attachment small{color:var(--muted);white-space:nowrap}
#compose{display:flex;align-items:flex-end;gap:10px;padding:16px 24px 8px;border-top:1px solid var(--line);background:var(--surface);flex-shrink:0}textarea{flex:1;min-width:0;resize:none;height:42px;min-height:42px;max-height:180px}textarea::placeholder{color:#8290a4}#send{height:42px;background:var(--blue);border-color:var(--blue);color:var(--surface);font-weight:600;padding-inline:20px}#send:hover{background:#354152}#error,#login-error{color:var(--error);font-size:12px;min-height:17px;margin:0;padding:2px 24px 8px;background:var(--surface);overflow-wrap:anywhere}#login-error{padding:0;min-height:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:600px){main{border:0}header{padding:12px;gap:6px;flex-wrap:wrap}header strong{font-size:15px}header button{padding:7px 8px;font-size:11px}#messages{padding:16px 12px}.message{padding:12px;margin-right:10px;margin-bottom:12px}.message.own{margin-left:10px}.meta{gap:6px}.meta strong{max-width:calc(100% - 40px);font-size:11px}.meta time{font-size:10px}#compose{padding:12px 12px 6px}#error{padding-inline:12px}#login{margin:10vh 16px;max-width:none}.avatar{width:24px;height:24px;flex-basis:24px}}

#identity{font-size:12px;color:var(--muted);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-hint{color:var(--muted);font-size:12px;margin:0 0 4px}.file-link{color:var(--link);text-decoration:underline;text-underline-offset:3px;font-weight:500}.checksum{color:#7b8492;font-size:12px}@media(max-width:600px){#identity{max-width:80px;font-size:11px}}

#attach-button{display:grid;place-items:center;flex:0 0 40px;width:40px;height:42px;padding:8px;margin-bottom:0;border:0;border-radius:8px;background:transparent;color:var(--muted)}#attach-button:hover{background:var(--own);color:var(--text)}#attach-button svg{display:block;pointer-events:none}#upload-status{background:var(--surface);color:var(--muted);font-size:11px;line-height:1.5;overflow-wrap:anywhere;margin:0;padding:2px 24px 6px}@media(max-width:600px){#compose{gap:6px}#attach-button{flex-basis:34px;width:34px;padding:5px}#upload-status{padding-inline:12px}}

#compose textarea{line-height:20px;padding:10px 12px}

#theme-toggle{font-size:12px;white-space:nowrap}body>#theme-toggle{position:absolute;top:16px;right:20px}#theme-slot{display:flex;align-items:center}#send{color:var(--send-text)}#send:hover{background:var(--blue);filter:brightness(.92)}.login-hint{color:var(--muted)}.body .inline-code{background:var(--code);border:1px solid var(--line);border-radius:4px;padding:1px 4px;box-decoration-break:clone}.code-block{border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:10px 0;background:var(--code)}.code-label{padding:5px 12px;border-bottom:1px solid var(--line);color:var(--muted);font:11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.body .code-block pre{margin:0;border:0;border-radius:0;background:transparent}.attachment{gap:10px}.attachment small{margin-left:auto}#messages{scrollbar-color:var(--line) transparent}@media(max-width:600px){#theme-toggle{padding:7px 8px;font-size:11px}header strong{min-width:100px}header #identity{max-width:70px}.meta time{font-variant-numeric:tabular-nums}}
