/** * dsh-fullwidth — browser half. * * The whole chat column width is driven by one CSS custom property, * `--dsh-chat-content-width`, defined as a hardcoded `748px` on the * ConversationRoot element. The composer/input width derives from it * (`--dsh-composer-card-max-width: calc(var(--dsh-chat-content-width) + 32px)`), * as do the user bubbles. So overriding that single variable widens the * transcript AND the input box together. * * We can't target the ConversationRoot class directly — it is content-hashed * and changes between builds — so we set the variable on every element with * `!important`. `!important` beats the app's normal declaration regardless of * selector specificity, so the override wins on the root element too, and the * value inherits/derives everywhere it is consumed. * * Rebind the width by editing CONTENT_WIDTH below. * @module dsh-fullwidth/client */ window.__ModuleLoader__.load({ id: "dsh-fullwidth", factory: (require) => { var module = { exports: {} }; var exports = module.exports; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); // ---- CONFIG (edit here) ----------------------------------------------- // Width of the chat transcript + composer. Percentages fill the pane and // leave symmetric gutters; use a px value or min()/clamp() to cap it on // very wide monitors. Examples: // "100%" — edge to edge, no gutter // "96%" — full width, tiny gutter // "min(1600px, 94%)" — full width but never wider than 1600px // "clamp(748px, 92%, 1800px)"— original min, grow to 92%, cap at 1800px const CONTENT_WIDTH = "min(1600px, 94%)"; // ----------------------------------------------------------------------- const STYLE_ID = "dsh-fullwidth-style"; const cssText = "*{--dsh-chat-content-width:" + CONTENT_WIDTH + " !important;}"; /** Insert (or update) the override