/* INNOS v2.1 conversation layout; existing controls and personal preferences retained. */
body.clean-chat{--vchat-panel:var(--cs-surface,var(--v21-panel,#fff));--vchat-ink:var(--cs-ink,var(--v21-ink,#232c3c));--vchat-line:var(--cs-border,var(--v21-line,#d3d7de));--vchat-accent:var(--cs-accent,#2463eb)}
:root:not([data-chat-style]) body.clean-chat,:root[data-chat-style=default] body.clean-chat{--conversation-bg:#f0f1f3;--conversation-ink:#232c3c;--accent:#2463eb;--surface:#fff;--ink:#232c3c;--muted:#657083}
:root[data-theme=dark] body.clean-chat{--conversation-bg:#101620;--conversation-ink:#f5f6f8;--vchat-panel:var(--cs-surface,#18202b);--vchat-ink:var(--cs-ink,#f5f6f8);--vchat-line:var(--cs-border,#415066);--muted:#b8c3d3}
body.clean-chat .shell .rooms{padding:14px;border-radius:12px}
body.clean-chat .rooms>.section-head{padding:2px 0 12px;gap:10px;flex-wrap:wrap;border-bottom:1px solid var(--vchat-line)}
body.clean-chat .rooms>.section-head .section-actions{flex-wrap:wrap}
body.clean-chat .shell .room{border-radius:9px;padding:13px 14px;gap:3px;transition:background .12s,border-color .12s}
body.clean-chat .room strong{min-width:0;overflow-wrap:anywhere;line-height:1.5}
body.clean-chat .room span{font-size:12px;font-variant-numeric:tabular-nums}
:root[data-chat-density=compact] body.clean-chat .room{padding:7px 10px;margin-top:4px}
body.clean-chat .shell .chat{border-radius:12px;min-width:0;overflow:hidden}
body.clean-chat .shell .chat .chat-head{background:var(--vchat-panel)!important;color:var(--vchat-ink)!important;border-bottom:1px solid var(--vchat-line)!important;min-height:62px;padding:10px 16px!important}
body.clean-chat .shell #roomTitle{font-size:18px!important;font-weight:700;line-height:1.45}
body.clean-chat .shell .chat-head #connection.offline{display:block!important;position:absolute;top:100%;left:0;right:0;z-index:3;background:var(--vchat-panel);color:#b42318;padding:6px 14px;border-bottom:1px solid var(--vchat-line)}
body.clean-chat .shell .chat #messages{padding:18px 20px;overscroll-behavior:contain;scrollbar-gutter:stable}
body.clean-chat .shell .message{max-width:min(84%,620px);margin-bottom:16px}
:root[data-chat-density=compact] body.clean-chat .shell .message{margin-bottom:6px}
body.clean-chat .shell .message-bubble{padding:10px 13px;border-radius:4px 14px 14px 14px;box-shadow:0 1px 2px #1212140a}
body.clean-chat .shell .mine .message-bubble{border-radius:14px 4px 14px 14px}
body.clean-chat .shell .message-bubble p{font-size:var(--chat-font,15px);line-height:1.55}
body.clean-chat .shell .message-bubble time{margin-top:7px;font-size:11px;font-variant-numeric:tabular-nums}
body.clean-chat .shell .message-heading{margin-bottom:4px}
body.clean-chat .chat-date-divider{display:flex;align-items:center;gap:12px;margin:22px 0 18px;color:var(--muted);font-size:12px;text-align:center}
body.clean-chat .chat-date-divider:before,body.clean-chat .chat-date-divider:after{content:'';height:1px;flex:1;background:var(--vchat-line)}
body.clean-chat .shell .message-bubble .message-files:empty{display:none}
body.clean-chat .shell .message-bubble .message-files>div{padding:10px 12px;margin-top:8px;border:1px solid var(--vchat-line);border-radius:8px;background:var(--vchat-panel);color:var(--vchat-ink);overflow-wrap:anywhere}
body.clean-chat .shell .message-files a{color:var(--vchat-accent);line-height:1.6;text-decoration:none;overflow-wrap:anywhere}
body.clean-chat .shell .message-files a:hover{text-decoration:underline}
body.clean-chat .shell .message-files small{display:block;font-size:11px;line-height:1.5;color:var(--muted)}
body.clean-chat .shell #composer{padding:12px 16px max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--vchat-line)!important;background:var(--vchat-panel)!important;color:var(--vchat-ink)}
body.clean-chat .shell .composer-main{align-items:center;gap:12px}
body.clean-chat .shell #composer #sendMessage{border-radius:8px;min-height:40px;padding:9px 16px;margin:0;box-shadow:none}
body.clean-chat .shell #composer .composer-toolbar{gap:6px;padding-top:6px}
body.clean-chat .shell #composer .tool-button{border:1px solid var(--vchat-line);border-radius:8px;color:var(--vchat-ink);width:36px;height:34px;font-size:22px}
body.clean-chat .shell #uploadJobs>div{border:1px solid var(--vchat-line);border-radius:8px;padding:8px 10px;margin-top:6px;background:var(--vchat-panel);color:var(--vchat-ink)}
body.clean-chat .shell .reply-bar,body.clean-chat .shell .reply-preview{border-left:3px solid var(--vchat-accent);border-radius:4px;padding:8px 10px;overflow-wrap:anywhere}
body.clean-chat .shell #jumpLatest{border:1px solid var(--vchat-line);color:var(--vchat-ink);background:var(--vchat-panel);border-radius:20px;box-shadow:0 3px 12px #12121418}
body.clean-chat .compact-chat-menu-panel{border-radius:10px;box-shadow:0 8px 28px #12121425}
body.clean-chat .shell :is(button,a,summary,textarea):focus-visible{outline:2px solid var(--vchat-accent);outline-offset:2px}
@media(max-width:600px){body.clean-chat .shell .chat{border-radius:0}body.clean-chat .shell .chat .chat-head{padding:8px 10px!important;min-height:54px}body.clean-chat .shell #roomTitle{font-size:16px!important}body.clean-chat .shell .chat #messages{padding:12px}body.clean-chat .shell .message{max-width:92%}body.clean-chat .shell #composer{padding:8px 10px max(8px,env(safe-area-inset-bottom))}body.clean-chat .shell #composer #sendMessage{min-width:58px;padding:8px 10px;gap:4px}body.clean-chat .shell .chat-head :is(button,summary),body.clean-chat .shell #composer .tool-button{min-height:40px;min-width:40px}body.clean-chat .shell .rooms{padding:10px}body.clean-chat .shell .room{padding:12px}}
@media(prefers-reduced-motion:reduce){body.clean-chat .shell .room{transition:none}}
:root:not([data-chat-style]) body.clean-chat .shell .mine .message-bubble,:root[data-chat-style=default] body.clean-chat .shell .mine .message-bubble{background:var(--v21-own,#eaf0fe)!important;color:var(--vchat-ink)!important;border:1px solid var(--vchat-line)!important}
body.clean-chat .shell .unread-divider{background:var(--vchat-panel);color:var(--vchat-accent);border:1px solid var(--vchat-line);border-radius:20px;padding:7px 12px}
:root[data-theme=dark] body.clean-chat{--vchat-accent:var(--cs-accent,#9dbdff)}
:root[data-theme=dark] body.clean-chat .shell .message{background:transparent;border:0}
:root[data-theme=dark] body.clean-chat .shell .message-bubble{background:var(--vchat-panel)!important;color:var(--vchat-ink)!important;border:1px solid var(--vchat-line)!important}
:root[data-theme=dark] body.clean-chat .shell .room span{color:#b8c3d3}
/* The existing theme sheet loads asynchronously; scope higher-specificity overrides to the default theme. */
:root[data-theme][data-chat-style=default] body.clean-chat .shell #messages .message .message-bubble{background:var(--vchat-panel)!important;color:var(--vchat-ink)!important;border:1px solid var(--vchat-line)!important;border-radius:4px 14px 14px 14px!important}
:root[data-theme][data-chat-style=default] body.clean-chat .shell #messages .message.mine .message-bubble{background:var(--v21-own)!important;border-radius:14px 4px 14px 14px!important}
:root[data-theme][data-chat-style=default] body.clean-chat .shell #messages .message .message-bubble :is(time,small){color:var(--muted)!important}
:root[data-theme][data-chat-style=default] body.clean-chat .shell #messages .message .message-bubble a{color:var(--vchat-accent)!important}
:root[data-theme][data-chat-style=default] body.clean-chat .shell #messages{background:var(--conversation-bg)!important}
:root[data-theme][data-chat-style=default] body.clean-chat .shell #messages .message.media-only .message-bubble{background:transparent!important;border:0!important}

/* Hide redundant message ellipsis; contextmenu and touch long-press remain. */
#messages .message .message-menu-trigger{display:none!important}
