/* Document conversations live on the desk; opening one never moves the paper. */
.document-discussion { position: fixed; top: calc(var(--topbar-h, 48px) + 12px); left: 150px; z-index: 48; font-size: var(--t-md); }
.document-discussion > summary { width: max-content; display: flex; align-items: center; gap: 7px; cursor: pointer; border: 1px solid var(--line); border-radius: 18px; padding: 6px 10px; background: var(--surface); box-shadow: var(--e1); list-style: none; }
.document-discussion > summary::-webkit-details-marker { display: none; }
.document-discussion-panel { position: fixed; top: calc(var(--topbar-h, 48px) + 44px); left: 16px; width: min(310px, calc(100vw - 32px)); max-height: calc(100dvh - 145px); overflow-y: auto; margin-top: 8px; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: var(--e3); }
.document-discussion-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.document-thread { border-top: 1px solid var(--line); padding: 9px 0; }
.document-thread > summary { cursor: pointer; overflow-wrap: anywhere; }
.document-thread > summary span { display: block; padding-left: 15px; color: var(--ink-3); font-size: var(--t-xs); }
.document-thread-content { padding-top: 8px; }
.document-thread-content p { margin: 7px 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.document-thread small, .document-discussion-empty { color: var(--ink-3); }
.document-thread-reply { border-left: 2px solid var(--line); padding: 0 0 0 9px; margin: 10px 0; }
.document-discussion textarea { box-sizing: border-box; width: 100%; resize: none; min-height: 32px; margin-top: 6px; padding: 6px 8px; line-height: 18px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); color: var(--ink); font: inherit; }
.document-thread-buttons { display: flex; justify-content: flex-end; align-items: center; gap: 6px; margin-top: 7px; }
.document-thread-state { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 4px; }
[data-thread-error] { color: var(--danger); font-size: var(--t-sm); }
.document-resolved { margin: 10px 0; }
.document-resolved > summary { cursor: pointer; color: var(--ink-3); }
@media (max-width: 700px) {
  .document-discussion { top: calc(var(--topbar-h, 48px) + 6px); left: 8px; }
  .document-discussion-panel { left: 8px; width: calc(100vw - 16px); max-height: min(65dvh, 520px); box-sizing: border-box; }
}
.document-passage-thread { position: fixed; bottom: 12px; left: 8px; right: 8px; z-index: 110; max-height: 48dvh; overflow-y: auto; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--e3); padding: 8px; }
.document-passage-thread > button { display: block; margin-left: auto; }
.document-passage-thread .note { position: static !important; width: auto !important; transform: none !important; box-shadow: none; }
@media (min-width: 701px) {
  .document-passage-thread { left: auto; width: 310px; }
}

@media print { .document-discussion, .document-passage-thread { display: none; } }

/* A single, equal-width control for the two document panels. */
.document-panel-switch { position: fixed; top: calc(var(--topbar-h, 48px) + 12px); left: 16px; z-index: 49; display: grid; grid-template-columns: repeat(2, 1fr); width: 224px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: var(--e1); overflow: hidden; }
.document-panel-switch button { appearance: none; border: 0; border-radius: 0; margin: 0; padding: 7px 10px; background: transparent; color: var(--ink); font: 600 13px/18px var(--ui); cursor: pointer; }
.document-panel-switch button + button { border-left: 1px solid var(--line); }
.document-panel-switch button:hover { background: var(--sunken); }
.document-panel-switch button[aria-pressed="true"] { background: #181818; color: #fff; }
.document-panel-switch button:focus-visible { outline: 2px solid var(--ink); outline-offset: -4px; }
body:has(.document-panel-switch) .rail-handle, .document-discussion > summary { display: none; }
/* The rail stays laid out while History is closed; an empty box must not take clicks meant for what is under it. */
body:has(.document-panel-switch) .rail { pointer-events: none; }
body:has(.document-panel-switch) .rail > * { pointer-events: auto; }
body:has(.document-panel-switch) { --rail-card-w: min(310px, calc(100vw - 32px)); --rail-card-left: 16px; }
body:has(.document-panel-switch) .rail { display: flex !important; top: calc(var(--topbar-h, 48px) + 52px); left: 16px; width: min(310px, calc(100vw - 32px)); z-index: 48; }
@media (max-width: 700px) {
  .document-panel-switch { top: calc(var(--topbar-h, 48px) + 6px); left: 8px; }
  body:has(.document-panel-switch) .rail { display: flex !important; top: calc(var(--topbar-h, 48px) + 46px); left: 8px; width: calc(100vw - 16px); max-height: min(65dvh, 520px); }
}
@media print { .document-panel-switch { display: none; } }
