/* Only workspaces get a wider canvas; document and paper prose stays at 760px. */
main { overflow-wrap:anywhere; }
body.page-wide main { max-width:1280px; }
body.page-wide main, .page-wide main>* { min-width:0; }
.page-wide .proposition-forest { grid-template-columns:minmax(0,1fr); gap:20px; }
.page-wide .proposition-tree { min-width:0; margin:0; padding:18px; }
.page-wide .proposition-tree>summary { line-height:1.7; }
.proposition-map :is(summary,p,blockquote,li,a), .room-flow :is(p,blockquote), .room :is(p,blockquote) {
  overflow-wrap:anywhere; white-space:normal; text-overflow:clip;
}
.proposition-map :is(.proposition-tree,.argument-tree,.argument-node,.argument-more,.argument-editor) { min-width:0; max-width:100%; }
.proposition-map :is(summary,p,blockquote) { overflow:visible; max-height:none; -webkit-line-clamp:unset; }
.proposition-map blockquote { margin-right:0; }
.proposition-map input, .proposition-map textarea { width:100%; min-width:0; }
.proposition-map .btn { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
.page-wide .flow-card>p, .page-wide .flow-advice>p, .page-wide .flow-advice>blockquote,
.page-wide .room-turn, .page-wide .room-sentence-text { max-width:80ch; }
.page-concept .concept-grid, .page-chat .chat-layout { grid-template-columns:minmax(0,1fr); }
.page-wide :is(.concept-message,.concept-draft,.chat-history,.chat-main,.history-row,.history-row a) { min-width:0; overflow-wrap:anywhere; }
.page-wide :is(.tools-snapshot,.concept-proposed pre,.tools-history pre,.source-block p) { max-height:none; overflow:visible; white-space:pre-wrap; overflow-wrap:anywhere; }
.page-wide .chat-history { position:static; max-height:300px; }
.coherence-grid { grid-template-columns:minmax(0,1fr); }
.coherence-original mark.coherence-color { padding-inline:0; }

/* Tables, rather than the page or the text around them, own horizontal scrolling. */
.table-region { min-width:0; max-width:100%; margin:14px 0; }
.table-scroll-hint { color:var(--muted); font-size:.82rem; margin:0 0 5px; }
.table-scroll-hint[hidden] { display:none; }
.table-scroll { max-width:100%; min-width:0; overflow-x:auto; overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch; border:1px solid var(--line); border-radius:7px; }
.table-scroll:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
main .table-scroll table { display:table; width:100%; max-width:none; min-width:0; overflow:visible; border-collapse:collapse; table-layout:auto; }
main .table-scroll :is(th,td) { min-width:10rem; padding:9px 12px; border:1px solid var(--line); vertical-align:top; white-space:normal; overflow-wrap:anywhere; text-overflow:clip; }
main .table-scroll th { background:var(--accent-bg); text-align:left; }
.chat-message .comparison-wrap { max-width:100%; overflow:visible; }
@media(min-width:1000px) {
  .page-wide .proposition-forest { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .page-concept .concept-grid { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); }
  .page-chat .chat-layout { grid-template-columns:240px minmax(0,1fr); }
  .page-wide .coherence-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .page-wide .chat-history { position:sticky; top:calc(var(--reading-header-height,90px) + 12px); max-height:75vh; }
}
@media(max-width:480px) { .page-wide .proposition-tree { padding:12px; } }
@media print {
  .table-scroll-hint { display:none!important; }
  .table-scroll { overflow:visible; border:0; }
  main .table-scroll table { min-width:0; width:100%; table-layout:fixed; }
  main .table-scroll :is(th,td) { min-width:0; padding:4px; }
  .page-wide .proposition-forest { display:block; }
}
