.answer-source-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:16px 0 20px}
.view-source-button{display:inline-flex;align-items:center;gap:8px;background:#f0eee6;color:#243a4a;border:1px solid #dedbcf;border-radius:12px;padding:10px 14px;font:inherit;font-size:14px;cursor:pointer;transition:background .15s ease-out,transform .15s ease-out}
.view-source-button:hover{background:#e8e4d7;transform:translateY(-1px)}
.source-button-icon{font-size:18px;color:#8c723a}.answer-source-count{font-size:12px;color:#777871}.source-card .view-source-button{margin-top:12px}

/* The dialog is only a transparent stage. Each document supplies its own window frame. */
.source-viewer{width:min(1240px,calc(100vw - 48px));height:min(920px,calc(100svh - 40px));max-width:none;max-height:none;padding:0;border:0;border-radius:0;background:transparent;color:#293c49;overflow:hidden;box-shadow:none}
.source-viewer[open]{display:flex;flex-direction:column;animation:source-rise .28s cubic-bezier(.16,1,.3,1)}
.source-viewer::backdrop{background:#23313c4d;backdrop-filter:blur(5px)}
.source-viewer-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 14px 8px;flex:none;min-height:46px}
.source-viewer-heading>div:first-child{min-width:0}
.source-viewer-heading .eyebrow,.source-viewer-heading h2{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.source-viewer-heading #source-subtitle{font-size:12px;color:#52615e;margin:0;padding:10px 14px;background:#fbfaf7ed;border:1px solid #ffffff9c;border-radius:12px;box-shadow:0 4px 16px #22303a0a}
.source-viewer-actions{display:flex;gap:8px;align-items:center;flex:none}
.source-expand{border:1px solid #ffffffa6;border-radius:12px;background:#fbfaf7;padding:10px 14px;font:inherit;font-size:13px;color:#354956;box-shadow:0 4px 16px #22303a0a;cursor:pointer}
.source-expand:hover{background:#fff}.source-expand:disabled{opacity:.5;cursor:default}
.source-viewer .icon-button{width:38px;height:38px;min-height:38px;background:#fbfaf7;border:1px solid #ffffffa6;border-radius:12px;font-size:25px;box-shadow:0 4px 16px #22303a0a}
.source-feedback{margin:12px 14px;padding:24px;background:#fffefa;border-radius:16px;color:#777c79;font-size:15px;box-shadow:0 12px 40px #25364014}
.source-feedback:not(.source-failed){background:linear-gradient(100deg,#eeece5,#fffdf7,#eeece5);background-size:200% 100%;animation:source-shimmer 1.8s ease-out infinite}
.source-feedback.source-failed{color:#9a473a}

.source-workspace{flex:1;min-height:0;position:relative}
.source-deck{isolation:isolate;overflow:auto;overscroll-behavior:contain;padding:12px 14px 30px;scrollbar-width:thin}
.source-deck:before{content:"";display:block;height:var(--deck-height,0);pointer-events:none}
.source-paper{min-width:0;min-height:0;display:flex;flex-direction:column;border:1px solid #c9ccc7;border-radius:18px;overflow:hidden;background:#fffefa;box-shadow:0 14px 38px #1e2b3824,0 2px 8px #1e2b3812}
.source-deck .source-paper{position:absolute;top:calc(12px + var(--window-y));left:calc(14px + var(--window-x));width:calc(100% - var(--deck-span-x) - 28px);height:var(--window-height);z-index:var(--window-order)}
.source-deck .source-paper.is-front{box-shadow:0 24px 55px #1e2b3833,0 4px 12px #1e2b3814}
.source-window-bar{height:50px;min-height:50px;display:flex;background:#e7e8e4;border-bottom:1px solid #d8dad3}
.source-deck .source-paper:not(.is-front) .source-window-bar{height:var(--stack-step,50px);min-height:var(--stack-step,50px)}
.source-window-select{display:flex;align-items:center;gap:12px;width:100%;min-width:0;padding:0 18px;border:0;border-radius:0;background:transparent;color:#777e79;text-align:left;font:inherit;font-size:14px;cursor:pointer;transition:background .18s cubic-bezier(.16,1,.3,1),color .18s cubic-bezier(.16,1,.3,1)}
.source-window-select:hover{background:#f4f4ef;color:#304650}
.source-window-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
.source-window-number{display:grid;place-items:center;flex:none;width:23px;height:23px;border:1px solid #cbd0c7;border-radius:8px;font-size:11px;color:#91988e}
.is-front .source-window-bar,.source-grid .source-window-bar{background:#fafaf6}
.is-front .source-window-select,.source-grid .source-window-select{color:#263e4c}
.is-front .source-window-number{background:#f1e7ca;border-color:#e7d9b3;color:#88703b}
.source-window-body{display:flex;flex:1;min-height:0;flex-direction:column;overflow:hidden}
.source-deck .source-paper:not(.is-front) .source-window-body{opacity:.55}
.source-paper-heading{padding:15px 24px 14px;border-bottom:1px solid #e9e5d9;flex:none}
.source-paper-meta{display:flex;justify-content:space-between;gap:12px;align-items:center}
.source-file-kind{font-size:9px;letter-spacing:.12em;color:#8e743e}.source-file-kind.is-excerpt{color:#a16f44}.source-paper-number{font-size:11px;color:#92968f}
.source-filename{margin:6px 0 0;font-size:11px;color:#8c908a;overflow-wrap:anywhere}
.source-clause-jumps{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;max-height:72px;overflow:auto}
.source-clause-jump{background:#f8f2df;border:1px solid #e6d9b4;border-radius:8px;padding:5px 9px;font:inherit;font-size:11px;line-height:1.4;color:#826731;cursor:pointer}
.source-clause-jump:disabled{background:#f4e8e0;color:#905d47;cursor:default}
.source-document-note{font-size:11px;color:#8a8d84;line-height:1.5;margin:9px 0 0}.source-availability-note{color:#a16b3f}
.source-paper-content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:25px max(26px,7%);scrollbar-width:thin;font-family:Georgia,'Times New Roman',serif;font-size:16px;line-height:1.85;color:#4b514d}
.source-text-paragraph{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 22px}.source-text-heading{font-size:17px;line-height:1.55;font-weight:600;margin:0 0 23px;white-space:pre-wrap;overflow-wrap:anywhere}
.source-highlight{color:inherit;background:#f4e1a0;box-shadow:0 2px 0 #d6ad4b65;border-radius:3px;padding:2px 0;box-decoration-break:clone;-webkit-box-decoration-break:clone}

.source-viewer.sources-expanded{width:100vw;height:100svh;margin:0;background:transparent}
.sources-expanded .source-viewer-heading{padding:18px 26px 14px}
.source-grid{display:grid;gap:18px;overflow:auto;align-content:start;overscroll-behavior:contain;padding:0 2px 10px;margin:0 24px 18px;scrollbar-width:thin}
.source-grid .source-paper{height:100%;border-radius:16px;box-shadow:0 6px 18px #3945370b}
.source-grid .source-window-bar{height:46px;min-height:46px}.source-grid .source-window-select{font-size:13px;gap:9px;padding:0 16px}
.source-grid .source-paper-heading{padding:12px 18px}.source-grid .source-document-note{font-size:10px}
.source-grid .source-paper-content{padding:20px 22px;font-size:15px}.source-grid .source-text-heading{font-size:16px}
.source-grid .source-clause-jumps{margin-top:8px;max-height:54px}.source-grid .source-clause-jump{font-size:10px}.source-grid .source-filename{display:none}
.source-paper.is-moving{will-change:transform}
.source-viewer [hidden]{display:none!important}
.source-viewer button:focus-visible,.view-source-button:focus-visible,.source-paper-content:focus-visible{outline:2px solid #ad8c45;outline-offset:3px}
.source-window-select:focus-visible{outline-offset:-4px!important}
@keyframes source-rise{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes source-shimmer{from{background-position:180% 0}to{background-position:-100% 0}}
@media(max-width:650px){
  .source-viewer{width:calc(100vw - 12px);height:calc(100svh - 20px)}
  .source-viewer-heading{padding:0 8px 7px;gap:8px}.source-viewer-heading #source-subtitle{font-size:10px;padding:9px 10px;line-height:1.5}
  .source-viewer-actions{gap:5px}.source-expand{padding:9px 10px;font-size:11px;white-space:nowrap}.source-viewer .icon-button{width:34px;height:34px;min-height:34px}
  .source-deck{padding-left:8px;padding-right:8px}.source-deck .source-paper{left:calc(8px + var(--window-x));width:calc(100% - var(--deck-span-x) - 16px);border-radius:15px}
  .source-window-bar{height:44px;min-height:44px}.source-window-select{padding:0 12px;gap:8px;font-size:12px}.source-window-number{width:21px;height:21px;font-size:10px}
  .source-paper-heading{padding:12px 16px}.source-paper-content{padding:20px;font-size:16px}.source-filename{font-size:10px}.source-document-note{font-size:10px}
  .sources-expanded .source-viewer-heading{padding:12px 14px}.source-grid{margin:0 12px 12px}
  .answer-source-count{font-size:11px}.answer-source-row{gap:10px}.view-source-button{font-size:13px}.source-feedback{margin:12px 8px}
}
@media(prefers-reduced-motion:reduce){.source-viewer[open],.source-feedback:not(.source-failed){animation:none}.view-source-button,.source-window-select{transition:none}}

.source-key{font-weight:700;color:#3d3215}

/* Cited clauses are readable directly below the answer; the action opens their real source. */
.answer-source-clause{margin:18px 0 22px;padding:16px 18px;border:1px solid var(--border);border-radius:14px;background:#fdfcf8}
.answer-source-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.answer-source-label{font-size:12px;color:#777871;overflow-wrap:anywhere}
.answer-source-heading .view-source-button{font-size:12px;padding:7px 10px;background:white}
.answer-source-quote{margin:0;font-size:15px;line-height:1.85;max-height:260px;overflow:auto;white-space:pre-wrap;color:var(--ink);scrollbar-width:thin}
.answer-source-unavailable{font-size:12px;color:var(--muted);margin:12px 0 0}
.source-pdf-view{display:flex;flex-direction:column;flex:1;min-height:0;background:#eeede8}
.source-pdf-toolbar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#fafaf7;border-bottom:1px solid #e3e1d9;flex-shrink:0}
.source-pdf-page-button{width:34px;height:32px;border:1px solid #d8d5cb;background:white;border-radius:8px;color:var(--navy)}
.source-pdf-counter,.source-pdf-download{font-size:12px;color:var(--navy)}.source-pdf-download{margin-left:auto;text-decoration:none}
.source-pdf-status{font-size:12px;color:#777871;line-height:1.5;margin:0;padding:8px 16px;flex-shrink:0;background:#fafaf7}
.source-pdf-pages{overflow:auto;flex:1;min-height:0;padding:16px;position:relative;scrollbar-width:thin;overscroll-behavior:contain}
.source-pdf-page{position:relative;max-width:1000px;margin:0 auto;box-shadow:0 2px 14px #20365320;background:white}
.source-pdf-image{display:block;width:100%;height:auto}
.source-pdf-highlight{position:absolute;pointer-events:none;background:#f5d75055;mix-blend-mode:multiply;outline:1px solid #d3a72b99;border-radius:2px}
.source-pdf-pages:focus-visible,.answer-source-quote:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:650px){.answer-source-clause{padding:14px}.answer-source-quote{font-size:14px}.source-pdf-pages{padding:8px}.source-pdf-toolbar{gap:8px;padding:8px}.source-pdf-status{font-size:11px;padding:8px}.source-pdf-counter,.source-pdf-download{font-size:11px}}
