PageSourceSearch

https://www.viewsapp.ai/assets/useChatExport-CvYmDGUo.js

js viewsapp.ai collected 2026-10-05 15:26:03 UTC 181,056 bytes, 2,820 lines download raw bytes

1import{a as e}from"./logger-CqL7pGja.js";import{t}from"./errorLogging-y9Tkqa1s.js";import{t as n}from"./preload-helper-zJ_50EbN.js";import{o as r}from"./alertService-C_W5ua9Z.js";import{K as i,_t as a}from"./index-2EFrgcSo.js";import{_ as o,s,t as c}from"./useExpressUtils-CW9nBM4L.js";import{E as l,S as u,b as d,v as f,x as p,y as m}from"./scrollHelpers-DCIU6Wus.js";import{a as h,c as g,d as _,f as v,h as y,i as b,l as x,m as S,n as ee,o as te,p as C,r as ne,s as w,t as re,u as T}from"./markdownExport-D0K44bnC.js";var E=`/assets/logo-glass-reflection-master-CusuURAu.png`,D={logoUrl:E,qrUrl:`https://api.qrserver.com/v1/create-qr-code/?data=https%3A%2F%2Fviewsapp.ai&size=240x240&format=png`,startupsLogoUrl:E,brandWordmark:`Views app.ai`,productUrl:`https://viewsapp.ai`,studioUrl:`https://www.umbertogiacobbi.biz`,email:`[email protected]`,emailUrl:`mailto:[email protected]`,linkedinUrl:`https://www.linkedin.com/in/umbertogiacobbi/`,footerKicker:`Start now. No sign-up. No credit card.`,footerDescription:`Review by Views lets you check a memo, brief, proposal, or other important document in a few steps. No setup, no hidden commitment—your work stays private and under your control.`,footerMeta:[{label:`Try`,value:`Review by Views`},{label:`Bring`,value:`Memo, brief, or proposal`},{label:`Open`,value:`viewsapp.ai`,href:`https://viewsapp.ai`}]},O=6e4,k=1600,ie=2200,ae=2,oe=32,A=null;function se(){return A||=n(()=>import(`./es-C_Ha8SM2.js`),[]).catch(e=>{throw A=null,e}),A}function j(){return typeof document<`u`&&document.baseURI?document.baseURI:typeof window<`u`&&window.location?.href?window.location.href:null}function ce(e){if(!e)return``;try{let t=j();return t?new URL(e,t).href:String(e)}catch{return String(e)}}function le(e){return new Promise((t,n)=>{let r=new FileReader;r.onloadend=()=>t(typeof r.result==`string`?r.result:``),r.onerror=()=>n(r.error||Error(`Failed to read blob as data URL`)),r.readAsDataURL(e)})}async function M(e,{logError:t,toErrorLogMeta:n}={}){let r=ce(e);if(!r||typeof fetch>`u`)return r;try{let e=await fetch(r);if(!e.ok)throw Error(`Failed to fetch asset: ${e.status}`);return await le(await e.blob())}catch(e){return t&&t(`Failed to inline print asset`,{context:`chat-export.print-preview.fetch-asset-as-data-url`,assetUrl:r,...typeof n==`function`?n(e):{}}),r}}async function ue({logError:e,toErrorLogMeta:t}={}){let[n,r,i]=await Promise.all([M(D.logoUrl,{logError:e,toErrorLogMeta:t}),M(D.qrUrl,{logError:e,toErrorLogMeta:t}),M(D.startupsLogoUrl,{logError:e,toErrorLogMeta:t})]);return{...D,logoUrl:n,qrUrl:r,startupsLogoUrl:i}}function de(e){return new Promise((t,n)=>{let r=window.setTimeout(()=>n(Error(`Timed out while preparing print preview.`)),8e3);e.addEventListener(`load`,()=>{window.clearTimeout(r),t()},{once:!0})})}function N(e){return new Promise(t=>{e.requestAnimationFrame(()=>{e.requestAnimationFrame(t)})})}async function fe(e){let t=e.contentDocument,n=e.contentWindow;if(!t||!n)throw Error(`Unable to prepare print preview frame.`);if(t.fonts?.ready)try{await t.fonts.ready}catch{}await N(n)}function P(){let e=document.createElement(`iframe`);return e.setAttribute(`aria-hidden`,`true`),e.tabIndex=-1,Object.assign(e.style,{position:`fixed`,left:`0`,top:`0`,width:`${k}px`,height:`${ie}px`,border:`0`,opacity:`0`,pointerEvents:`none`,zIndex:`-1`}),document.body.appendChild(e),e}function F(e){return Array.from(e.querySelectorAll(`.quality-snapshot:not(.is-report-hidden)`)).filter(e=>{let t=e.getBoundingClientRect();return t.width>0&&t.height>0})}async function I(e){let t=e.style.paddingBottom,n=Number.parseFloat(getComputedStyle(e).paddingBottom)||0;e.style.paddingBottom=`${n+oe}px`;try{await N(e.ownerDocument.defaultView);let{toPng:t}=await se();return await t(e,{backgroundColor:`#fff`,cacheBust:!0,height:Math.ceil(e.scrollHeight),pixelRatio:ae})}finally{e.style.paddingBottom=t}}async function L(e){if(typeof window>`u`||typeof document>`u`)return e;let t=P();try{let n=de(t);t.srcdoc=e,await n,await fe(t);let r=t.contentDocument,i=F(r);for(let e of i){e.querySelector(`.quality-snapshot__print-image`)?.remove();let t=await I(e),n=r.createElement(`img`);n.className=`quality-snapshot__print-image`,n.alt=`Quality snapshot`,n.src=t,e.appendChild(n),e.classList.add(`has-print-snapsh
1ot`)}return`<!doctype html>\n${r.documentElement.outerHTML}`}finally{t.remove()}}function R({html:e,title:t=`Views print preview`,logError:n}={}){if(typeof window>`u`||typeof document>`u`)return!1;let r=new Blob([e],{type:`text/html;charset=utf-8`}),i=URL.createObjectURL(r);return window.open(i,`_blank`,`noopener,noreferrer`)?(setTimeout(()=>{URL.revokeObjectURL(i)},O),!0):(URL.revokeObjectURL(i),n&&n(`Failed to open print preview window`,{context:`chat-export.print-preview.open-print-preview-document`,title:t}),!1)}function z(e,t){return`${e||`Conversation`} - ${t}`}async function B({body:e,title:t,productName:n=`Views`,buildPrintDocumentHtml:r,logError:i,toErrorLogMeta:a}={}){return R({html:await L(r({title:t,body:e,productName:n,branding:await ue({logError:i,toErrorLogMeta:a})})),title:t,logError:i})}var V=`/assets/space-grotesk-latin-400-normal-C_H9aji2.woff2`,pe=`/assets/space-grotesk-latin-600-normal-0SbvWzVy.woff2`,me=`/assets/spectral-latin-400-normal-CTVgUekv.woff2`;function he({title:e,productName:t,turnCount:n,exportedAt:r,branding:i=D,escapeHtml:a,renderMetaList:o}={}){let s=[n?`<div class="print-report-intro__meta-item"><span class="print-report-intro__meta-icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" width="18" height="18" aria-hidden="true"><polyline points="23 4 23 10 17 10"/><path d="M20.49 15a9 9 0 1 1-2.12-9.36L23 10"/></svg></span><div><span class="print-report-intro__meta-label">Turns</span><span class="print-report-intro__meta-value">${a(String(n))}</span></div></div>`:null,r?`<div class="print-report-intro__meta-item"><span class="print-report-intro__meta-icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" width="18" height="18" aria-hidden="true"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/></svg></span><div><span class="print-report-intro__meta-label">Exported</span><span class="print-report-intro__meta-value">${a(r)}</span></div></div>`:null,`<div class="print-report-intro__meta-item"><span class="print-report-intro__meta-icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" width="18" height="18" aria-hidden="true"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/><polyline points="3.27 6.96 12 12.01 20.73 6.96"/><line x1="12" y1="22.08" x2="12" y2="12"/></svg></span><div><span class="print-report-intro__meta-label">Product</span><span class="print-report-intro__meta-value">${a(t||`Views`)}</span></div></div>`].filter(Boolean).join(`<div class="print-report-intro__meta-sep" aria-hidden="true"></div>`);return`
2    <div class="modern-report__body">
3      <div class="modern-report__content">
4        <section class="print-report-intro" aria-label="Report information">
5          <div class="print-report-intro__masthead">
6            <div class="print-report-intro__brand">
7              <img class="modern-report__corner-logo" src="${a(i.logoUrl)}" alt="${a(i.brandWordmark)}">
8              <div class="print-report-intro__header">
9                <div class="print-report-intro__icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" width="20" height="20" aria-hidden="true"><polyline points="6 9 6 2 18 2 18 9"/><path d="M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2"/><rect x="6" y="14" width="12" height="8"/></svg></div>
10                <p class="print-report-intro__eyebrow">Print report</p>
11              </div>
12            </div>
13            <div class="print-report-intro__copy">
14              <h1 class="print-report-intro__title">${a(e||`Conversation`)}</h1>
15              <p class="print-report-intro__description">${a(`A clear, shareable record created with ${t||`Views`}.`)}</p>
16              <p class="print-report-intro__description print-report-intro__description--secondary">
16A focused view of the prompt, answer, quality signals, insights, and supporting model responses.</p>
17            </div>
18            <div class="print-report-intro__meta">${s}</div>
19          </div>
20        </section>
21        <section class="print-report-advisory" aria-label="Report disclaimer">
22          <div class="print-report-advisory__label-area">
23            <div class="print-report-advisory__icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" width="20" height="20" aria-hidden="true"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/><line x1="12" y1="8" x2="12" y2="12"/><line x1="12" y1="16" x2="12.01" y2="16"/></svg></div>
24            <span class="print-report-advisory__label">Advisory Note</span>
25          </div>
26          <div class="print-report-advisory__divider" aria-hidden="true"></div>
27          <p class="print-report-advisory__text">Use this report as a guide, not as the only source for important decisions. AI-generated content can be incomplete or wrong. Check important claims, dates, figures, and source-based statements before relying on them.</p>
28        </section>
29      </div>
30    </div>
31  `}function ge({branding:e=D,escapeHtml:t}={}){let n=t(e.footerKicker||`Start now. No sign-up. No credit card.`),r=t(e.footerDescription||`Review by Views lets you check a memo, brief, proposal, or other important document in a few steps. No setup, no hidden commitment—your work stays private and under your control.`),i=Array.isArray(e.footerMeta)?e.footerMeta.filter(e=>e?.label&&e?.value):[],a=t(e.logoUrl||``),o=t(e.brandWordmark||`Views`),s=t(e.qrUrl||``),c=[`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" width="18" height="18" aria-hidden="true"><rect x="3" y="3" width="7" height="7"/><rect x="14" y="3" width="7" height="7"/><rect x="14" y="14" width="7" height="7"/><rect x="3" y="14" width="7" height="7"/></svg>`,`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" width="18" height="18" aria-hidden="true"><circle cx="12" cy="12" r="10"/><circle cx="12" cy="12" r="6"/><circle cx="12" cy="12" r="2"/></svg>`,`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" width="18" height="18" aria-hidden="true"><circle cx="12" cy="12" r="10"/><line x1="2" y1="12" x2="22" y2="12"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg>`],l=i.map((e,n)=>{let r=c[n]||``,i=e.href?`<a class="rpt-footer__meta-value" href="${t(e.href)}">${t(e.value)}</a>`:`<span class="rpt-footer__meta-value">${t(e.value)}</span>`;return`${n>0?`<div class="rpt-footer__meta-sep" aria-hidden="true"></div>`:``}<div class="rpt-footer__meta-item"><span class="rpt-footer__meta-icon">${r}</span><div><span class="rpt-footer__meta-label">${t(e.label.toUpperCase())}</span>${i}</div></div>`}).join(``);return`
32    <footer class="modern-report__document-footer rpt-footer" data-report-section="brand-footer">
33      <div class="rpt-footer__inner">
34        <div class="rpt-footer__copy">
35          ${a?`<img class="rpt-footer__brand-logo" src="${a}" alt="${o}">`:``}
36          <h2 class="rpt-footer__headline">${n}</h2>
37          <p class="rpt-footer__tagline">${r}</p>
38          ${i.length?`<div class="rpt-footer__meta">${l}</div>`:``}
39        </div>
40        <div class="rpt-footer__divider" aria-hidden="true"></div>
41        <div class="rpt-footer__qr-zone">
42          <div class="rpt-footer__scan-label" aria-hidden="true">START REVIEW</div>
43          <div class="rpt-footer__qr-stack">
44            ${s?`<img class="rpt-footer__qr-img" src="${s}" alt="QR code linking to viewsapp.ai" width="130" height="130">`:``}
45            <div class="rpt-footer__qr-url">viewsapp.ai</div>
46          </div>
47        </div>
48      </div>
49    </footer>
50  `}function _e({title:e,body:t,productName:n,branding:r=D,baseHref:i=``,exportedAt:a=``,turnCount:o=0,escapeHtml:s,renderMetaList:c}={}){let l=s(e||`Views export`),u=s(n||`Views`),d=s(i||``),f=he({title:e,productName:n,turnCount:o,exportedAt:a,branding:r,escapeHtml:s,renderMetaList:c}),p=ge({branding:r,escapeHtml:s});return`
51    <!doctype html>
52    <html lang="en">
53      <head>
54        <meta charset="utf-8" />
55        <meta name="viewport" content="width=device-width, initial-scale=1" />
56        ${d?`<base href="${d}" />`:``}
57        <title>${l}</title>
58        <style>
59          @font-face {
60            font-family: "Spectral Report";
61            src: url("${me}") format("woff2");
62            font-style: normal;
63            font-weight: 400;
64            font-display: swap;
65          }
66          @font-face {
67            font-family: "Space Grotesk Report";
68            src: url("${V}") format("woff2");
69            font-style: normal;
70            font-weight: 400;
71            font-display: swap;
72          }
73          @font-face {
74            font-family: "Space Grotesk Report";
75            src: url("${pe}") format("woff2");
76            font-style: normal;
77            font-weight: 600;
78            font-display: swap;
79          }
80          .modern-report {
81            --modern-report-page-bg: #fffdf9;
82            --modern-report-ink: #2b312d;
83            --modern-report-ink-soft: #4e5952;
84            --modern-report-border: #ddd6cb;
85            --modern-report-divider: #e9e1d7;
86            --modern-report-subtle: #81786e;
87            --modern-report-link: #3f6f4d;
88            --modern-report-surface: #f8f3eb;
89            --modern-report-surface-soft: #fbf8f2;
90            --modern-report-prompt: #eef3f6;
91            --modern-report-prompt-border: #cdd8df;
92            --modern-report-heading: #201f1c;
93            --modern-report-chip-bg: #f2ece3;
94            --modern-report-chip-border: #d8cfbf;
95            width: 100%;
96            min-height: 100vh;
97            display: flex;
98            flex-direction: column;
99            background: var(--modern-report-page-bg);
100            color: var(--modern-report-ink);
101            font-family: "Space Grotesk Report", "Segoe UI", Arial, sans-serif;
102            font-synthesis: none;
103          }
104          .modern-report, .modern-report * { box-sizing: border-box; }
105          html, body { margin: 0; padding: 0; background: var(--modern-report-page-bg); color: var(--modern-report-ink); }
106          body { padding: 0; }
107          .modern-report__toolbar {
108            position: sticky;
109            top: 12px;
110            z-index: 20;
111            display: flex;
112            flex-direction: column;
113            margin: 0 16px 16px;
114            border: 1px solid rgba(140, 120, 210, 0.18);
115            border-radius: 20px;
116            background: linear-gradient(135deg, rgba(255, 255, 255, 0.82), rgba(247, 244, 255, 0.7));
117            -webkit-backdrop-filter: blur(22px) saturate(145%);
118            backdrop-filter: blur(22px) saturate(145%);
119            box-shadow: 0 10px 34px rgba(70, 50, 135, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.72);
120            overflow: hidden;
121          }
122          .modern-report__toolbar-inner {
123            display: flex;
124            justify-content: space-between;
125            align-items: center;
126            gap: 16px;
127            padding: 14px 18px;
128            flex-wrap: wrap;
129          }
130          .modern-report__toolbar-identity {
131            display: flex;
132            align-items: center;
133            gap: 14px;
134            min-width: 0;
135            flex: 1 1 0;
136            overflow: hidden;
137          }
138          .modern-report__toolbar-icon-tile {
139            flex: 0 0 auto;
140            width: 42px;
141            height: 42px;
142            display: inline-flex;
143            align-items: center;
144            justify-content: center;
145            border-radius: 10px;
146            background: linear-gradient(135deg, #edeaff 0%, #e0d5fc 100%);
147            border: 1px solid rgba(120, 90, 210, 0.16);
148            color: #5c40c0;
149          }
150          .modern-report__toolbar-text { min-width: 0; }
151          .modern-report__toolbar-title {
152            font-size: 0.94rem;
153            font-weight: 700;
154            color: #1a1730;
155            white-space: nowrap;
156            overflow: hidden;
157            text-overflow: ellipsis;
158          }
159          .modern-report__toolbar-subtitle {
160            font-size: 0.76rem;
161            color: #7870a0;
162            margin-top: 2px;
163          }
164          .modern-report__toolbar-actions {
165            display: flex;
166            gap: 10px;
167            flex: 0 0 auto;
168            align-items: center;
169          }
170          .modern-report__toolbar button {
171            display: inline-flex;
172            align-items: center;
173            gap: 7px;
174            border-radius: 999px;
175            padding: 9px 18px;
176            font: inherit;
177            font-size: 0.87rem;
178            font-weight: 600;
179            cursor: pointer;
180            line-height: 1.3;
181            white-space: nowrap;
182          }
183          .modern-report__toolbar-button--primary {
184            background: linear-gradient(90deg, #4e6cf5 0%, #8b4fdd 50%, #d44fa0 100%);
185            color: #fff;
186            border: none;
187            box-shadow: 0 3px 14px rgba(110, 60, 200, 0.28);
188          }
189          .modern-report__toolbar-button--secondary {
190            background: transparent;
191            color: #4a4570;
192            border: 1.5px solid rgba(120, 100, 200, 0.3);
193          }
194          .modern-report__toolbar-button--customize {
195            background: #f7f5ff;
196            color: #51458f;
197            border: 1.5px solid rgba(120, 100, 200, 0.22);
198          }
199          .modern-report__toolbar-button--customize[aria-expanded="true"] {
200            background: #ede9ff;
201            border-color: rgba(108, 82, 199, 0.38);
202          }
203          .report-customizer__button-status {
204            min-width: 30px;
205            padding: 2px 7px;
206            border-radius: 999px;
207            background: rgba(108, 82, 199, 0.1);
208            color: #6d52c7;
209            font-size: 0.68rem;
210            font-weight: 800;
211            letter-spacing: 0.04em;
212            text-transform: uppercase;
213          }
214          .report-customizer {
215            display: grid;
216            grid-template-columns: minmax(210px, 0.6fr) minmax(0, 2.4fr) auto;
217            align-items: start;
218            gap: 18px;
219            padding: 14px 18px 16px;
220            border-top: 1px solid rgba(120, 100, 200, 0.1);
221            background: linear-gradient(90deg, #fbfaff 0%, #fff 70%);
222          }
223          .report-customizer[hidden] { display: none; }
224          .report-customizer__title { margin: 0; color: #211d42; font-size: 0.84rem; font-weight: 800; }
225          .report-customizer__description { margin: 3px 0 0; color: #7870a0; font-size: 0.74rem; line-height: 1.4; }
226          .report-customizer__presets { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
227          .modern-report__toolbar .report-customizer__preset {
228            padding: 6px 10px;
229            border: 1px solid rgba(120, 100, 200, 0.18);
230            border-radius: 9px;
231            background: #fff;
232            color: #625a83;
233            font-size: 0.7rem;
234          }
235          .modern-report__toolbar .report-customizer__preset.is-active {
236            border-color: rgba(109, 82, 199, 0.5);
237            background: #ede9ff;
238            color: #4d3da0;
239            box-shadow: 0 0 0 2px rgba(109, 82, 199, 0.08);
240          }
241          .report-customizer__controls {
242            display: grid;
243            grid-template-columns: repeat(3, minmax(210px, 1fr));
244            gap: 18px;
245          }
246          .report-customizer__group {
247            min-width: 0;
248            min-inline-size: 0;
249            margin: 0;
250            padding: 0;
251            border: 0;
252          }
253          .report-customizer__group-title {
254            margin: 0 0 7px;
255            padding: 0;
256            color: #7568a8;
257            font-size: 0.66rem;
258            font-weight: 600;
259            letter-spacing: 0.12em;
260            text-transform: uppercase;
261          }
262          .report-customizer__group-options {
263            display: grid;
264            grid-template-columns: repeat(2, minmax(0, 1fr));
265            gap: 7px;
266          }
267          .report-customizer__group--evidence .report-customizer__group-options,
268          .report-customizer__group--layout .report-customizer__group-options {
269            grid-template-columns: 1fr;
270          }
271          .report-customizer__option {
272            display: flex;
273            align-items: center;
274            justify-content: space-between;
275            gap: 10px;
276            min-width: 0;
277            padding: 8px 10px;
278            border: 1px solid rgba(120, 100, 200, 0.11);
279            border-radius: 12px;
280            background: rgba(255, 255, 255, 0.82);
281            color: #373154;
282            font-size: 0.76rem;
283            font-weight: 650;
284            cursor: pointer;
285          }
286          .report-customizer__option.is-unavailable { opacity: 0.42; cursor: default; }
287          .report-customizer__switch {
288            position: relative;
289            flex: 0 0 auto;
290            width: 36px;
291            height: 20px;
292            margin: 0;
293            appearance: none;
294            border: 1px solid rgba(95, 88, 125, 0.22);
295            border-radius: 999px;
296            background: #ddd9e8;
297            cursor: pointer;
298            transition: background 140ms ease, border-color 140ms ease;
299          }
300          .report-customizer__switch::before {
301            content: "";
302            position: absolute;
303            top: 2px;
304            left: 2px;
305            width: 14px;
306            height: 14px;
307            border-radius: 50%;
308            background: #fff;
309            box-shadow: 0 1px 4px rgba(50, 40, 80, 0.2);
310            transition: transform 140ms ease;
311          }
312          .report-customizer__switch:checked { background: #6d52c7; border-color: #6d52c7; }
313          .report-customizer__switch:checked::before { transform: translateX(16px); }
314          .report-customizer__switch:focus-visible { outline: 3px solid rgba(109, 82, 199, 0.2); outline-offset: 2px; }
315          .report-customizer__switch:disabled { cursor: default; }
316          .modern-report__toolbar .report-customizer__reset {
317            justify-content: center;
318            padding: 8px 13px;
319            background: transparent;
320            border: 1px solid rgba(120, 100, 200, 0.2);
321            color: #625a83;
322            font-size: 0.76rem;
323          }
324          .is-report-hidden { display: none !important; }
325          .quality-snapshot__print-image { display: none; }
326          .modern-report.is-executive-report [data-report-evidence="full-only"] { display: none !important; }
327          .modern-report.is-full-evidence-report [data-report-evidence="executive-only"] { display: none !important; }
328          .modern-report__toolbar-accent {
329            height: 3px;
330            background: linear-gradient(90deg, #4e6cf5 0%, #8b4fdd 50%, #d44fa0 100%);
331            -webkit-print-color-adjust: exact;
332            print-color-adjust: exact;
333          }
334          .modern-report__body { width: 100%; flex: 1; position: relative; }
335          .modern-report__content { width: 100%; max-width: 1320px; margin: 0 auto; padding: 18px 24px 24px; }
336          .modern-report__corner-banner { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 14px; padding: 0 2px; }
337          .modern-report__corner-logo { width: 148px; max-width: 100%; height: auto; object-fit: contain; }
338          .modern-report__corner-qr {
339            display: flex;
340            flex-direction: column;
341            align-items: center;
342            gap: 6px;
343            padding: 10px 12px;
344            border: 1px solid rgb(63, 111, 77, 0.14);
345            border-radius: 18px;
346            background: linear-gradient(180deg, rgb(255, 255, 255, 0.96) 0%, rgb(249, 244, 236, 0.96) 100%);
347            box-shadow: 0 12px 30px rgb(39, 43, 40, 0.06);
348          }
349          .modern-report__corner-qr-image { width: 92px; height: 92px; object-fit: contain; }
350          .modern-report__corner-qr-label { margin: 0; color: var(--modern-report-subtle); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; }
351          .print-report-intro {
352            position: relative;
353            overflow: hidden;
354            padding: 28px 32px 28px;
355            margin-bottom: 20px;
356            border: 1px solid rgba(110, 90, 200, 0.14);
357            border-radius: 24px;
358            background: linear-gradient(135deg, #ffffff 55%, rgba(110, 90, 220, 0.04) 100%);
359            box-shadow: 0 12px 36px rgba(80, 60, 160, 0.07);
360            break-inside: avoid;
361            page-break-inside: avoid;
362          }
363          .print-report-intro__header { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
364          .print-report-intro__icon {
365            flex: 0 0 auto;
366            width: 40px;
367            height: 40px;
368            display: inline-flex;
369            align-items: center;
370            justify-content: center;
371            border-radius: 10px;
372            background: linear-gradient(135deg, #edeaff 0%, #e0d5fc 100%);
373            border: 1px solid rgba(120, 90, 210, 0.16);
374            color: #5c40c0;
375          }
376          .print-report-intro__eyebrow { margin: 0; color: #7870a0; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; }
377          .print-report-intro__title { margin: 0 0 12px; max-width: 900px; color: #14123a; font-size: clamp(1.7rem, 3vw, 2.6rem); font-weight: 800; line-height: 1.1; letter-spacing: -0.025em; }
378          .print-report-intro__description { max-width: 820px; margin: 8px 0 0; color: #4a4870; font-size: 0.96rem; line-height: 1.65; }
379          .print-report-intro__description--secondary { color: #7870a0; font-size: 0.9rem; }
380          .print-report-intro__sep { margin: 22px 0 0; height: 1px; background: linear-gradient(90deg, rgba(110, 90, 200, 0), rgba(110, 90, 200, 0.14) 20%, rgba(110, 90, 200, 0.14) 80%, rgba(110, 90, 200, 0)); }
381          .print-report-intro__meta { display: flex; align-items: stretch; flex-wrap: wrap; margin-top: 18px; }
382          .print-report-intro__meta-item {
383            display: flex;
384            align-items: center;
385            gap: 12px;
386            flex: 1 1 0;
387            min-width: 0;
388            padding: 14px 18px;
389          }
390          .print-report-intro__meta-icon {
391            flex: 0 0 auto;
392            width: 36px;
393            height: 36px;
394            display: inline-flex;
395            align-items: center;
396            justify-content: center;
397            border-radius: 8px;
398            background: linear-gradient(135deg, #edeaff 0%, #e0d5fc 100%);
399            border: 1px solid rgba(120, 90, 210, 0.14);
400            color: #5c40c0;
401          }
402          .print-report-intro__meta-label { display: block; font-size: 0.64rem; font-weight: 700; letter-spacing: 0.14em; color: #9088b8; text-transform: uppercase; margin-bottom: 3px; }
403          .print-report-intro__meta-value { display: block; font-size: 0.96rem; font-weight: 700; color: #14123a; line-height: 1.3; }
404          .print-report-intro__meta-sep { width: 1px; height: 44px; background: rgba(110, 90, 200, 0.12); flex: 0 0 auto; align-self: center; }
405          .print-report-advisory {
406            display: flex;
407            align-items: flex-start;
408            gap: 0;
409            margin: 0 0 26px;
410            padding: 16px 20px;
411            border: 1px solid rgba(180, 130, 60, 0.2);
412            border-radius: 18px;
413            background: linear-gradient(135deg, #fdf8f0 0%, #fffcf6 100%);
414            break-inside: avoid;
415            page-break-inside: avoid;
416          }
417          .print-report-advisory__label-area {
418            display: flex;
419            flex-direction: column;
420            align-items: center;
421            gap: 8px;
422            flex: 0 0 auto;
423            padding-right: 20px;
424            min-width: 84px;
425            align-self: center;
426          }
427          .print-report-advisory__icon {
428            width: 40px;
429            height: 40px;
430            display: inline-flex;
431            align-items: center;
432            justify-content: center;
433            border-radius: 10px;
434            background: rgba(180, 130, 60, 0.1);
435            border: 1px solid rgba(180, 130, 60, 0.2);
436            color: #b07830;
437          }
438          .print-report-advisory__label { font-size: 0.64rem; font-weight: 800; letter-spacing: 0.14em; color: #b07830; text-transform: uppercase; text-align: center; }
439          .print-report-advisory__divider { width: 1px; align-self: stretch; background: rgba(180, 130, 60, 0.18); flex: 0 0 auto; margin-right: 20px; }
440          .print-report-advisory__text { margin: 0; color: #5a5040; font-size: 0.9rem; line-height: 1.65; flex: 1 1 0; min-width: 0; align-self: center; }
441          .modern-report__chat-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; max-width: none; margin: 18px 0 0; text-align: left; }
442          .modern-report__chat-fact { padding: 14px 16px; background: rgb(255, 253, 249, 0.76); border: 1px solid rgb(63, 111, 77, 0.12); border-radius: 18px; box-shadow: inset 0 1px 0 rgb(255, 255, 255, 0.65); }
443          .modern-report__chat-fact dt { margin: 0 0 4px; color: var(--modern-report-subtle); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
444          .modern-report__chat-fact dd { margin: 0; color: var(--modern-report-ink); font-size: 0.94rem; line-height: 1.45; }
445          .modern-report__timeline { display: flex; flex-direction: column; gap: 30px; }
446          .modern-report__turn { break-inside: auto; }
447          .modern-report__turn + .modern-report__turn { padding-top: 30px; border-top: 1px solid rgb(120, 100, 200, 0.12); }
448          .modern-report__turn-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; padding-bottom: 10px; border-bottom: 1px solid rgba(120, 100, 200, 0.12); color: var(--modern-report-subtle); font-size: 0.76rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; break-after: avoid; }
449          .modern-report__turn-label { color: var(--modern-report-heading); }
450          /* Conversation report refinements */
451          .conversation-report__heading { align-items: baseline; }
452          .conversation-report__label { color: #6f6b86; letter-spacing: 0.18em; }
453          .conversation-report__turn { color: #14123a; font-weight: 900; letter-spacing: 0.08em; }
454
455          .conversation-report__prompt-card {
456            position: relative;
457            display: grid;
458            grid-template-columns: 56px minmax(0, 1fr);
459            gap: 16px;
460            padding: 18px 20px;
461            margin-bottom: 18px;
462            background: linear-gradient(135deg, #ffffff 0%, #fbfbff 100%);
463            border: 1px solid rgba(120,90,210,0.14);
464            border-radius: 18px;
465            box-shadow: 0 10px 24px rgba(80, 60, 150, 0.045);
466            break-inside: avoid;
467            page-break-inside: avoid;
468            overflow: visible;
469          }
470          .conversation-report__prompt-icon {
471            width: 48px;
472            height: 48px;
473            display: inline-flex;
474            align-items: center;
475            justify-content: center;
476            border-radius: 12px;
477            background: linear-gradient(135deg, #f0ebff 0%, #e9e1ff 100%);
478            border: 1px solid rgba(120,90,210,0.12);
479            color: #5c40c0;
480            flex: 0 0 auto;
481          }
482          .conversation-report__prompt-content { min-width: 0; }
483          .conversation-report__prompt-label { font-size: 0.64rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: #6d5fa3; margin-bottom: 6px; }
484          .conversation-report__prompt-text {
485            position: relative;
486            z-index: 1;
487            max-width: 1040px;
488            color: #232445;
489            font-family: "Spectral Report", Spectral, Georgia, "Times New Roman", serif;
490            font-size: 1.16rem;
491            font-weight: 400;
492            line-height: 1.62;
493            letter-spacing: -0.008em;
494            text-wrap: pretty;
495          }
496          .report-security-notice {
497            position: fixed;
498            left: 18px;
499            bottom: 18px;
500            z-index: 18;
501            display: grid;
502            grid-template-columns: 40px minmax(0, 1fr) 28px;
503            align-items: start;
504            gap: 12px;
505            width: min(390px, calc(100vw - 36px));
506            padding: 15px 14px;
507            overflow: hidden;
508            border: 1px solid rgba(120, 90, 210, 0.18);
509            border-radius: 16px;
510            background: linear-gradient(135deg, rgba(255, 255, 255, 0.84), rgba(244, 240, 255, 0.72));
511            box-shadow: 0 12px 38px rgba(60, 45, 120, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.76);
512            -webkit-backdrop-filter: blur(24px) saturate(150%);
513            backdrop-filter: blur(24px) saturate(150%);
514          }
515          .report-security-notice::before {
516            content: '';
517            position: absolute;
518            inset: 0 0 auto;
519            height: 3px;
520            background: linear-gradient(90deg, #4e6cf5 0%, #8b4fdd 55%, #d44fa0 100%);
521          }
522          .report-security-notice__icon {
523            display: inline-flex;
524            align-items: center;
525            justify-content: center;
526            width: 40px;
527            height: 40px;
528            border: 1px solid rgba(120, 90, 210, 0.14);
529            border-radius: 10px;
530            background: linear-gradient(135deg, #edeaff 0%, #e0d5fc 100%);
531            color: #5c40c0;
532          }
533          .report-security-notice__eyebrow {
534            margin: 0 0 2px;
535            color: #7667a6;
536            font-size: 0.62rem;
537            font-weight: 600;
538            letter-spacing: 0.12em;
539            text-transform: uppercase;
540          }
541          .report-security-notice__title {
542            margin: 0;
543            color: #211d42;
544            font-size: 0.92rem;
545            font-weight: 600;
546            line-height: 1.3;
547          }
548          .report-security-notice__text {
549            margin: 4px 0 0;
550            color: #686181;
551            font-size: 0.76rem;
552            line-height: 1.45;
553          }
554          .report-security-notice__close {
555            display: inline-flex;
556            align-items: center;
557            justify-content: center;
558            width: 28px;
559            height: 28px;
560            padding: 0;
561            border: 0;
562            border-radius: 999px;
563            background: transparent;
564            color: #756d91;
565            cursor: pointer;
566          }
567          .report-security-notice__close:hover { background: #f2effb; color: #3f356c; }
568          .report-security-notice__close:focus-visible { outline: 3px solid rgba(109, 82, 199, 0.2); outline-offset: 2px; }
569          .conversation-report__prompt-text p { margin: 0; }
570          .conversation-report__prompt-date { margin-top: 10px; color: var(--modern-report-subtle); font-size: 0.85rem; display: flex; align-items: center; gap: 8px; }
571          .conversation-report__prompt-wash { position: absolute; right: 0; top: 0; bottom: 0; width: 120px; background: linear-gradient(90deg, rgba(142,110,255,0.06), rgba(212,79,160,0.04)); border-bottom-right-radius: 16px; border-top-right-radius: 16px; pointer-events: none; mix-blend-mode: multiply; }
572
573          .conversation-report__answer-card { padding: 20px 22px 22px; background: linear-gradient(180deg, #fff 0%, #fffdf9 100%); border: 1px solid rgba(221, 214, 203, 0.9); border-radius: 20px; box-shadow: 0 12px 28px rgba(44, 38, 30, 0.045); break-inside: auto; page-break-inside: auto; }
574        
574  .conversation-report__answer-header { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; break-after: avoid; }
575          .conversation-report__answer-icon { width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; background: linear-gradient(135deg,#f8f0e7 0%,#efe4d4 100%); border: 1px solid #eadfce; color: #8b6b3b; font-weight: 900; }
576          .conversation-report__answer-title { margin: 0; color: #14123a; font-size: 0.96rem; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase; }
577          .conversation-report__answer-subtitle { margin: 2px 0 0; color: var(--modern-report-subtle); font-size: 0.86rem; }
578          .conversation-report__answer-sep { height: 1px; background: linear-gradient(90deg, rgba(120, 100, 200, 0.14), rgba(221, 214, 203, 0.6)); margin: 14px 0; }
579          .conversation-report__answer-body { max-width: 1040px; font-size: 1rem; line-height: 1.68; color: #2f312f; }
580
581          .conversation-report__metrics { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; margin-top: 18px; }
582          .conversation-report__metric { display: flex; gap: 10px; align-items: center; padding: 10px 12px; background: rgba(255,255,255,0.72); border: 1px solid rgba(120,100,200,0.11); border-radius: 12px; min-height: 56px; box-shadow: inset 0 1px 0 rgba(255,255,255,0.72); }
583          .conversation-report__metric--insight { grid-column: span 1; }
584          .conversation-report__metric-icon { width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; background: linear-gradient(135deg,#f7f6ff 0%,#f1eefc 100%); border: 1px solid rgba(120,90,210,0.06); color: #6d52c7; flex: 0 0 auto; }
585          .conversation-report__metric-label { font-size: 0.64rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: #7a6f9a; }
586          .conversation-report__metric-value { font-size: 0.96rem; font-weight: 800; color: var(--modern-report-heading); }
587
588          @media (max-width: 760px) {
589            .conversation-report__prompt-card { grid-template-columns: 48px 1fr; padding: 12px; }
590            .conversation-report__prompt-wash { display: none; }
591            .conversation-report__metrics { grid-template-columns: 1fr 1fr; }
592          }
593
594          @media print {
595            .conversation-report__prompt-wash { display: none; }
596            .conversation-report__prompt-card, .conversation-report__answer-card { box-shadow: none; background: #fff; }
597            .conversation-report__metric { background: #fff; border-color: var(--modern-report-divider); }
598            .conversation-report__metrics { page-break-inside: avoid; break-inside: avoid; }
599          }
600          .modern-report__prompt {
601            display: grid;
602            grid-template-columns: 72px minmax(0, 1fr);
603            gap: 18px;
604            padding: 18px 20px;
605            background: linear-gradient(180deg, rgb(237, 243, 246, 0.88) 0%, rgb(255, 252, 247, 0.92) 100%);
606            border: 1px solid rgb(205, 216, 223, 0.92);
607            border-radius: 24px;
608            box-shadow: 0 16px 32px rgb(43, 49, 45, 0.06);
609            break-inside: avoid;
610          }
611          .modern-report__prompt-avatar-wrap { display: flex; align-items: flex-start; justify-content: center; }
612          .modern-report__prompt-avatar { width: 54px; height: 54px; border-radius: 50%; border: 1px solid rgb(0, 0, 0, 0.08); background: linear-gradient(180deg, #eef3f6, #fbf8f2); }
613          .modern-report__prompt-body { min-width: 0; }
614          .modern-report__prompt .modern-report__divider { margin-bottom: 12px; }
615          .modern-report__prompt-copy, .modern-report__response-body, .modern-report__synthesis-copy { color: var(--modern-report-ink); line-height: 1.65; }
616          .modern-report__prompt-copy p, .modern-report__response-body p, .modern-report__synthesis-copy p { margin-top: 0; margin-bottom: 0.8em; }
617          .modern-report__prompt-copy p:last-child, .modern-report__response-body p:last-child, .modern-report__synthesis-copy p:last-child { margin-bottom: 0; }
618          .modern-report__prompt-copy ul, .modern-report__response-body ul, .modern-report__synthesis-copy ul, .modern-report__prompt-copy ol, .modern-report__response-body ol, .modern-report__synthesis-copy ol { padding-left: 1.25rem; }
619          .modern-report__prompt-copy code, .modern-report__response-body code, .modern-report__synthesis-copy code { padding: 0.1rem 0.3rem; border-radius: 4px;
619 background: rgb(76, 88, 79, 0.08); font-family: Consolas, "Courier New", monospace; font-size: 0.9em; }
620          .modern-report__prompt-copy pre, .modern-report__response-body pre, .modern-report__synthesis-copy pre { overflow-x: auto; padding: 10px 12px; background: rgb(76, 88, 79, 0.06); }
621          .modern-report__prompt-copy blockquote, .modern-report__response-body blockquote, .modern-report__synthesis-copy blockquote { padding-left: 12px; border-left: 3px solid #c8bbab; color: var(--modern-report-ink-soft); }
622          .modern-report__response-body > :first-child { margin-top: 0; }
623          .modern-report__response-body > :last-child { margin-bottom: 0; }
624          .modern-report__response-body h1,
625          .modern-report__response-body h2,
626          .modern-report__response-body h3,
627          .modern-report__response-body h4,
628          .modern-report__response-body h5,
629          .modern-report__response-body h6 {
630            margin: 1.15em 0 0.45em;
631            color: #191735;
632            line-height: 1.3;
633          }
634          .modern-report__response-body h1 { font-size: 1.35rem; }
635          .modern-report__response-body h2 { font-size: 1.2rem; }
636          .modern-report__response-body h3 { font-size: 1.08rem; }
637          .modern-report__response-body ul, .modern-report__response-body ol { margin: 0 0 0.85em; }
638          .modern-report__response-body li + li { margin-top: 0.24em; }
639          .modern-report__response-body a { color: #4f45a5; text-decoration-thickness: 1px; text-underline-offset: 2px; }
640          .modern-report__response-body pre { white-space: pre-wrap; overflow-wrap: anywhere; border-radius: 9px; }
641          .modern-report__response-body table { width: 100%; margin: 0.9em 0; border-collapse: collapse; font-size: 0.88rem; }
642          .modern-report__response-body th, .modern-report__response-body td { padding: 7px 9px; border: 1px solid #e1d9cf; text-align: left; vertical-align: top; }
643          .modern-report__response-body th { background: #f6f3fb; color: #292441; font-weight: 800; }
644          .modern-report__prompt-meta { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; color: var(--modern-report-subtle); font-size: 0.88rem; font-weight: 600; }
645          .modern-report__section {
646            margin-top: 18px;
647            padding: 20px 22px 22px;
648            background: linear-gradient(180deg, #fff 0%, #fffdf9 100%);
649            border: 1px solid rgba(221,214,203,0.86);
650            border-radius: 20px;
651            box-shadow: 0 10px 26px rgba(44,38,30,0.04);
652          }
653          /* Quality snapshot print styling */
654          .quality-snapshot { padding: 28px 30px; border: 1px solid #e7e2da; border-radius: 24px; background: linear-gradient(180deg, #fff 0%, #fffdf9 100%); box-shadow: 0 14px 32px rgba(44, 38, 30, 0.045); }
655          .quality-snapshot .modern-report__section-header { align-items: center; border-bottom: 0; margin-bottom: 24px; padding-bottom: 0; }
656          .quality-snapshot .modern-report__section-title { color: #111827; font-size: 1.12rem; letter-spacing: 0.08em; }
657          .quality-snapshot .modern-report__section-subtitle { color: #5f6470; font-size: 0.86rem; }
658          .quality-snapshot .modern-report__section-icon { width: 48px; height: 48px; color: #7b5f3b; background: linear-gradient(135deg, #f8f0e6 0%, #efe3d2 100%); border-color: #eadfce; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7); }
659          .quality-snapshot__index-summary { display: grid; grid-template-columns: auto auto; align-items: center; justify-content: end; column-gap: 16px; row-gap: 3px; text-align: left; margin-left: auto; min-width: 270px; }
660          .quality-snapshot__index-label { grid-column: 1 / -1; font-size: 0.72rem; font-weight: 800; color: #536a8f; letter-spacing: 0.12em; text-transform: uppercase; }
661          .quality-snapshot__index-score { font-size: 1.9rem; line-height: 1; font-weight: 900; color: #1a73e8; }
662          .quality-snapshot__index-denom { font-size: 0.86rem; margin-left: 6px; color: #5f6470; font-weight: 600; }
663          .quality-snapshot__status-chip { display: inline-flex; align-items: center; justify-content: center; min-width: 62px; min-height: 28px; font-size: 0.72rem; font-weight: 900; color: #ef2e2e; background: #ffeded; padding: 6px 10px; border-radius: 6px; }
664          .quality-snapshot__overall { display: flex; align-items: center; gap: 28px; margin-top: 0;
664 padding: 22px 26px; border: 1px solid #e9e2da; border-radius: 18px; background: rgba(255, 255, 255, 0.78); }
665          .quality-snapshot__overall-copy { flex: 1 1 320px; }
666          .quality-snapshot__overall-label { font-size: 0.72rem; font-weight: 900; color: #7a7480; text-transform: uppercase; letter-spacing: 0.14em; }
667          .quality-snapshot__overall-line { margin-top: 8px; color: #111827; font-size: 0.88rem; font-weight: 800; letter-spacing: 0.03em; text-transform: uppercase; }
668          .quality-snapshot__overall-line span { color: #1a73e8; }
669          .quality-snapshot__scale { flex: 1 1 560px; }
670          .quality-snapshot__scale-rail { position: relative; height: 42px; padding-top: 24px; }
671          .quality-snapshot__scale-segments { height: 5px; border-radius: 999px; background: repeating-linear-gradient(90deg, transparent 0 8px, rgba(255,255,255,0.92) 8px 11px), linear-gradient(90deg, #f52f35 0%, #ff7a1a 24%, #ffc928 46%, #7cc861 70%, #5bb884 100%); }
672          .quality-snapshot__scale-marker { position: absolute; top: 18px; width: 18px; height: 18px; background: #ff2f35; border: 3px solid #fff; border-radius: 999px; transform: translate(-50%, -50%); box-shadow: 0 0 0 3px #ff2f35, 0 8px 14px rgba(255, 47, 53, 0.2); }
673          .quality-snapshot__scale-labels { position: absolute; left: 0; right: 0; top: 0; display: flex; justify-content: space-between; font-size: 0.72rem; color: #6b7280; }
674
675          .quality-snapshot__metrics-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; margin-top: 18px; }
676          .quality-snapshot__metric-card { --quality-accent: #6d52c7; --quality-accent-soft: #f3f0ff; --quality-border: #e7e2da; --quality-track: linear-gradient(90deg, #f52f35 0%, #ff7a1a 28%, #ffd528 48%, #6cc46d 100%); display: grid; grid-template-columns: 56px minmax(0, 1fr) 96px; gap: 14px; align-items: center; min-height: 96px; padding: 18px 20px; border-radius: 18px; border: 1px solid var(--quality-border); background: linear-gradient(180deg, #fff 0%, color-mix(in srgb, var(--quality-accent-soft) 40%, #fff) 100%); }
677          .quality-snapshot__metric-icon { width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: var(--quality-accent-soft); color: var(--quality-accent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--quality-accent) 12%, #fff); }
678          .quality-snapshot__metric-copy { flex: 1 1 auto; min-width: 0; }
679          .quality-snapshot__metric-title { font-weight: 900; color: var(--quality-accent); font-size: 0.82rem; letter-spacing: 0.06em; text-transform: uppercase; }
680          .quality-snapshot__metric-description { margin-top: 8px; color: #4b5563; font-size: 0.82rem; line-height: 1.35; }
681          .quality-snapshot__metric-bar { margin-top: 14px; position: relative; height: 14px; overflow: visible; }
682          .quality-snapshot__metric-bar-fill { position: absolute; left: 0; right: 0; top: 4px; height: 6px; border-radius: 999px; background: repeating-linear-gradient(90deg, transparent 0 8px, rgba(255,255,255,0.92) 8px 11px), var(--quality-track); }
683          .quality-snapshot__metric-marker { position: absolute; top: 7px; width: 16px; height: 16px; background: var(--quality-accent); border: 3px solid #fff; border-radius: 999px; transform: translate(-50%, -50%); box-shadow: 0 0 0 2px var(--quality-accent), 0 8px 14px color-mix(in srgb, var(--quality-accent) 18%, transparent); }
684          .quality-snapshot__metric-score { width: auto; text-align: right; }
685          .quality-snapshot__metric-value { font-weight: 900; font-size: 1.55rem; line-height: 1; color: var(--quality-accent); }
686          .quality-snapshot__metric-denom { font-size: 0.76rem; margin-left: 4px; color: #4b5563; font-weight: 600; }
687          .quality-snapshot__metric-status { margin-top: 10px; font-weight: 900; font-size: 0.68rem; letter-spacing: 0.04em; color: var(--quality-accent); text-transform: uppercase; }
688          .quality-snapshot__metric-bar--count .quality-snapshot__metric-bar-fill { background: repeating-linear-gradient(90deg, transparent 0 8px, rgba(255,255,255,0.92) 8px 11px
688), linear-gradient(90deg, var(--quality-accent) 0%, color-mix(in srgb, var(--quality-accent) 14%, #cbd5e1) 12%, #cbd5e1 100%); }
689
690          /* Per-metric color mapping to match mockup */
691          .metric--hallucinationRisk { --quality-accent: #ef2e2e; --quality-accent-soft: #ffe6e6; --quality-border: #ffd4d4; --quality-track: linear-gradient(90deg, #4cc36b 0%, #d4d92b 28%, #ff950f 50%, #ef4444 100%); }
692          .metric--fabricationRisk { --quality-accent: #35a853; --quality-accent-soft: #e7f6eb; --quality-border: #e9ddd5; --quality-track: linear-gradient(90deg, #35a853 0%, #cbd5e1 12%, #cbd5e1 100%); }
693          .metric--consensusScore { --quality-accent: #35a853; --quality-accent-soft: #e7f6eb; --quality-border: #dcebdd; }
694          .metric--confidenceScore { --quality-accent: #f27a00; --quality-accent-soft: #fff1df; --quality-border: #eadfd4; }
695          .metric--panelIntegrityScore { --quality-accent: #6d52c7; --quality-accent-soft: #efe9ff; --quality-border: #dfd9ee; --quality-track: linear-gradient(90deg, #4cc36b 0%, #4cc36b 100%); }
696          .metric--verificationRequiredCount { --quality-accent: #1a73e8; --quality-accent-soft: #e7f1ff; --quality-border: #d7e4f2; }
697          .metric--unsupportedSpecificClaimCount { --quality-accent: #2b6fa8; --quality-accent-soft: #e8f2f9; --quality-border: #d7e4ee; }
698          .metric--dominantRiskScore { --quality-accent: #6d52c7; --quality-accent-soft: #eee9ff; --quality-border: #ded7ef; --quality-track: linear-gradient(90deg, #4cc36b 0%, #d4d92b 28%, #ff950f 50%, #ef4444 100%); }
699
700          .quality-snapshot__note { display: flex; align-items: center; gap: 12px; margin-top: 22px; color: #735d43; font-size: 0.82rem; padding: 14px 18px; border: 0; border-radius: 16px; background: linear-gradient(90deg, #f5eee6 0%, rgba(245, 238, 230, 0.45) 100%); }
701          .quality-snapshot__note::before { content: "i"; flex: 0 0 auto; width: 20px; height: 20px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: #98764d; color: #fff; font-size: 0.78rem; font-weight: 800; font-family: Georgia, serif; }
702          .modern-report__section-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid rgba(120,100,200,0.12); break-after: avoid; }
703          .modern-report__section-heading { display: flex; align-items: center; gap: 12px; }
704          .modern-report__section-icon {
705            width: 38px;
706            height: 38px;
707            display: inline-flex;
708            align-items: center;
709            justify-content: center;
710            border-radius: 12px;
711            background: linear-gradient(135deg, #f3f0ff 0%, #fff7fb 100%);
712            border: 1px solid rgba(120, 90, 210, 0.15);
713            color: #6d52c7;
714            font-size: 0.95rem;
715            font-weight: 800;
716            box-shadow: inset 0 1px 0 rgb(255, 255, 255, 0.55);
717          }
718          .modern-report__section-title, .modern-report__subsection-title { margin: 0; color: #14123a; font-size: 1rem; font-weight: 900; letter-spacing: 0.1em; text-transform: uppercase; }
719          .modern-report__section-subtitle { margin: 4px 0 0; color: #746d80; font-size: 0.86rem; line-height: 1.45; }
720          .modern-report__section-body { display: flex; flex-direction: column; gap: 0; }
721          .modern-report__section-body--responses, .modern-report__section-body--insights { gap: 0; }
722          .modern-report__response {
723            padding: 16px 0 18px 14px;
724            background: transparent;
725            border: 0;
726            border-left: 3px solid color-mix(in srgb, var(--tone-accent, #8b8a85) 42%, #e8dece);
727            border-radius: 0;
728            box-shadow: none;
729            break-inside: auto;
730          }
731          .modern-report__response + .modern-report__response { margin-top: 0; border-top: 1px solid rgba(221,214,203,0.72); }
732          .modern-report__response-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 10px; break-after: avoid; }
733          .modern-report__response-title-wrap { display: flex; align-items: flex-start; gap: 12px; min-width: 0; }
734          .modern-report__response-icon-wrap {
735            width: 38px;
736            height: 38px;
737            display: inline-flex;
738            align-items: center;
739            justify-content: center;
740            border-radius: 10px;
741            background: var(--tone-accent-soft, rgb(0,0,0,0.06));
742            color: var(--tone-accent, #6c6a65);
743            border: 1px solid color-mix(in srgb, var(--tone-accent, #8b8a85) 18%, #fff);
744          }
745          .modern-report__response-icon { font-size: 1rem; }
746          .modern-report__response-title { margin: 0; color: #14123a; font-size: 1rem; font-weight: 900; }
747          .modern-report__response-key, .modern-report__response-meta { margin: 4px 0 0; color: var(--modern-report-subtle); font-size: 0.82rem; line-height: 1.45; overflow-wrap: break-word; }
748          .modern-report__response-technical-meta {
749            display: flex;
750            flex-wrap: wrap;
751            gap: 6px 14px;
752            margin: -2px 0 10px 50px;
753            color: #7a7480;
754            font-size: 0.72rem;
755            line-height: 1.4;
756          }
757          .modern-report__response-technical-meta strong {
758            margin-right: 4px;
759            color: #544d64;
760            font-weight: 800;
761            letter-spacing: 0.06em;
762            text-transform: uppercase;
763          }
764          .modern-report__response .modern-report__chat-facts { margin-top: 0; margin-bottom: 12px; gap: 8px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
765          .modern-report__response .modern-report__chat-fact { padding: 8px 10px; background: rgba(255,255,255,0.72); border-color: color-mix(in srgb, var(--tone-accent, #8b8a85) 14%, #efe6da); border-radius: 10px; box-shadow: none; }
766          .modern-report__chips { display: flex; flex-wrap: wrap; gap: 6px; }
767          .modern-report__chips--compact { justify-content: flex-end; }
768          .modern-report__chip {
769            display: inline-flex;
770            align-items: center;
771            gap: 6px;
772            min-height: 24px;
773            padding: 4px 9px;
774            background: var(--modern-report-chip-bg);
775            border: 1px solid var(--modern-report-chip-border);
776            border-radius: 999px;
777            color: var(--modern-report-ink-soft);
778            font-size: 0.72rem;
779            font-weight: 700;
780            letter-spacing: 0.04em;
781            text-transform: uppercase;
782            line-height: 1.2;
783            white-space: nowrap;
784          }
785          .modern-report__synthesis-copy { padding: 0; font-size: 1.02rem; max-width: 1040px; }
786          .modern-report__confidence {
787            display: flex;
788            align-items: flex-start;
789            gap: 10px;
790            margin-top: 14px;
791            padding: 12px 14px;
792            background: linear-gradient(180deg, var(--tone-soft, rgb(248, 249, 247)) 0%, rgb(255, 255, 255, 0.95) 100%);
793            border: 1px solid color-mix(in srgb, var(--tone-accent, #8b8a85) 14%, #efe6da);
794            border-radius: 16px;
795            break-inside: avoid;
796          }
797          .modern-report__finding-group {
798            --finding-group-accent: #8b6f98;
799            --finding-group-surface: #faf7ff;
800            margin-top: 16px;
801            border: 1px solid color-mix(in srgb, var(--finding-group-accent) 24%, #fff);
802            border-radius: 18px;
803            background: linear-gradient(180deg, color-mix(in srgb, var(--finding-group-surface) 88%, #fff) 0%, #fff 100%);
804            box-shadow: 0 10px 24px rgba(80, 60, 140, 0.05);
805            overflow: hidden;
806            break-inside: avoid;
807          }
808          .modern-report__finding-group:first-child { margin-top: 0; }
809          .modern-report__finding-group-header {
810            display: flex;
811            align-items: center;
812            justify-content: space-between;
813            gap: 16px;
814            padding: 16px 18px;
815            border-bottom: 1px solid color-mix(in srgb, var(--finding-group-accent) 16%, #fff);
816            background: linear-gradient(90deg, color-mix(in srgb, var(--finding-group-surface) 96%, #fff) 0%, #fff 100%);
817          }
818          .modern-report__finding-group-header-copy {
819            display: flex;
820            align-items: center;
821            gap: 14px;
822            min-width: 0;
823          }
824          .modern-report__finding-group-icon {
825            width: 42px;
826            height: 42px;
827            display: inline-flex;
828            align-items: center;
829            justify-content: center;
830            flex: 0 0 auto;
831            color: var(--finding-group-accent);
832            background: color-mix(in srgb, var(--finding-group-accent) 12%, #fff);
833            border: 1px solid color-mix(in srgb, var(--finding-group-accent) 22%, #fff);
834            border-radius: 14px;
835          }
836          .modern-report__finding-group-titles { min-width: 0; }
837          .modern-report__finding-group-label {
838            color: var(--finding-group-accent);
839            font-size: 0.98rem;
840            font-weight: 800;
841            letter-spacing: 0.04em;
842            text-transform: uppercase;
843          }
844          .modern-report__finding-group-subtitle {
845            margin: 4px 0 0;
846            color: #615a54;
847            font-size: 0.88rem;
848            line-height: 1.45;
849          }
850          .modern-report__finding-group-count {
851            min-width: 34px;
852            height: 34px;
853            padding: 0 10px;
854            display: inline-flex;
855            align-items: center;
856            justify-content: center;
857            flex: 0 0 auto;
858            border-radius: 999px;
859            background: color-mix(in srgb, var(--finding-group-accent) 12%, #fff);
860            border: 1px solid color-mix(in srgb, var(--finding-group-accent) 18%, #fff);
861            color: var(--finding-group-accent);
862            font-size: 0.88rem;
863            font-weight: 800;
864          }
865          .modern-report__finding-group-items {
866            display: grid;
867            gap: 0;
868            padding: 8px 18px 16px;
869          }
870          .modern-report__finding-group--critical { --finding-group-accent: #d84b36; --finding-group-surface: #fff1ed; }
871          .modern-report__finding-group--very_high { --finding-group-accent: #ef5b3f; --finding-group-surface: #fff3ee; }
872          .modern-report__finding-group--high { --finding-group-accent: #ef8a1d; --finding-group-surface: #fff6ea; }
873          .modern-report__finding-group--elevated { --finding-group-accent: #c88a2f; --finding-group-surface: #fff7e9; }
874          .modern-report__finding-group--moderate { --finding-group-accent: #4c79c7; --finding-group-surface: #eef4ff; }
875          .modern-report__finding-group--guarded { --finding-group-accent: #2a9b8f; --finding-group-surface: #edf9f6; }
876          .modern-report__finding-group--low { --finding-group-accent: #4aa35f; --finding-group-surface: #eff9f1; }
877          .modern-report__finding-group--very_low { --finding-group-accent: #4aa35f; --finding-group-surface: #eff9f1; }
878          .modern-report__finding-group--unknown { --finding-group-accent: #7a7e86; --finding-group-surface: #f5f6f8; }
879          .modern-report__finding, .modern-report__insight-item {
880            padding: 14px 0 14px 16px;
881            background: transparent;
882            border: 0;
883            border-left: 3px solid color-mix(in srgb, var(--tone-accent, #8b8a85) 36%, #e8dece);
884            border-radius: 0;
885            box-shadow: none;
886            break-inside: avoid;
887          }
888          .modern-report__finding + .modern-report__finding, .modern-report__insight-item + .modern-report__insight-item { margin-top: 0; border-top: 1px solid rgba(221,214,203,0.72); }
889          .modern-report__finding-summary { display: flex; align-items: flex-start; flex-wrap: nowrap; gap: 12px; }
890          .modern-report__finding-label {
891            display: inline-flex;
892            align-items: center;
893            gap: 6px;
894            flex: 0 0 auto;
895            margin: 0;
896            color: var(--tone-accent, #8a6b4a);
897            font-size: 0.76rem;
898            font-weight: 700;
899            letter-spacing: 0.12em;
900            text-transform: uppercase;
901            padding: 5px 8px;
902            border-radius: 8px;
903            background: color-mix(in srgb, var(--tone-accent-soft, #f6eadb) 76%, #fff);
904            border: 1px solid color-mix(in srgb, var(--tone-accent, #8a6b4a) 18%, #fff);
905          }
906          .modern-report__finding-label.is-fabrication { color: #9a5a66; }
907          .modern-report__finding-label.is-hallucination { color: #66757c; }
908          .modern-report__finding-text, .modern-report__insight-text, .modern-report__insight-note, .modern-report__finding-detail { margin: 0; line-height: 1.62; }
909          .modern-report__insight-text { color: #2b312d; font-size: 0.94rem; }
910          .modern-report__finding-text { color: #2b312d; font-size: 0.94rem; }
911          .modern-report__finding-index {
912            display: inline-flex;
913            align-items: center;
914            justify-content: center;
915            flex: 0 0 auto;
916            width: 30px;
917            height: 30px;
918            border-radius: 9px;
919            background: color-mix(in srgb, var(--tone-accent-soft, #f6eadb) 78%, #fff);
920            border: 1px solid color-mix(in srgb, var(--tone-accent, #8a6b4a) 18%, #fff);
921            color: var(--tone-accent, #8a6b4a);
922            font-size: 0.7rem;
923            font-weight: 900;
924            letter-spacing: 0.04em;
925          }
926          .modern-report__finding-meta {
927            display: flex;
928            align-items: center;
929            flex-wrap: wrap;
930            gap: 7px;
931            margin: 10px 0 0 42px;
932          }
933          .modern-report__finding-meta-item {
934            display: inline-flex;
935            align-items: baseline;
936            gap: 5px;
937            max-width: 100%;
938            padding: 4px 8px;
939            border: 1px solid rgba(120, 100, 200, 0.1);
940            border-radius: 999px;
941            background: rgba(255, 255, 255, 0.72);
942            color: #645d6c;
943            font-size: 0.72rem;
944            line-height: 1.35;
945          }
946          .modern-report__finding-meta-item strong {
947            color: #81768d;
948            font-size: 0.64rem;
949            font-weight: 850;
950            letter-spacing: 0.07em;
951            text-transform: uppercase;
952          }
953          .modern-report__finding-meta-item--models { border-radius: 10px;
953 overflow-wrap: anywhere; }
954          .modern-report__finding-details { margin-top: 12px; display: grid; gap: 8px; }
955          .modern-report__finding-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
956          .modern-report__finding-detail {
957            padding: 9px 10px;
958            background: rgba(255, 255, 255, 0.72);
959            border: 1px solid rgba(221,214,203,0.72);
960            border-radius: 10px;
961          }
962          .modern-report__finding-detail-label { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 4px; color: #8a5f62; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
963          .modern-report__finding-detail-label--claim,
964          .modern-report__finding-detail-label--reasoning { color: var(--finding-group-accent, #8a5f62); }
965          .modern-report__finding-detail-label--claim::before,
966          .modern-report__finding-detail-label--reasoning::before {
967            content: "";
968            width: 0.5rem;
969            height: 0.5rem;
970            border-radius: 999px;
971            background: currentColor;
972            box-shadow: 0 0 0 2px color-mix(in srgb, currentColor 14%, transparent);
973            flex: 0 0 auto;
974          }
975          .modern-report__divider { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; color: #335846; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
976          .modern-report__divider::before, .modern-report__divider::after { content: ""; flex: 1 1 auto; height: 1px; background: var(--modern-report-divider); }
977          .modern-report__insight-label-row { margin-bottom: 6px; }
978          .modern-report__insight-label { display: inline-flex; align-items: center; gap: 6px; color: #6d52c7; font-size: 0.68rem; font-weight: 900; letter-spacing: 0.1em; text-transform: uppercase; }
979          .modern-report__insight-label::before { content: ""; width: 7px; height: 7px; border-radius: 999px; background: currentColor; opacity: 0.78; }
980          .modern-report__insight-note { margin-top: 8px; color: #746d80; font-size: 0.85rem; }
981          .modern-report__insight-item .modern-report__chips--compact { justify-content: flex-start; margin-top: 9px; }
982          .modern-report__insight-item--takeaway { --tone-accent: #4f8f68; --tone-accent-soft: #edf7f0; }
983          .modern-report__insight-item--takeaway .modern-report__insight-label { color: #3f7f5a; }
984          .modern-report__insight-item--action { --tone-accent: #4f73c8; --tone-accent-soft: #edf3ff; }
985          .modern-report__insight-item--action .modern-report__insight-label { color: #365fb7; }
986          .modern-report__insight-item--unique { --tone-accent: #7b61c8; --tone-accent-soft: #f1edff; }
987          .modern-report__insight-item--unique .modern-report__insight-label { color: #6d52c7; }
988          .modern-report__insight-item--outlier { --tone-accent: #a36f35; --tone-accent-soft: #fbf0e3; }
989          .modern-report__insight-item--outlier .modern-report__insight-label { color: #9a651f; }
990          .modern-report__section--insights {
991            --insight-accent: #6d52c7;
992            --insight-surface: #f4f0ff;
993            padding: 0;
994            overflow: hidden;
995            border-color: color-mix(in srgb, var(--insight-accent) 20%, #e4ded7);
996          }
997          .modern-report__section--insights-takeaways { --insight-accent: #3f7f5a; --insight-surface: #edf7f0; }
998          .modern-report__section--insights-actions { --insight-accent: #365fb7; --insight-surface: #edf3ff; }
999          .modern-report__section--insights-unique { --insight-accent: #6d52c7; --insight-surface: #f1edff; }
1000          .modern-report__section--insights-outliers { --insight-accent: #9a651f; --insight-surface: #fbf0e3; }
1001          .modern-report__section--insights .modern-report__section-header {
1002            margin: 0;
1003            padding: 14px 18px;
1004            border-bottom: 1px solid color-mix(in srgb, var(--insight-accent) 18%, #fff);
1005            border-left: 5px solid var(--insight-accent);
1006            background: linear-gradient(90deg, var(--insight-surface) 0%, color-mix(in srgb, var(--insight-surface) 32%, #fff) 72%, #fff 100%);
1007          }
1008          .modern-report__section--insights .modern-report__section-icon {
1009            color: var(--insight-accent);
1010            background: color-mix(in srgb, var(--insight-accent) 10%, #fff);
1011            border-color: color-mix(in srgb, var(--insight-accent) 20%, #fff);
1012          }
1013          .modern-report__section--insights .modern-report__section-title { color: color-mix(in srgb, var(--insight-accent) 76%, #14123a); }
1014          .modern-report__section-count {
1015            display: inline-flex;
1016            align-items: center;
1017            justify-content: center;
1018            min-width: 32px;
1019            height: 32px;
1020            padding: 0 9px;
1021            border-radius: 999px;
1022            background: color-mix(in srgb, var(--insight-accent) 10%, #fff);
1023            border: 1px solid color-mix(in srgb, var(--insight-accent) 18%, #fff);
1024            color: var(--insight-accent);
1025            font-size: 0.78rem;
1026            font-weight: 900;
1027          }
1028          .modern-report__section--insights .modern-report__section-body { gap: 10px; padding: 14px 18px 18px; }
1029          .modern-report__section--insights .modern-report__insight-item {
1030            padding: 13px 15px;
1031            background: linear-gradient(90deg, color-mix(in srgb, var(--tone-accent-soft, #f7f4ff) 48%, #fff) 0%, #fff 72%);
1032            border: 1px solid color-mix(in srgb, var(--tone-accent, #8b8a85) 14%, #e8dece);
1033            border-left: 3px solid var(--tone-accent, var(--insight-accent));
1034            border-radius: 12px;
1035          }
1036          .modern-report__section--insights .modern-report__insight-item + .modern-report__insight-item { margin-top: 0; }
1037          .modern-report__insight-label-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
1038          .modern-report__insight-index { color: var(--tone-accent, var(--insight-accent)); font-size: 0.68rem; font-weight: 900; letter-spacing: 0.08em; }
1039          .modern-report__document-footer { width: 100%; max-width: 1320px; margin: 0 auto; padding: 6px 24px 32px; }
1040          .rpt-footer__inner {
1041            display: flex;
1042            align-items: flex-end;
1043            gap: 0;
1044            padding: 32px 0 20px;
1045            border-top: 1px solid rgba(120, 100, 200, 0.14);
1046          }
1047          .rpt-footer__copy { flex: 1 1 0; min-width: 0; padding-right: 32px; }
1048          .rpt-footer__brand-logo {
1049            display: block;
1050            width: auto;
1051            max-width: 156px;
1052            max-height: 52px;
1053            margin: 0 0 18px;
1054            object-fit: contain;
1055          }
1056          .rpt-footer__headline {
1057            margin: 0 0 12px;
1058            font-family: "Spectral Report", Spectral, Georgia, "Times New Roman", serif;
1059            font-size: clamp(1.32rem, 2.4vw, 1.8rem);
1060            font-weight: 400;
1061            font-synthesis: none;
1062            color: #1a1730;
1063            line-height: 1.2;
1064            letter-spacing: -0.01em;
1065            max-width: 760px;
1066          }
1067          .rpt-footer__tagline {
1068            margin: 0 0 24px;
1069            color: #7870a0;
1070            font-size: 0.9rem;
1071            line-height: 1.65;
1072            max-width: 720px;
1073          }
1074          .rpt-footer__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 0; }
1075          .rpt-footer__meta-item {
1076            display: flex;
1077            align-items: center;
1078            gap: 10px;
1079            padding: 6px 24px 6px 0;
1080          }
1081          .rpt-footer__meta-icon { color: #8b6fcc; flex: 0 0 auto; display: flex; align-items: center; }
1082          .rpt-footer__meta-label {
1083            display: block;
1084            font-size: 0.64rem;
1085            font-weight: 700;
1086            letter-spacing: 0.12em;
1087            color: #a090c0;
1088            text-transform: uppercase;
1089            margin-bottom: 2px;
1090          }
1091          .rpt-footer__meta-value {
1092            display: block;
1093            font-size: 0.88rem;
1094            font-weight: 600;
1095            color: #2a2040;
1096            text-decoration: none;
1097          }
1098          .rpt-footer__meta-sep {
1099            width: 1px;
1100            height: 32px;
1101            background: rgba(120, 100, 200, 0.18);
1102            margin-right: 24px;
1103            flex: 0 0 auto;
1104            align-self: center;
1105          }
1106          .rpt-footer__divider {
1107            width: 1px;
1108            align-self: stretch;
1109            background: rgba(120, 100, 200, 0.16);
1110            flex: 0 0 auto;
1111            min-height: 100px;
1112          }
1113          .rpt-footer__qr-zone {
1114            display: flex;
1115            align-items: center;
1116            gap: 12px;
1117            flex: 0 0 auto;
1118            padding-left: 32px;
1119          }
1120          .rpt-footer__scan-label {
1121            writing-mode: vertical-lr;
1122            transform: rotate(180deg);
1123            font-size: 0.6rem;
1124            font-weight: 800;
1125            letter-spacing: 0.22em;
1126            text-transform: uppercase;
1127            color: #8b6fcc;
1128            user-select: none;
1129          }
1130          .rpt-footer__qr-stack { display: flex; flex-direction: column; align-items: center; gap: 8px; }
1131          .rpt-footer__qr-img {
1132            display: block;
1133            width: 130px;
1134            height: 130px;
1135            border-radius: 10px;
1136            border: 1px solid rgba(120, 100, 200, 0.18);
1137            object-fit: contain;
1138            background: #fff;
1139            -webkit-print-color-adjust: exact;
1140            print-color-adjust: exact;
1141          }
1142          .rpt-footer__qr-url {
1143            font-size: 0.8rem;
1144            font-weight: 700;
1145            color: #8b4fdd;
1146            letter-spacing: 0.04em;
1147            text-align: center;
1148          }
1149          .modern-report__page-footer, .modern-report__page-number { display: none; }
1150          .modern-report__response.is-sage, .modern-report__response-icon-wrap.is-sage, .modern-report__chip.is-sage, .modern-report__confidence.is-success { --tone-accent: #648a63; --tone-accent-soft: #e8f1e6; --tone-soft: #f1f7ef; }
1151          .modern-report__response.is-amber, .modern-report__response-icon-wrap.is-amber, .modern-report__chip.is-amber, .modern-report__chip.is-warning, .modern-report__confidence.is-warning, .modern-report__chip.is-finding.is-disagreement, .modern-report__finding.is-disagreement { --tone-accent: #b37c42; --tone-accent-soft: #f6eadb; --tone-soft: #fcf5ec; }
1152          .modern-report__response.is-sky, .modern-report__response-icon-wrap.is-sky, .modern-report__chip.is-sky, .modern-report__chip.is-info, .modern-report__confidence.is-info { --tone-accent: #5f85a6; --tone-accent-soft: #e7eff6; --tone-soft: #f2f7fb; }
1153          .modern-report__response.is-plum, .modern-report__response-icon-wrap.is-plum, .modern-report__chip.is-plum, .modern-report__chip.is-secondary { --tone-accent: #8b6f98; --tone-accent-soft: #f0e8f3; --tone-soft: #f8f2fa; }
1154          .modern-report__response.is-teal, .modern-report__response-icon-wrap.is-teal, .modern-report__chip.is-teal { --tone-accent: #4d8c88; --tone-accent-soft: #e5f1ef; --tone-soft: #eff8f7; }
1155          .modern-report__response.is-rose, .modern-report__response-icon-wrap.is-rose, .modern-report__chip.is-rose, .modern-report__chip.is-danger, .modern-report__chip.is-finding.is-fabrication, .modern-report__finding.is-fabrication { --tone-accent: #aa6671; --tone-accent-soft: #f6e7ea; --tone-soft: #fbf1f2; }
1156          .modern-report__response.is-leaf, .modern-report__response-icon-wrap.is-leaf, .modern-report__chip.is-leaf { --tone-accent: #7f8f51; --tone-accent-soft: #eef1df; --tone-soft: #f7f8ed; }
1157          .modern-report__response.is-sand, .modern-report__response-icon-wrap.is-sand, .modern-report__chip.is-sand { --tone-accent: #99765c; --tone-accent-soft: #f2e7df; --tone-soft: #faf4f0; }
1158          .modern-report__response.is-slate, .modern-report__response-icon-wrap.is-slate, .modern-report__chip.is-slate, .modern-report__chip.is-neutral, .modern-report__chip.is-finding.is-
1158hallucination, .modern-report__finding.is-hallucination { --tone-accent: #6b777c; --tone-accent-soft: #e8edef; --tone-soft: #f4f7f8; }
1159          .modern-report__chip.is-success, .modern-report__chip.is-warning, .modern-report__chip.is-info, .modern-report__chip.is-secondary, .modern-report__chip.is-danger, .modern-report__chip.is-neutral, .modern-report__chip.is-sage, .modern-report__chip.is-amber, .modern-report__chip.is-sky, .modern-report__chip.is-plum, .modern-report__chip.is-teal, .modern-report__chip.is-rose, .modern-report__chip.is-leaf, .modern-report__chip.is-sand, .modern-report__chip.is-slate, .modern-report__chip.is-disagreement, .modern-report__chip.is-hallucination, .modern-report__chip.is-fabrication { background: var(--tone-accent-soft, var(--modern-report-chip-bg)); border-color: color-mix(in srgb, var(--tone-accent, #8b8a85) 28%, #fff); color: color-mix(in srgb, var(--tone-accent, #5b5a55) 90%, #1d1d1b); }
1160
1161          /* Editorial, print-first surface reduction */
1162          .modern-report { --modern-report-page-bg: #fff; background: #fff; }
1163          .print-report-intro {
1164            padding: 22px 0 26px;
1165            border: 0;
1166            border-bottom: 1px solid #ded8e8;
1167            border-radius: 0;
1168            background: transparent;
1169            box-shadow: none;
1170          }
1171          .print-report-intro__icon,
1172          .print-report-intro__meta-icon,
1173          .print-report-advisory__icon {
1174            width: 30px;
1175            height: 30px;
1176            border: 0;
1177            border-radius: 0;
1178            background: transparent;
1179          }
1180          .print-report-intro__sep { margin-top: 18px; }
1181          .print-report-intro__meta-item { padding: 12px 18px 6px 0; }
1182          .print-report-advisory {
1183            margin-bottom: 28px;
1184            padding: 14px 0;
1185            border: 0;
1186            border-bottom: 1px solid #e6ded1;
1187            border-radius: 0;
1188            background: transparent;
1189          }
1190          .print-report-advisory__label-area { min-width: 72px; padding-right: 16px; }
1191          .print-report-advisory__divider { margin-right: 18px; }
1192
1193          .conversation-report__prompt-card {
1194            grid-template-columns: 42px minmax(0, 1fr);
1195            gap: 14px;
1196            margin-bottom: 22px;
1197            padding: 20px 0 22px;
1198            border: 0;
1199            border-top: 1px solid #d9d3e7;
1200            border-bottom: 1px solid #d9d3e7;
1201            border-radius: 0;
1202            background: transparent;
1203            box-shadow: none;
1204          }
1205          .conversation-report__prompt-icon {
1206            width: 34px;
1207            height: 34px;
1208            border: 0;
1209            border-radius: 0;
1210            background: transparent;
1211          }
1212          .conversation-report__prompt-label { margin-bottom: 8px; }
1213          .conversation-report__prompt-wash { display: none; }
1214          .conversation-report__answer-card {
1215            padding: 22px 0 24px;
1216            border: 0;
1217            border-bottom: 1px solid #ded8d0;
1218            border-radius: 0;
1219            background: transparent;
1220            box-shadow: none;
1221          }
1222          .conversation-report__answer-icon {
1223            width: 30px;
1224            height: 30px;
1225            border: 0;
1226            border-radius: 0;
1227            background: transparent;
1228          }
1229          .conversation-report__answer-body {
1230            font-family: "Spectral Report", Spectral, Georgia, "Times New Roman", serif;
1231            font-size: 1.08rem;
1232            line-height: 1.7;
1233          }
1234          .conversation-report__metrics {
1235            gap: 0;
1236            margin-top: 20px;
1237            border-top: 1px solid #e4ded7;
1238            border-bottom: 1px solid #e4ded7;
1239          }
1240          .conversation-report__metric {
1241            min-height: 52px;
1242            padding: 11px 14px;
1243            border: 0;
1244            border-right: 1px solid #e4ded7;
1245            border-radius: 0;
1246            background: transparent;
1247            box-shadow: none;
1248          }
1249          .conversation-report__metric:last-child { border-right: 0; }
1250          .conversation-report__metric-icon {
1251            width: 28px;
1252            height: 28px;
1253            border: 0;
1254            border-radius: 0;
1255            background: transparent;
1256          }
1257
1258          .modern-report__section,
1259          .quality-snapshot {
1260            margin-top: 32px;
1261            padding: 18px 0 0;
1262            border: 0;
1263            border-top: 1.5px solid #cec7bd;
1264            border-radius: 0;
1265            background: transparent;
1266            box-shadow: none;
1267          }
1268          .modern-report__section-header,
1269          .quality-snapshot .modern-report__section-header {
1270            margin-bottom: 15px;
1271            padding: 0 0 11px;
1272            border-bottom: 1px solid #e5dfd7;
1273          }
1274          .modern-report__section-icon,
1275          .quality-snapshot .modern-report__section-icon {
1276            width: 28px;
1277            height: 28px;
1278            border: 0;
1279            border-radius: 0;
1280            background: transparent;
1281            box-shadow: none;
1282          }
1283          .modern-report__section-title,
1284          .modern-report__subsection-title {
1285            font-size: 0.9rem;
1286            letter-spacing: 0.14em;
1287          }
1288
1289          .quality-snapshot { padding: 18px 0 0; }
1290          .quality-snapshot__index-summary { min-width: 220px; }
1291          .quality-snapshot__status-chip {
1292            min-width: 0;
1293            min-height: 0;
1294            padding: 0 0 0 10px;
1295            border-left: 1px solid #d8d2ca;
1296            border-radius: 0;
1297            background: transparent;
1298          }
1299          .quality-snapshot__overall {
1300            padding: 16px 0;
1301            border: 0;
1302            border-top: 1px solid #e4ded7;
1303            border-bottom: 1px solid #e4ded7;
1304            border-radius: 0;
1305            background: transparent;
1306          }
1307          .quality-snapshot__metrics-grid { gap: 0 28px; margin-top: 8px; }
1308          .quality-snapshot__metric-card {
1309            min-height: 88px;
1310            padding: 15px 0;
1311            border: 0;
1312            border-bottom: 1px solid #e7e1d9;
1313            border-radius: 0;
1314            background: transparent;
1315          }
1316          .quality-snapshot__metric-icon {
1317            width: 40px;
1318            height: 40px;
1319            border: 0;
1320            border-radius: 0;
1321            background: transparent;
1322            box-shadow: none;
1323          }
1324          .quality-snapshot__note {
1325            margin-top: 16px;
1326            padding: 12px 0;
1327            border-top: 1px solid #e5dfd7;
1328            border-radius: 0;
1329            background: transparent;
1330          }
1331
1332          .modern-report__finding-group {
1333            margin-top: 24px;
1334            border: 0;
1335            border-radius: 0;
1336            background: transparent;
1337            box-shadow: none;
1338            overflow: visible;
1339          }
1340          .modern-report__finding-group-header {
1341            padding: 12px 0;
1342            border-top: 2px solid var(--finding-group-accent);
1343            border-bottom: 1px solid #ddd6cd;
1344            background: transparent;
1345          }
1346          .modern-report__finding-group-icon {
1347            width: 28px;
1348            height: 28px;
1349            border: 0;
1350            border-radius: 0;
1351            background: transparent;
1352          }
1353          .modern-report__finding-group-count {
1354            min-width: 0;
1355            height: auto;
1356            padding: 0;
1357            border: 0;
1358            border-radius: 0;
1359            background: transparent;
1360            font-family: "Spectral Report", Spectral, Georgia, serif;
1361            font-size: 1.2rem;
1362          }
1363          .modern-report__finding-group-items { padding: 0; }
1364          .modern-report__finding {
1365            padding: 16px 0;
1366            border: 0;
1367            border-bottom: 1px solid #e7e1d9;
1368            border-radius: 0;
1369            background: transparent;
1370            box-shadow: none;
1371          }
1372          .modern-report__finding + .modern-report__finding { border-top: 0; }
1373          .modern-report__finding-index {
1374            width: 28px;
1375            height: auto;
1376            border: 0;
1377            border-radius: 0;
1378            background: transparent;
1379          }
1380          .modern-report__finding-meta { margin-left: 40px; gap: 6px 0; }
1381          .modern-report__finding-meta-item {
1382            padding: 0 10px;
1383            border: 0;
1384            border-right: 1px solid #ddd6cd;
1385            border-radius: 0;
1386            background: transparent;
1387          }
1388          .modern-report__finding-meta-item:first-child { padding-left: 0; }
1389          .modern-report__finding-meta-item:last-child { border-right: 0; }
1390          .modern-report__finding-details { margin: 14px 0 0 40px; gap: 13px; }
1391          .modern-report__finding-detail {
1392            padding: 0;
1393            border: 0;
1394            border-radius: 0;
1395            background: transparent;
1396          }
1397          .modern-report__finding-comparison .modern-report__finding-detail + .modern-report__finding-detail {
1398            padding-left: 16px;
1399            border-left: 1px solid #ddd6cd;
1400          }
1401          .modern-report__finding-executive-note {
1402            display: flex;
1403            align-items: baseline;
1404            justify-content: space-between;
1405            gap: 18px;
1406            margin: 0 0 18px;
1407            padding: 0 0 12px;
1408            border-bottom: 1px solid #ddd6cd;
1409            color: #716a62;
1410            font-size: 0.8rem;
1411          }
1412          .modern-report__finding-executive-note p { margin: 0; color: #37322d; font-size: 0.92rem; }
1413          .modern-report__finding-digest {
1414            margin-top: 26px;
1415            padding: 16px 0 4px;
1416            border-top: 2px solid #6c63c8;
1417            border-bottom: 1px solid #ddd6cd;
1418          }
1419          .modern-report__finding-digest-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
1420          .modern-report__finding-digest-heading h4 {
1421            margin: 0;
1422            color: #25213f;
1423            font-size: 0.95rem;
1424            letter-spacing: 0.08em;
1425            text-transform: uppercase;
1426          }
1427          .modern-report__finding-digest-heading span { color: #756e80; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; }
1428          .modern-report__finding-digest ul { display: grid; gap: 0; margin: 10px 0 0; padding: 0; list-style: none; }
1429          .modern-report__finding-digest li {
1430            display: grid;
1431            grid-template-columns: 38px minmax(0, 1fr);
1432            gap: 10px;
1433            padding: 9px 0;
1434            border-top: 1px solid #ebe5de;
1435            color: #514b45;
1436            line-height: 1.45;
1437          }
1438          .modern-report__finding-digest li strong { color: #5c4fc2; font-family: "Spectral Report", Spectral, Georgia, serif; font-size: 1.05rem; }
1439
1440          .modern-report__section--insights {
1441            padding: 0;
1442            border: 0;
1443            border-radius: 0;
1444            background: transparent;
1445            box-shadow: none;
1446            overflow: visible;
1447          }
1448          .modern-report__section--insights .modern-report__section-header {
1449            margin: 0;
1450            padding: 11px 0;
1451            border-top: 2px solid var(--insight-accent);
1452            border-right: 0;
1453            border-bottom: 1px solid #ddd6cd;
1454            border-left: 0;
1455            background: transparent;
1456          }
1457          .modern-report__section--insights .modern-report__section-icon { background: transparent; }
1458          .modern-report__section-count {
1459            min-width: 0;
1460            height: auto;
1461            padding: 0;
1462            border: 0;
1463            border-radius: 0;
1464            background: transparent;
1465            font-family: "Spectral Report", Spectral, Georgia, serif;
1466            font-size: 1rem;
1467          }
1468          .modern-report__section--insights .modern-report__section-body { gap: 0; padding: 0; }
1469          .modern-report__section--insights .modern-report__insight-item {
1470            padding: 15px 0;
1471            border: 0;
1472            border-bottom: 1px solid #e7e1d9;
1473            border-radius: 0;
1474            background: transparent;
1475          }
1476          .modern-report__insight-text {
1477            font-family: "Spectral Report", Spectral, Georgia, "Times New Roman", serif;
1478            font-size: 1.04rem;
1479            line-height: 1.58;
1480          }
1481
1482          .modern-report__section--appendix {
1483            margin-top: 44px;
1484            padding-top: 24px;
1485            border-top: 3px double #302b55;
1486          }
1487          .modern-report__appendix-kicker {
1488            margin: 0 0 4px;
1489            color: #7568b9;
1490            font-size: 0.7rem;
1491            font-weight: 800;
1492            letter-spacing: 0.14em;
1493            text-transform: uppercase;
1494          }
1495          .modern-report__response {
1496            padding: 18px 0;
1497            border: 0;
1498            border-bottom: 1px solid #ddd6cd;
1499            border-radius: 0;
1500            background: transparent;
1501            box-shadow: none;
1502          }
1503          .modern-report__response + .modern-report__response { border-top: 0; }
1504          .modern-report__response-icon-wrap {
1505            width: 30px;
1506            height: 30px;
1507            border: 0;
1508            border-radius: 0;
1509            background: transparent;
1510          }
1511          .modern-report__response-technical-meta { margin-left: 42px; }
1512          .modern-report__response-body p,
1513          .modern-report__response-body ul,
1514          .modern-report__response-body ol,
1515          .modern-report__response-body blockquote {
1516            font-family: "Spectral Report", Spectral, Georgia, "Times New Roman", serif;
1517            font-size: 1.01rem;
1518          }
1519          .modern-report__response-body code {
1520            padding: 0;
1521            border-bottom: 1px solid #d8d1c8;
1522            border-radius: 0;
1523            background: transparent;
1524          }
1525          .modern-report__response-body pre {
1526            padding: 10px 0;
1527            border-top: 1px solid #ddd6cd;
1528            border-bottom: 1px solid #ddd6cd;
1529            background: transparent;
1530          }
1531          .modern-report__response-body th { background: transparent; }
1532
1533          .modern-report__chips { gap: 4px 0; }
1534          .modern-report__chip,
1535          .modern-report__chip.is-success,
1536          .modern-report__chip.is-warning,
1537          .modern-report__chip.is-info,
1538          .modern-report__chip.is-secondary,
1539          .modern-report__chip.is-danger,
1540          .modern-report__chip.is-neutral,
1541          .modern-report__chip.is-sage,
1542          .modern-report__chip.is-amber,
1543          .modern-report__chip.is-sky,
1544          .modern-report__chip.is-plum,
1545          .modern-report__chip.is-teal,
1546          .modern-report__chip.is-rose,
1547          .modern-report__chip.is-leaf,
1548          .modern-report__chip.is-sand,
1549          .modern-report__chip.is-slate {
1550            min-height: 0;
1551            padding: 0;
1552            border: 0;
1553            border-radius: 0;
1554            background: transparent;
1555            color: var(--tone-accent, #6f6876);
1556          }
1557          .modern-report__chip + .modern-report__chip::before {
1558            content: "·";
1559            margin: 0 7px;
1560            color: #aaa1ad;
1561          }
1562
1563          /* Editorial hierarchy: larger serif headings, fewer rules, stronger reading anchors. */
1564          .print-report-intro {
1565            padding: 18px 0 20px;
1566            border: 0;
1567          }
1568          .print-report-intro__masthead {
1569            display: grid;
1570            grid-template-columns: 132px minmax(0, 1fr) minmax(210px, 0.42fr);
1571            gap: 28px;
1572            align-items: center;
1573          }
1574          .print-report-intro__brand {
1575            align-self: stretch;
1576            display: flex;
1577            flex-direction: column;
1578            justify-content: space-between;
1579            gap: 16px;
1580          }
1581          .modern-report__corner-logo { width: 108px; }
1582          .print-report-intro__header { gap: 8px; margin: 0; }
1583          .print-report-intro__icon { width: 24px; height: 24px; }
1584          .print-report-intro__copy { min-width: 0; }
1585          .print-report-intro__title {
1586            max-width: none;
1587            margin: 0;
1588            color: #211b47;
1589            font-family: "Spectral Report", Spectral, Georgia, "Times New Roman", serif;
1590            font-size: clamp(2rem, 3vw, 
15902.75rem);
1591            font-weight: 400;
1592            font-synthesis: none;
1593            line-height: 1.08;
1594            letter-spacing: -0.025em;
1595          }
1596          .print-report-intro__description {
1597            max-width: none;
1598            margin: 8px 0 0;
1599            font-size: 0.88rem;
1600            line-height: 1.45;
1601          }
1602          .print-report-intro__description--secondary { margin-top: 3px; font-size: 0.8rem; }
1603          .print-report-intro__sep { display: none; }
1604          .print-report-intro__meta {
1605            display: flex;
1606            flex-direction: column;
1607            align-items: stretch;
1608            gap: 8px;
1609            margin: 0;
1610            padding-left: 22px;
1611            border-left: 2px solid #7568b9;
1612          }
1613          .print-report-intro__meta-item { flex: none; padding: 3px 0; }
1614          .print-report-intro__meta-sep { display: none; }
1615          .print-report-intro__meta-icon { width: 26px; height: 26px; }
1616          .print-report-intro__meta-value { font-weight: 600; }
1617          .print-report-advisory { margin-bottom: 20px; }
1618
1619          .modern-report__turn-header {
1620            margin-bottom: 8px;
1621            padding-bottom: 0;
1622            border-bottom: 0;
1623          }
1624          .conversation-report__prompt-card {
1625            display: block;
1626            margin: 0 0 24px;
1627            padding: 12px 0 20px;
1628            border: 0;
1629            background: transparent;
1630            box-shadow: none;
1631          }
1632          .conversation-report__prompt-content { position: relative; }
1633          .conversation-report__prompt-label { margin: 0 0 4px 58px; }
1634          .conversation-report__prompt-text {
1635            position: relative;
1636            max-width: none;
1637            margin: 0;
1638            padding: 8px 58px 4px;
1639            font-size: 1.3rem;
1640            font-weight: 400;
1641            line-height: 1.55;
1642          }
1643          .conversation-report__prompt-text::before,
1644          .conversation-report__prompt-text::after {
1645            position: absolute;
1646            color: #7257cf;
1647            font-family: "Spectral Report", Spectral, Georgia, serif;
1648            font-size: 5.2rem;
1649            font-weight: 400;
1650            line-height: 1;
1651            opacity: 0.82;
1652            pointer-events: none;
1653          }
1654          .conversation-report__prompt-text::before { content: "“"; top: -10px; left: 0; }
1655          .conversation-report__prompt-text::after { content: "”"; right: 0; bottom: -28px; }
1656          .conversation-report__prompt-text p + p { margin-top: 0.65em; }
1657          .conversation-report__prompt-date { margin: 10px 0 0 58px; }
1658
1659          .conversation-report__answer-card {
1660            padding: 14px 0 20px;
1661            border: 0;
1662            background: transparent;
1663            box-shadow: none;
1664          }
1665          .conversation-report__answer-icon { width: 30px; height: 30px; border: 0; background: transparent; }
1666          .conversation-report__answer-title {
1667            color: #2a244c;
1668            font-family: "Spectral Report", Spectral, Georgia, "Times New Roman", serif;
1669            font-size: 1.9rem;
1670            font-weight: 400;
1671            font-synthesis: none;
1672            letter-spacing: -0.015em;
1673            text-transform: none;
1674          }
1675          .conversation-report__answer-subtitle { font-size: 0.94rem; }
1676          .conversation-report__answer-sep { display: none; }
1677          .conversation-report__answer-body { margin-top: 13px; font-size: 1.08rem; }
1678          .conversation-report__metrics { border-top: 0; border-bottom: 0; }
1679
1680          .modern-report__section { --section-accent: #5143a5; }
1681          .quality-snapshot { --section-accent: #7b5f3b; }
1682          .modern-report__section--findings { --section-accent: #5949ad; }
1683          .modern-report__section--panel { --section-accent: #426c82; }
1684          .modern-report__section--insights { --section-accent: var(--insight-accent); }
1685          .modern-report__section--responses { --section-accent: #7568b9; }
1686          .modern-report__section--synthesis { --section-accent: #8b6b3b; }
1687          .modern-report__section,
1688          .quality-snapshot {
1689            margin-top: 38px;
1690            padding: 0;
1691            border: 0;
1692          }
1693          .modern-report__section-header,
1694          .quality-snapshot .modern-report__section-header {
1695            margin-bottom: 16px;
1696            padding: 0;
1697            border: 0;
1698          }
1699          .modern-report__section-heading { align-items: flex-start; gap: 14px; }
1700          .modern-report__section-icon,
1701          .quality-snapshot .modern-report__section-icon {
1702            width: 34px;
1703            height: 34px;
1704            color: var(--section-accent);
1705          }
1706          .modern-report__section-title,
1707          .modern-report__subsection-title,
1708          .quality-snapshot .modern-report__section-title {
1709            margin: 0;
1710            color: var(--section-accent);
1711            font-family: "Spectral Report", Spectral, Georgia, "Times New Roman", serif;
1712            font-size: 2rem;
1713            font-weight: 400;
1714            font-synthesis: none;
1715            line-height: 1.1;
1716            letter-spacing: -0.018em;
1717            text-transform: none;
1718          }
1719          .modern-report__section-subtitle,
1720          .quality-snapshot .modern-report__section-subtitle {
1721            margin-top: 5px;
1722            font-size: 0.98rem;
1723            line-height: 1.4;
1724          }
1725          .modern-report__section > .modern-report__section-body,
1726          .modern-report__section > .modern-report__section-children {
1727            margin-left: 14px;
1728            padding-left: 26px;
1729            border-left: 1px dashed color-mix(in srgb, var(--section-accent) 58%, transparent);
1730          }
1731
1732          .modern-report__panel-intro {
1733            display: flex;
1734            align-items: flex-start;
1735            justify-content: space-between;
1736            gap: 24px;
1737            padding: 0 0 16px;
1738          }
1739          .modern-report__panel-name {
1740            margin: 0;
1741            color: #263b47;
1742            font-family: "Spectral Report", Spectral, Georgia, serif;
1743            font-size: 1.55rem;
1744            font-weight: 400;
1745            line-height: 1.15;
1746          }
1747          .modern-report__panel-description {
1748            max-width: 780px;
1749            margin: 5px 0 0;
1750            color: #53646d;
1751            font-size: 0.92rem;
1752            line-height: 1.48;
1753          }
1754          .modern-report__panel-composition {
1755            flex: 0 0 auto;
1756            margin: 4px 0 0;
1757            color: var(--section-accent);
1758            font-size: 0.78rem;
1759            font-weight: 600;
1760          }
1761          .modern-report__panel-models {
1762            display: grid;
1763            grid-template-columns: repeat(2, minmax(0, 1fr));
1764            gap: 4px 30px;
1765          }
1766          .modern-report__panel-model {
1767            display: grid;
1768            grid-template-columns: 48px minmax(0, 1fr);
1769            gap: 13px;
1770            align-items: start;
1771            padding: 12px 0;
1772          }
1773          .modern-report__panel-model-logo {
1774            width: 44px;
1775            height: 32px;
1776            display: flex;
1777            align-items: center;
1778            justify-content: flex-start;
1779            color: var(--section-accent);
1780          }
1781          .modern-report__panel-model-logo img { display: block; max-width: 42px; max-height: 28px; object-fit: contain; }
1782          .modern-report__panel-model-logo span { font-family: "Spectral Report", Spectral, Georgia, serif; font-size: 1.1rem; }
1783          .modern-report__panel-model-copy { min-width: 0; }
1784          .modern-report__panel-model-provider {
1785            margin: 0 0 2px;
1786            color: var(--section-accent);
1787            font-size: 0.66rem;
1788            font-weight: 600;
1789            letter-spacing: 0.08em;
1790            text-transform: uppercase;
1791          }
1792          .modern-report__panel-model-name {
1793            margin: 0;
1794            color: #26343c;
1795            font-family: "Spectral Report", Spectral, Georgia, serif;
1796            font-size: 1.18rem;
1797            font-weight: 400;
1798            line-height: 1.2;
1799          }
1800          .modern-report__panel-model-description {
1801            margin: 4px 0 0;
1802            color: #66747a;
1803            font-size: 0.8rem;
1804            line-height: 1.4;
1805          }
1806
1807          .quality-snapshot__index-summary { min-width: 190px; }
1808          .quality-snapshot__index-label {
1809            font-family: "Spectral Report", Spectral, Georgia, serif;
1810            font-size: 1.05rem;
1811            font-weight: 400;
1812            letter-spacing: 0;
1813            text-transform: none;
1814          }
1815          .quality-snapshot__index-score {
1816            font-family: "Spectral Report", Spectral, Georgia, serif;
1817            font-size: 2.65rem;
1818            font-weight: 400;
1819          }
1820          .quality-snapshot__overall { padding: 2px 0 16px; border: 0; }
1821          .quality-snapshot__overall-label {
1822            font-family: "Spectral Report", Spectral, Georgia, serif;
1823            font-size: 1.32rem;
1824            font-weight: 400;
1825            letter-spacing: 0;
1826            text-transform: none;
1827          }
1828          .quality-snapshot__overall-line {
1829            margin-top: 4px;
1830            font-size: 0.98rem;
1831            font-weight: 400;
1832            letter-spacing: 0;
1833            text-transform: none;
1834          }
1835          .quality-snapshot__metrics-grid { gap: 0 32px; margin-top: 2px; }
1836          .quality-snapshot__metric-card { min-height: 86px; padding: 14px 0; border: 0; }
1837          .quality-snapshot__metric-title {
1838            font-family: "Spectral Report", Spectral, Georgia, serif;
1839            font-size: 1.16rem;
1840            font-weight: 400;
1841            letter-spacing: 0;
1842            text-transform: none;
1843          }
1844          .quality-snapshot__metric-description { margin-top: 4px; font-size: 0.84rem; }
1845          .quality-snapshot__metric-value {
1846            font-family: "Spectral Report", Spectral, Georgia, serif;
1847            font-size: 1.85rem;
1848            font-weight: 400;
1849          }
1850          .quality-snapshot__note { border-top: 0; }
1851
1852          .modern-report__finding-group { margin-top: 28px; }
1853          .modern-report__finding-group-header { padding: 8px 0 6px; border: 0; }
1854          .modern-report__finding-group-label {
1855            font-family: "Spectral Report", Spectral, Georgia, "Times New Roman", serif;
1856            font-size: 1.52rem;
1857            font-weight: 400;
1858            font-synthesis: none;
1859            line-height: 1.15;
1860            letter-spacing: -0.01em;
1861            text-transform: none;
1862          }
1863          .modern-report__finding-group-subtitle { margin-top: 3px; font-size: 0.96rem; }
1864          .modern-report__finding-group-count { font-size: 1.32rem; font-weight: 400; }
1865          .modern-report__finding { padding: 13px 0; border: 0; }
1866          .modern-report__finding + .modern-report__finding { margin-top: 4px; }
1867          .modern-report__finding-text {
1868            font-family: "Spectral Report", Spectral, Georgia, "Times New Roman", serif;
1869            font-size: 1.1rem;
1870            font-weight: 400;
1871            line-height: 1.48;
1872          }
1873          .modern-report__finding-executive-note { border-bottom: 0; }
1874          .modern-report__finding-digest { border-top-width: 1px; border-bottom: 0; }
1875
1876          .modern-report__section--insights .modern-report__section-header { padding: 0; border: 0; }
1877          .modern-report__section--insights .modern-report__section-body { padding-left: 26px; }
1878          .modern-report__section--insights .modern-report__insight-item { padding: 13px 0; border: 0; }
1879          .modern-report__insight-text { font-size: 1.1rem; }
1880
1881          .modern-report__response { border: 0; }
1882          .modern-report__response + .modern-report__response { border-top: 1px solid #e3ddd5; }
1883          .modern-report__response-icon-wrap {
1884            width: 48px;
1885            height: 34px;
1886            justify-content: flex-start;
1887          }
1888          .modern-report__response-provider-logo {
1889            display: block;
1890            width: auto;
1891            max-width: 44px;
1892            height: auto;
1893            max-height: 30px;
1894            object-fit: contain;
1895          }
1896          .modern-report__response-title {
1897            font-family: "Spectral Report", Spectral, Georgia, "Times New Roman", serif;
1898            font-size: 1.4rem;
1899            font-weight: 400;
1900            font-synthesis: none;
1901            line-height: 1.2;
1902          }
1903          .modern-report__response-body h1,
1904          .modern-report__response-body h2,
1905          .modern-report__response-body h3,
1906          .modern-report__response-body h4,
1907          .modern-report__response-body h5,
1908          .modern-report__response-body h6 { font-family: "Spectral Report", Spectral, Georgia, serif; font-weight: 400; }
1909
1910          .modern-report.is-compact-report .modern-report__section,
1911          .modern-report.is-compact-report .quality-snapshot { margin-top: 28px; }
1912          .modern-report.is-compact-report .modern-report__section-header { margin-bottom: 11px; }
1913          .modern-report.is-compact-report .conversation-report__prompt-card { margin-bottom: 16px; padding-bottom: 14px; }
1914          .modern-report.is-compact-report .conversation-report__answer-card { padding-top: 10px; padding-bottom: 14px; }
1915          .modern-report.is-compact-report .quality-snapshot__metric-card { min-height: 72px; padding: 10px 0; }
1916          .modern-report.is-compact-report .modern-report__finding-group { margin-top: 20px; }
1917          .modern-report.is-compact-report .modern-report__finding,
1918          .modern-report.is-compact-report .modern-report__section--insights .modern-report__insight-item { padding: 9px 0; }
1919          .modern-report.is-compact-report .modern-report__response { padding: 13px 0; }
1920          .modern-report.is-compact-report .modern-report__panel-model { padding: 8px 0; }
1921          .page-break-avoid { break-inside: avoid; page-break-inside: avoid; }
1922          @media (width <=1200px) {
1923            .report-customizer { grid-template-columns: 1fr; }
1924            .report-customizer__controls { grid-template-columns: repeat(3, minmax(190px, 1fr)); }
1925            .report-customizer__reset { justify-self: start; }
1926          }
1927          @media (width <=760px) {
1928            .modern-report__content, .modern-report__document-footer { padding: 18px 16px; }
1929            .print-report-intro__masthead { grid-template-columns: 1fr; gap: 18px; }
1930            .print-report-intro__brand { flex-direction: row; align-items: center; }
1931            .modern-report__corner-logo { width: 92px; }
1932            .print-report-intro__meta { padding: 12px 0 0; border-top: 2px solid #7568b9; border-left: 0; }
1933            .modern-report__chat-facts, .modern-report__response .modern-report__chat-facts { grid-template-columns: 1fr; }
1934            .modern-report__prompt { grid-template-columns: 1fr; }
1935            .modern-report__prompt-avatar-wrap, .modern-report__chips--compact { justify-content: flex-start; }
1936            .modern-report__corner-banner, .modern-report__response-header, .modern-report__turn-header { flex-direction: column; align-items: flex-start; }
1937            .modern-report__section { padding: 14px 0 0; border-radius: 0; }
1938            .modern-report__section-header { align-items: flex-start; }
1939            .modern-report__section-icon { width: 34px; height: 34px; }
1940            .modern-report__response, .modern-report__finding, .modern-report__insight-item { padding-left: 0; }
1941            .modern-report__finding-group-header { align-items: flex-start; }
1942            .modern-report__finding-group-header, .modern-report__finding-group-items { padding-left: 0; padding-right: 0; }
1943            .conversation-report__answer-card { padding: 16px 0; }
1944            .conversation-report__metrics { grid-template-columns: 1fr; }
1945            .conversation-report__metric { border-right: 0; border-bottom: 1px solid #e4ded7; }
1946            .conversation-report__metric:last-child { border-bottom: 0; }
1947            .modern-report__toolbar { margin: 0 8px 12px; top: 6px; }
1948            .modern-report__toolbar-inner { gap: 12px; padding: 12px 14px; flex-wrap: wrap; }
1949            .modern-report__toolbar-identity { flex: 1 1 100%; }
1950            .modern-report__toolbar-actions { flex: 1 1 100%; justify-content: flex-end; flex-wrap: wrap; }
1951            .report-customizer { grid-template-columns: 1fr; padding: 14px; }
1952            .report-customizer__controls { grid-template-columns: 1fr; }
1953            .report-customizer__group-options { grid-template-columns: 1fr; }
1954            .report-customizer__reset { justify-self: start; }
1955            .report-security-notice { left: 8px; right: 8px; bottom: 8px; width: auto; }
1956            .modern-report__finding-executive-note { align-items: flex-start; flex-direction: column; gap: 5px; }
1957            .modern-report__finding-digest-heading { align-items: flex-start; flex-direction: column; gap: 4px; }
1958            .modern-report__section--insights { padding: 0; }
1959            .modern-report__section > .modern-report__section-body,
1960            .modern-report__section > .modern-report__section-children,
1961            .modern-report__section--insights .modern-report__section-body { margin-left: 8px; padding-left: 16px; }
1962            .modern-report__finding-comparison { grid-template-columns: 1fr; }
1963            .modern-report__finding-meta, .modern-report__response-technical-meta { margin-left: 0; }
1964            .print-report-intro { padding: 18px 0; }
1965            .print-report-intro__meta { flex-direction: column; }
1966            .print-report-intro__meta-item { flex: none; padding: 12px 0; border-bottom: 1px solid rgba(110, 90, 200, 0.08); }
1967            .print-report-intro__meta-item:last-child { border-bottom: none; }
1968            .print-report-intro__meta-sep { display: none; }
1969            .print-report-advisory { flex-direction: column; }
1970            .print-report-advisory__label-area { flex-direction: row; min-width: auto; padding-right: 0; padding-bottom: 12px; }
1971            .print-report-advisory__divider { display: none; }
1972            .quality-snapshot__overall { flex-direction: column; align-items: stretch; }
1973            .quality-snapshot__metrics-grid { grid-template-columns: 1fr; }
1974            .quality-snapshot__metric-card { grid-template-columns: 48px minmax(0, 1fr); }
1975            .quality-snapshot__metric-score { grid-column: 2; text-align: left; }
1976            .modern-report__panel-intro { flex-direction: column; gap: 8px; }
1977            .modern-report__panel-models { grid-template-columns: 1fr; }
1978            .rpt-footer__inner { flex-direction: column; align-items: flex-start; padding-bottom: 24px; }
1979            .rpt-footer__divider { display: none; }
1980            .rpt-footer__copy { padding-right: 0; }
1981            .rpt-footer__qr-zone { padding-left: 0; padding-top: 24px; }
1982            .rpt-footer__meta { gap: 4px 0; }
1983          }
1984
1985          @media print {
1986            @page { size: a4 portrait; margin: 14mm 10mm; }
1987            @page :first { margin-top: 0; }
1988            body { padding: 0; background: #fff; }
1989            .modern-report__toolbar, .report-security-notice { display: none !important; }
1990            .modern-report { min-height: auto; font-size: 10pt; zoom: 0.7; }
1991            .modern-report__content { max-width: none; padding: 4mm 8mm; }
1992            .print-report-intro { box-shadow: none; padding: 14px 0 16px; background: transparent; break-inside: avoid; page-break-inside: avoid; }
1993            .print-report-intro__title { font-size: 18pt; }
1994            .print-report-intro__description { font-size: 9pt; }
1995            .print-report-advisory { box-shadow: none; padding: 10px 0; margin-bottom: 8mm; background: transparent; break-inside: avoid; page-break-inside: avoid; }
1996            .print-report-advisory__text { font-size: 8.6pt; line-height: 1.5; }
1997            .modern-report__timeline { gap: 0; }
1998            .modern-report__turn + .modern-report__turn { break-before: page; border-top: 0; padding-top: 0; }
1999            .modern-report__turn-header { border-top: 2.5pt solid var(--modern-report-heading); border-bottom: 1pt solid var(--modern-report-divider); padding: 5mm 0 3mm; margin-bottom: 6mm; font-size: 9pt; break-after: avoid; }
2000            .modern-report__prompt { break-after: avoid; padding: 4.5mm 5mm; border-radius: 14px; box-shadow: none; }
2001            .conversation-report__prompt-card {
2002              padding: 4.5mm 0;
2003              border: 0;
2004              border-top: 0.75pt solid #d9d3e7;
2005              border-bottom: 0.75pt solid #d9d3e7;
2006              border-radius: 0;
2007              background: transparent;
2008            }
2009            .conversation-report__prompt-text { font-size: 11.5pt; line-height: 1.56; }
2010            .conversation-report__answer-card, .modern-report__section, .quality-snapshot { box-shadow: none; background: transparent; }
2011            .conversation-report__answer-card { padding: 5mm 0; border-radius: 0; }
2012            .conversation-report__metrics { grid-template-columns: minmax(58mm, 2.2fr) repeat(3, minmax(18mm, 0.62fr)); }
2013            .conversation-report__metric { min-width: 0; }
2014            .conversation-report__metric:nth-child(-n + 2) { border-bottom: 0; }
2015            .modern-report__section { margin-top: 7mm; padding: 5mm 0 0; border-radius: 0; break-inside: auto; page-break-inside: auto; }
2016            .modern-report__section-header { border-bottom: 0.5pt solid var(--modern-report-divider); padding-bottom: 3mm; margin-bottom: 5mm; break-after: avoid; }
2017            .modern-report__response { break-inside: auto; page-break-inside: auto; }
2018            .quality-snapshot {
2019              display: inline-block;
2020              width: 100%;
2021              break-inside: avoid;
2022              page-break-inside: avoid;
2023            }
2024            .quality-snapshot.has-print-snapshot > :not(.quality-snapshot__print-image) {
2025              display: none !important;
2026            }
2027            .quality-snapshot.has-print-snapshot .quality-snapshot__print-image {
2028              display: block;
2029              width: 100%;
2030              height: auto;
2031              -webkit-print-color-adjust: exact;
2032              print-color-adjust: exact;
2033            }
2034            .modern-report__finding,
2035            .modern-report__insight-item {
2036              display: inline-block;
2037              width: 100%;
2038              break-inside: avoid;
2039              page-break-inside: avoid;
2040            }
2041            .modern-report__response + .modern-report__response { margin-top: 0; }
2042            .modern-report__response-body, .conversation-report__answer-body { line-height: 1.58; }
2043            .modern-report__chip, .modern-report__finding-label { border-color: transparent; background: transparent; color: #333; }
2044            .quality-snapshot__metric-card, .quality-snapshot__overall { background: transparent; box-shadow: none; }
2045            .modern-report__finding-group {
2046              box-shadow: none;
2047              background: transparent;
2048              break-inside: auto;
2049              page-break-inside: auto;
2050            }
2051            .modern-report__finding-group-header {
2052              padding: 4mm 0 3mm;
2053              background: transparent;
2054              break-after: avoid;
2055              page-break-after: avoid;
2056            }
2057            .modern-report__finding-group-items { display: block; padding: 2mm 0 4mm; }
2058            .modern-report__finding-group + .modern-report__finding-group { margin-top: 5mm; }
2059            .modern-report__finding-text { font-size: 1rem; line-height: 1.5; }
2060            .modern-report__finding-detail { font-size: 0.92rem; line-height: 1.52; }
2061            .modern-report__finding-executive-note,
2062            .modern-report__finding-digest { break-inside: avoid; page-break-inside: avoid; }
2063            .modern-report__section--insights {
2064              display: inline-block;
2065              width: 100%;
2066              padding: 0;
2067              overflow: visible;
2068              border-radius: 0;
2069              break-inside: avoid;
2070              page-break-inside: avoid;
2071              -webkit-print-color-adjust: exact;
2072              print-color-adjust: exact;
2073            }
2074            .modern-report__section--insights .modern-report__section-header {
2075              margin: 0;
2076              padding: 3mm 0;
2077              border-top: 1.5pt solid var(--insight-accent);
2078              border-bottom: 0.75pt solid color-mix(in srgb, var(--insight-accent) 24%, #ddd);
2079              border-left: 0;
2080              background: transparent;
2081              -webkit-print-color-adjust: exact;
2082              print-color-adjust: exact;
2083            }
2084            .modern-report__section--insights .modern-report__section-body { gap: 0; padding: 0; }
2085            .modern-report__section--insights .modern-report__insight-item {
2086              padding: 3mm 0;
2087              background: transparent;
2088              border: 0;
2089              border-bottom: 0.6pt solid #ddd6cd;
2090              border-radius: 0;
2091              break-inside: avoid;
2092              page-break-inside: avoid;
2093            }
2094            .modern-report__section--appendix {
2095              display: block;
2096              width: auto;
2097              margin-top: 0;
2098              padding-top: 4mm;
2099              break-before: page;
2100              page-break-before: always;
2101              border-top: 3pt double #302b55;
2102            }
2103            .modern-report__section--appendix .modern-report__section-header,
2104            .modern-report__response-header,
2105            .modern-report__response-technical-meta { break-after: avoid; page-break-after: avoid; }
2106            .modern-report__response-body > :first-child { break-before: avoid; page-break-before: avoid; }
2107            .modern-report__response-body pre, .modern-report__response-body table { break-inside: avoid; page-break-inside: avoid; }
2108            .modern-report__document-footer { max-width: none; padding: 4mm 6mm 6mm; }
2109            .rpt-footer__inner { break-inside: avoid; page-break-inside: avoid; padding: 6mm 0 4mm; }
2110            .rpt-footer__brand-logo { max-width: 30mm; max-height: 11mm; margin-bottom: 3mm; }
2111            .rpt-footer__headline { font-size: 20pt; line-height: 1.08; }
2112            .rpt-footer__tagline { max-width: 122mm; font-size: 11pt; line-height: 1.45; }
2113            .rpt-footer__meta-value { font-size: 9.5pt; }
2114            .rpt-footer__qr-img { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
2115
2116            .print-report-intro { padding: 3mm 0 4mm; border: 0; }
2117            .print-report-intro__masthead {
2118              grid-template-columns: 26mm minmax(0, 1fr) 44mm;
2119              gap: 5mm;
2120              align-items: center;
2121            }
2122            .print-report-intro__brand { gap: 3mm; }
2123            .modern-report__corner-logo { width: 23mm; }
2124            .print-report-intro__header { gap: 1.5mm; }
2125            .print-report-intro__icon { width: 5mm; height: 5mm; }
2126            .print-report-intro__eyebrow { font-size: 6.5pt; letter-spacing: 0.12em; }
2127            .print-report-intro__title { font-size: 21pt; font-weight: 400; line-height: 1.06; }
2128            .print-report-intro__description { margin-top: 1.5mm; font-size: 8.4pt; line-height: 1.35; }
2129            .print-report-intro__description--secondary { margin-top: 0.6mm; font-size: 7.6pt; }
2130            .print-report-intro__meta { gap: 1.5mm; padding-left: 4mm; border-left-width: 1.5pt; }
2131            .print-report-intro__meta-item { gap: 2mm; padding: 0.7mm 0; }
2132            .print-report-intro__meta-icon { width: 5mm; height: 5mm; }
2133            .print-report-intro__meta-label { font-size: 6pt; }
2134            .print-report-intro__meta-value { font-size: 8.2pt; font-weight: 600; }
2135            .print-report-advisory { padding: 2.5mm 0; margin-bottom: 4mm; }
2136
2137            .modern-report__turn-header { margin-bottom: 2mm; padding: 0; border: 0; }
2138            .conversation-report__prompt-card { margin-bottom: 4mm; padding: 2mm 0 4mm; border: 0; }
2139            .conversation-report__prompt-label { margin-left: 10mm; }
2140            .conversation-report__prompt-text { padding: 1mm 10mm; font-size: 12.5pt; font-weight: 400; line-height: 1.48; }
2141            .conversation-report__prompt-text::before,
2142            .conversation-report__prompt-text::after { font-size: 38pt; }
2143            .conversation-report__prompt-text::before { top: -2mm; }
2144            .conversation-report__prompt-text::after { bottom: -5mm; }
2145            .conversation-report__prompt-date { margin: 2mm 0 0 10mm; }
2146
2147            .conversation-report__answer-card { padding: 3mm 0 4mm; border: 0; }
2148            .conversation-report__answer-title { font-size: 18pt; font-weight: 400; }
2149            .conversation-report__answer-body { margin-top: 2.5mm; }
2150            .conversation-report__metrics {
2151              grid-template-columns: minmax(58mm, 2.2fr) repeat(3, minmax(18mm, 0.62fr));
2152              border: 0;
2153            }
2154            .conversation-report__metric { padding: 2mm 2.4mm; border-bottom: 0; }
2155            .conversation-report__metric:first-child { padding-left: 0; }
2156            .conversation-report__metric:last-child { padding-right: 0; border-right: 0; }
2157
2158            .modern-report__section { margin-top: 5.5mm; padding: 0; border: 0; }
2159            .modern-report__section-header { margin-bottom: 3.5mm; padding: 0; border: 0; }
2160            .modern-report__section-title,
2161            .modern-report__subsection-title,
2162            .quality-snapshot .modern-report__section-title { font-size: 21pt; font-weight: 400; line-height: 1.08; }
2163            .modern-report__section-subtitle,
2164            .quality-snapshot .modern-report__section-subtitle { font-size: 9.5pt; line-height: 1.35; }
2165            .modern-report__section > .modern-report__section-body,
2166            .modern-report__section > .modern-report__section-children,
2167            .modern-report__section--insights .modern-report__section-body {
2168              margin-left: 2mm;
2169              padding-left: 5mm;
2170              border-left: 0.75pt dashed color-mix(in srgb, var(--section-accent) 58%, transparent);
2171            }
2172
2173            .modern-report__panel-intro { padding-bottom: 2.5mm; }
2174            .modern-report__panel-name { font-size: 14pt; font-weight: 400; }
2175            .modern-report__panel-description { font-size: 8.8pt; }
2176            .modern-report__panel-models { gap: 1mm 6mm; }
2177            .modern-report__panel-model { padding: 2mm 0; break-inside: avoid; page-break-inside: avoid; }
2178            .modern-report__panel-model-name { font-size: 11.5pt; font-weight: 400; }
2179            .modern-report__panel-model-description { font-size: 8pt; }
2180
2181            .quality-snapshot__overall { padding: 0 0 3mm; border: 0; }
2182            .quality-snapshot__index-score { font-size: 24pt; font-weight: 400; }
2183            .quality-snapshot__overall-label { font-size: 14pt; font-weight: 400; }
2184            .quality-snapshot__metric-card { padding: 2.5mm 0; border: 0; }
2185            .quality-snapshot__metric-title { font-size: 12.5pt; font-weight: 400; }
2186            .quality-snapshot__metric-value { font-size: 18pt; font-weight: 400; }
2187            .quality-snapshot__note { border: 0; }
2188
2189            .modern-report__finding-group-header { padding: 2mm 0 1mm; border: 0; }
2190            .modern-report__finding-group-label { font-size: 15.5pt; font-weight: 400; }
2191            .modern-report__finding-group-subtitle { font-size: 9.5pt; }
2192            .modern-report__finding { padding: 2.5mm 0; border: 0; }
2193            .modern-report__finding-text { font-size: 11.5pt; font-weight: 400; line-height: 1.45; }
2194            .modern-report__section--insights .modern-report__section-header { padding: 0; border: 0; }
2195            .modern-report__section--insights .modern-report__insight-item { padding: 2.5mm 0; border: 0; }
2196
2197            .modern-report__response { border: 0; }
2198            .modern-report__response + .modern-report__response { border-top: 0.6pt solid #e3ddd5; }
2199            .modern-report__response-title { font-size: 14pt; font-weight: 400; }
2200            .modern-report__response-provider-logo { max-width: 10mm; max-height: 7mm; }
2201
2202            .modern-report.is-compact-report .modern-report__section,
2203            .modern-report.is-compact-report .quality-snapshot { margin-top: 4.5mm; }
2204            .modern-report.is-compact-report .modern-report__section-header { margin-bottom: 2.5mm; }
2205            .modern-report.is-compact-report .quality-snapshot__metric-card,
2206            .modern-report.is-compact-report .modern-report__finding,
2207            .modern-report.is-compact-report .modern-report__section--insights .modern-report__insight-item { padding-top: 1.8mm; padding-bottom: 1.8mm; }
2208            .modern-report.is-compact-report .modern-report__panel-model { padding-top: 1.4mm; padding-bottom: 1.4mm; }
2209
2210            .modern-report.has-section-page-breaks .modern-report__section[data-report-section]:not(.is-report-hidden) {
2211              margin-top: 0;
2212              padding-top: 4mm;
2213              break-before: page;
2214              page-break-before: always;
2215            }
2216          }
2217        </style>
2218      </head>
2219      <body>
2220        <main class="modern-report is-executive-report is-compact-report">
2221          <div class="modern-report__toolbar">
2222            <div class="modern-report__toolbar-inner">
2223              <div class="modern-report__toolbar-identity">
2224                <div class="modern-report__toolbar-icon-tile" aria-hidden="true">
2225                  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" width="20" height="20"><polyline points="6 9 6 2 18 2 18 9"/><path d="M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2"/><rect x="6" y="14" width="12" height="8"/></svg>
2226                </div>
2227                <div class="modern-report__toolbar-text">
2228                  <div class="modern-report__toolbar-title">${l}</div>
2229                  <div class="modern-report__toolbar-subtitle">${u} print preview</div>
2230                </div>
2231              </div>
2232              <div class="modern-report__toolbar-actions">
2233                <button id="report-customizer-toggle" type="button" class="modern-report__toolbar-button--customize" aria-controls="report-customizer" aria-expanded="false"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" width="15" height="15" aria-hidden="true"><line x1="4" y1="21" x2="4" y2="14"/><line x1="4" y1="10" x2="4" y2="3"/><line x1="12" y1="21" x2="12" y2="12"/><line x1="12" y1="8" x2="12" y2="3"/><line x1="20" y1="21" x2="20" y2="16"/><line x1="20" y1="12" x2="20" y2="3"/>
2233<line x1="1" y1="14" x2="7" y2="14"/><line x1="9" y1="8" x2="15" y2="8"/><line x1="17" y1="16" x2="23" y2="16"/></svg>Customize <span id="report-customizer-status" class="report-customizer__button-status">Executive</span></button>
2234                <button id="report-print-button" type="button" class="modern-report__toolbar-button--primary"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" width="15" height="15" aria-hidden="true"><polyline points="6 9 6 2 18 2 18 9"/><path d="M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2"/><rect x="6" y="14" width="12" height="8"/></svg>Print / Save PDF</button>
2235                <button id="report-close-button" type="button" class="modern-report__toolbar-button--secondary"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" width="14" height="14" aria-hidden="true"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>Close</button>
2236              </div>
2237            </div>
2238            <div id="report-customizer" class="report-customizer" hidden>
2239              <div class="report-customizer__copy">
2240                <p class="report-customizer__title">Customize report</p>
2241                <p class="report-customizer__description">Choose what to include and how the report should flow on the page.</p>
2242                <div class="report-customizer__presets" aria-label="Report presets">
2243                  <button type="button" class="report-customizer__preset is-active" data-report-preset="executive" aria-pressed="true">Executive</button>
2244                  <button type="button" class="report-customizer__preset" data-report-preset="full" aria-pressed="false">Full evidence</button>
2245                </div>
2246              </div>
2247              <div class="report-customizer__controls">
2248                <fieldset class="report-customizer__group report-customizer__group--content">
2249                  <legend class="report-customizer__group-title">Content</legend>
2250                  <div class="report-customizer__group-options">
2251                    <label class="report-customizer__option"><span>Prompt</span><input class="report-customizer__switch" type="checkbox" data-report-control="prompt" checked></label>
2252                    <label class="report-customizer__option"><span>Distilled answer</span><input class="report-customizer__switch" type="checkbox" data-report-control="answer" checked></label>
2253                    <label class="report-customizer__option"><span>Panel overview</span><input class="report-customizer__switch" type="checkbox" data-report-control="panel" checked></label>
2254                    <label class="report-customizer__option"><span>Quality snapshot</span><input class="report-customizer__switch" type="checkbox" data-report-control="quality" checked></label>
2255                    <label class="report-customizer__option"><span>Validation findings</span><input class="report-customizer__switch" type="checkbox" data-report-control="findings" checked></label>
2256                    <label class="report-customizer__option"><span>Insights</span><input class="report-customizer__switch" type="checkbox" data-report-control="insights" checked></label>
2257                  </div>
2258                </fieldset>
2259                <fieldset class="report-customizer__group report-customizer__group--evidence">
2260                  <legend class="report-customizer__group-title">Evidence</legend>
2261                  <div class="report-customizer__group-options">
2262                    <label class="report-customizer__option"><span>Score details</span><input class="report-customizer__switch" type="checkbox" data-report-control="score-details" checked></label>
2263                    <label class="report-customizer__option"><span>Original model answers</span><input class="report-customizer__switch" type="checkbox" data-report-control="responses"></label>
2264                    <label class="report-customizer__option"><span>Model details</span><input class="report-customizer__switch" type="checkbox" data-report-control="metadata"></label>
2265                  </div>
2266                </fieldset>
2267                <fieldset class="report-customizer__group report-customizer__group--layout">
2268                  <legend class="report-customizer__group-title">Layout</legend>
2269                  <div class="report-customizer__group-options">
2270                    <label class="report-customizer__option"><span>Compact layout</span><input class="report-customizer__switch" type="checkbox" data-report-control="compact" checked></label>
2271                    <label class="report-customizer__option"><span>New page per section</span><input class="report-customizer__switch" type="checkbox" data-report-control="page-breaks"></label>
2272                    <label class="report-customizer__option"><span>Brand footer</span><input class="report-customizer__switch" type="checkbox" data-report-control="brand-footer" checked></label>
2273                  </div>
2274                </fieldset>
2275              </div>
2276              <button id="report-customizer-reset" type="button" class="report-customizer__reset">Executive defaults</button>
2277            </div>
2278            <div class="modern-report__toolbar-accent"></div>
2279          </div>
2280          <aside id="report-security-notice" class="report-security-notice" aria-labelledby="report-security-notice-title">
2281            <div class="report-security-notice__icon" aria-hidden="true">
2282              <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" width="20" height="20"><rect x="3" y="11" width="18" height="10" rx="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></svg>
2283            </div>
2284            <div>
2285              <p class="report-security-notice__eyebrow">Private preview</p>
2286              <p id="report-security-notice-title" class="report-security-notice__title">This preview cannot be shared by URL</p>
2287              <p class="report-security-notice__text">For security, print the report or save it as a PDF, then send the file by email.</p>
2288            </div>
2289            <button id="report-security-notice-close" type="button" class="report-security-notice__close" aria-label="Dismiss sharing notice">
2290              <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" width="16" height="16" aria-hidden="true"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>
2291            </button>
2292          </aside>
2293          ${f}
2294          <div class="modern-report__content">
2295            <div class="modern-report__timeline">
2296              ${t}
2297            </div>
2298          </div>
2299          ${p}
2300        </main>
2301        <script>
2302          (function () {
2303            var report = document.querySelector('.modern-report');
2304            var panel = document.getElementById('report-customizer');
2305            var toggleButton = document.getElementById('report-customizer-toggle');
2306            var status = document.getElementById('report-customizer-status');
2307            var resetButton = document.getElementById('report-customizer-reset');
2308            var printButton = document.getElementById('report-print-button');
2309            var closeButton = document.getElementById('report-close-button');
2310            var securityNotice = document.getElementById('report-security-notice');
2311            var securityNoticeClose = document.getElementById('report-security-notice-close');
2312            var controls = Array.prototype.slice.call(document.querySelectorAll('[data-report-control]'));
2313            var presetButtons = Array.prototype.slice.call(document.querySelectorAll('[data-report-preset]'));
2314            var evidenceMode = 'executive';
2315            var presetValues = {
2316              executive: { prompt: true, answer: true, panel: true, quality: true, 'score-details': true, findings: true, insights: true, responses: false, metadata: false, compact: true, 'page-breaks': false, 'brand-footer': true },
2317              full: { prompt: true, answer: true, panel: true, quality: true, 'score-details': true, findings: true, insights: true, responses: true, metadata: true, compact: true, 'page-breaks': false, 'brand-footer': true }
2318            };
2319
2320            function getTargets(key) {
2321              if (key === 'compact' || key === 'page-breaks') {
2322                return [report];
2323              }
2324              if (key === 'metadata') {
2325                return Array.prototype.slice.call(document.querySelectorAll('[data-report-metadata="response"]'));
2326              }
2327              return Array.prototype.slice.call(document.querySelectorAll('[data-report-section="' + key + '"]'));
2328            }
2329
2330            function applyControl(control) {
2331              var isVisible = control.checked;
2332              var key = control.getAttribute('data-report-control');
2333              if (key === 'compact') {
2334                report.classList.toggle('is-compact-report', isVisible);
2335                return;
2336              }
2337              if (key === 'page-breaks') {
2338                report.classList.toggle('has-section-page-breaks', isVisible);
2339                return;
2340              }
2341              getTargets(key).forEach(function (element) {
2342                element.classList.toggle('is-report-hidden', !isVisible);
2343              });
2344            }
2345
2346            function syncDependentControl(parentKey, childKey) {
2347              var parentControl = document.querySelector('[data-report-control="' + parentKey + '"]');
2348              var childControl = document.querySelector('[data-report-control="' + childKey + '"]');
2349              if (!parentControl || !childControl || childControl.getAttribute('data-has-targets') !== 'true') return;
2350              childControl.disabled = parentControl.disabled || !parentControl.checked;
2351              childControl.closest('.report-customizer__option').classList.toggle('is-unavailable', childControl.disabled);
2352            }
2353
2354            function syncDependentControls() {
2355              syncDependentControl('responses', 'metadata');
2356              syncDependentControl('quality', 'score-details');
2357            }
2358
2359            function setEvidenceMode(mode) {
2360              evidenceMode = mode === 'full' ? 'full' : 'executive';
2361              report.classList.toggle('is-executive-report', evidenceMode === 'executive');
2362              report.classList.toggle('is-full-evidence-report', evidenceMode === 'full');
2363            }
2364
2365            function matchesPreset(name) {
2366              var values = presetValues[name];
2367              if (!values || evidenceMode !== name) return false;
2368              return controls.every(function (control) {
2369                if (control.getAttribute('data-has-targets') !== 'true') return true;
2370                return control.checked === values[control.getAttribute('data-report-control')];
2371              });
2372            }
2373
2374            function updateStatus() {
2375              var activePreset = matchesPreset('executive')
2376                ? 'executive'
2377                : matchesPreset('full')
2378                  ? 'full'
2379                  : null;
2380              status.textContent = activePreset === 'executive' ? 'Executive' : activePreset === 'full' ? 'Full' : 'Custom';
2381              presetButtons.forEach(function (button) {
2382                var isActive = button.getAttribute('data-report-preset') === activePreset;
2383                button.classList.toggle('is-active', isActive);
2384                button.setAttribute('aria-pressed', isActive ? 'true' : 'false');
2385              });
2386            }
2387
2388            function applyPreset(name) {
2389              var values = presetValues[name] || presetValues.executive;
2390              setEvidenceMode(name);
2391              controls.forEach(function (control) {
2392                if (control.getAttribute('data-has-targets') !== 'true') return;
2393                control.checked = values[control.getAttribute('data-report-control')];
2394                applyControl(control);
2395              });
2396              syncDependentControls();
2397              updateStatus();
2398            }
2399
2400            controls.forEach(function (control) {
2401              var hasTargets = getTargets(control.getAttribute('data-report-control')).length > 0;
2402              control.setAttribute('data-has-targets', hasTargets ? 'true' : 'false');
2403              if (!hasTargets) {
2404                control.checked = false;
2405                control.disabled = true;
2406                control.closest('.report-customizer__option').classList.add('is-unavailable');
2407              }
2408              applyControl(control);
2409              control.addEventListener('change', function () {
2410                applyControl(control);
2411                syncDependentControls();
2412                updateStatus();
2413              });
2414            });
2415
2416            syncDependentControls();
2417            updateStatus();
2418
2419            presetButtons.forEach(function (button) {
2420              button.addEventListener('click', function () {
2421                applyPreset(button.getAttribute('data-report-preset'));
2422              });
2423            });
2424
2425            toggleButton.addEventListener('click', function () {
2426              var willOpen = panel.hasAttribute('hidden');
2427              panel.toggleAttribute('hidden', !willOpen);
2428              toggleButton.setAttribute('aria-expanded', willOpen ? 'true' : 'false');
2429            });
2430
2431            resetButton.addEventListener('click', function () {
2432              applyPreset('executive');
2433            });
2434
2435            printButton.addEventListener('click', function () {
2436              if (document.fonts && document.fonts.ready) {
2437                document.fonts.ready.then(function () { window.print(); }, function () { window.print(); });
2438                return;
2439              }
2440              window.print();
2441            });
2442
2443            closeButton.addEventListener('click', function () { window.close(); });
2444            if (securityNotice && securityNoticeClose) {
2445              securityNoticeClose.addEventListener('click', function () { securityNotice.remove(); });
2446            }
2447            document.addEventListener('keydown', function (event) {
2448              if (event.key === 'Escape' && !panel.hasAttribute('hidden')) {
2449                panel.setAttribute('hidden', '');
2450                toggleButton.setAttribute('aria-expanded', 'false');
2451                toggleButton.focus();
2452              }
2453            });
2454          })();
2455        <\/script>
2456      </body>
2457    </html>
2458  `}function H(e){let t=String(e?.modelName||``).toLowerCase();return t.includes(`claude`)?`is-sand`:t.includes(`gpt`)||t.includes(`codex`)?`is-sage`:t.includes(`gemini`)?`is-sky`:t.includes(`deepseek`)?`is-teal`:t.includes(`qwen`)?`is-plum`:t.includes(`llama`)?`is-amber`:`is-slate`}function ve(e,{getValidationQualityScoreEntries:t,hasValue:n,escapeHtml:r}={}){let i=t(e).filter(e=>n(e?.value));if(!i.length)return``;let a=e=>i.find(t=>t.key===e)||{value:null},o=a(`qualityIndexScore`).value;function s(e,t=!0){if(e==null)return``;let n=Number(e);return Number.isFinite(n)?t?n<=24?`WEAK`:n<=49?`MEDIUM`:n<=69?`MODERATE`:n<=84?`STRONG`:`EXCELLENT`:n<=9?`VERY LOW`:n<=24?`LOW`:n<=49?`MEDIUM`:n<=74?`HIGH`:`CRITICAL`:``}function c(e){let t=Number(e);return Number.isFinite(t)?Math.max(0,Math.min(100,Math.round(t))):0}let l=e=>[`verificationRequiredCount`,`unsupportedSpecificClaimCount`].includes(e),u={hallucinationRisk:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="26" height="26" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><line x1="12" y1="7" x2="12" y2="12"/>
2458<line x1="12" y1="16" x2="12.01" y2="16"/></svg>`,fabricationRisk:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="26" height="26" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2 4 6v6c0 5 3.4 8.2 8 10 4.6-1.8 8-5 8-10V6l-8-4Z"/><path d="M12 8v5"/><path d="M12 17h.01"/></svg>`,consensusScore:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="26" height="26" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 21v-2a4 4 0 0 1 8 0v2"/><circle cx="12" cy="7" r="4"/><path d="M3 21v-2a4 4 0 0 1 3-3.87"/><path d="M21 21v-2a4 4 0 0 0-3-3.87"/></svg>`,confidenceScore:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="26" height="26" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3 5 6v6c0 4 3 7.2 7 9 4-1.8 7-5 7-9V6l-7-3Z"/><path d="M12 8v5"/><path d="M12 17h.01"/></svg>`,panelIntegrityScore:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="26" height="26" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3 5 6v6c0 4 3 7.2 7 9 4-1.8 7-5 7-9V6l-7-3Z"/><path d="m9 12 2 2 4-5"/></svg>`,verificationRequiredCount:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="26" height="26" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M7 3h7l4 4v14H7z"/><path d="M14 3v5h5"/><path d="M10 12h4"/><path d="M10 16h6"/></svg>`,unsupportedSpecificClaimCount:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="26" height="26" fill="none" stroke="currentColor" stroke-width="2.1" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3v18"/><path d="M5 8h14"/><path d="m6 8-3 7h6L6 8Z"/><path d="m18 8-3 7h6l-3-7Z"/></svg>`,dominantRiskScore:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="26" height="26" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 3v18h18"/><path d="m7 15 4-4 3 3 5-7"/><path d="M19 7v5h-5"/></svg>`};return`
2459    <section class="modern-report__section quality-snapshot page-break-avoid" data-report-section="quality">
2460      <div class="modern-report__section-header">
2461        <div class="modern-report__section-heading">
2462          <span class="modern-report__section-icon" aria-hidden="true">${u.dominantRiskScore}</span>
2463          <div>
2464            <h3 class="modern-report__section-title">Quality Snapshot</h3>
2465            <p class="modern-report__section-subtitle">A quick view of answer quality, confidence, and risk.</p>
2466          </div>
2467        </div>
2468        <div class="quality-snapshot__index-summary">
2469          <div class="quality-snapshot__index-label">Quality Index</div>
2470          <div class="quality-snapshot__index-score">${n(o)?r(String(Math.round(Number(o)))):`—`}<span class="quality-snapshot__index-denom">/100</span></div>
2471          <div class="quality-snapshot__status-chip">${n(o)?r(s(Number(o),!0)):``}</div>
2472        </div>
2473      </div>
2474
2475      <div class="modern-report__section-children quality-snapshot__content" data-report-section="score-details">
2476        <div class="quality-snapshot__overall">
2477          <div class="quality-snapshot__overall-copy">
2478            <div class="quality-snapshot__overall-label">Overall quality</div>
2479            <div class="quality-snapshot__overall-line">Quality index score remains <span>${n(o)?r(String(Math.round(Number(o)))):`—`}</span>.</div>
2480          </div>
2481          <div class="quality-snapshot__scale" aria-hidden="true">
2482            <div class="quality-snapshot__scale-rail">
2483              <div class="quality-snapshot__scale-segments"></div>
2484              <div class="quality-snapshot__scale-marker" style="left: ${n(o)?r(String(c(o))):`0`}%"></div>
2485              <div class="quality-snapshot__scale-labels"><span>0</span><span>25</span><span>50</span><span>75</span><span>100</span></div>
2486            </div>
2487          </div>
2488        </div>
2489
2490        <div class="quality-snapshot__metrics-grid">
2491          ${[{key:`hallucinationRisk`,title:`Hallucination Risk`,desc:`Unsupported content carried into the final synthesis.`,positive:!1},{key:`fabricationRisk`,title:`Fabrication Risk`,desc:`Strongest likely false claim found in the source responses.`,positive:!1}
2491,{key:`consensusScore`,title:`Consensus Score`,desc:`How much models agree on the answer.`,positive:!0},{key:`confidenceScore`,title:`Confidence Score`,desc:`Confidence after propagated risk and panel health.`,positive:!0},{key:`panelIntegrityScore`,title:`Panel Integrity Score`,desc:`Data completeness and panel health.`,positive:!0},{key:`verificationRequiredCount`,title:`Verification Required`,desc:`Number of claims that require verification.`,positive:null},{key:`unsupportedSpecificClaimCount`,title:`Unsupported Claims`,desc:`Claims with no supporting evidence.`,positive:null},{key:`dominantRiskScore`,title:`Dominant Risk Score`,desc:`Strongest risk found in the source responses.`,positive:!1}].map(e=>{let t=a(e.key).value,i=(l(e.key),n(t)?String(t):`0`),o=c(t),d=l(e.key)?``:s(Number(t),e.positive===!0);return`
2492      <div class="quality-snapshot__metric-card page-break-avoid metric--${e.key}">
2493        <div class="quality-snapshot__metric-icon" aria-hidden="true">${u[e.key]||``}</div>
2494        <div class="quality-snapshot__metric-copy">
2495          <div class="quality-snapshot__metric-title">${r(e.title)}</div>
2496          <div class="quality-snapshot__metric-description">${r(e.desc)}</div>
2497          <div class="quality-snapshot__metric-bar${l(e.key)?` quality-snapshot__metric-bar--count`:``}" aria-hidden="true">
2498            <div class="quality-snapshot__metric-bar-fill"></div>
2499            <div class="quality-snapshot__metric-marker" style="left: ${r(String(o))}%;"></div>
2500          </div>
2501        </div>
2502        <div class="quality-snapshot__metric-score">
2503          <div class="quality-snapshot__metric-value">${l(e.key)?r(String(i)):r(String(o))}<span class="quality-snapshot__metric-denom">${l(e.key)?``:`/100`}</span></div>
2504          ${l(e.key)?`<div class="quality-snapshot__metric-status">CLAIMS</div>`:d?`<div class="quality-snapshot__metric-status">${r(d)}</div>`:``}
2505        </div>
2506      </div>
2507    `}).join(``)}
2508        </div>
2509
2510        <div class="quality-snapshot__note">Scores combine several quality signals into an easy-to-read view. Use them as guidance, not as absolute measures.</div>
2511      </div>
2512    </section>
2513  `}function ye(e,{normalizeValidationFindings:t,getValidationSeverityBandMeta:n,formatModelNames:r,escapeHtml:i}={}){let a=t(e);if(!a.length)return``;let o={critical:`Immediate review recommended for this set of findings.`,very_high:`Strong risk indicators need fast verification.`,high:`Meaningful risk signals should be checked soon.`,elevated:`Potential risk with notable uncertainty.`,moderate:`Mixed signals deserve a closer look.`,guarded:`Light caution, keep context in mind.`,low:`Minor issues surfaced with limited impact.`,very_low:`Minimal concern across these findings.`,unknown:`Severity could not be classified precisely.`},s={critical:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="2.3" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3 2.5 20.5h19L12 3Z"/><path d="M12 9v5"/><path d="M12 17h.01"/></svg>`,very_high:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="2.3" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3 2.5 20.5h19L12 3Z"/><path d="M12 9v5"/><path d="M12 17h.01"/></svg>`,high:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="2.3" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M12 7v6"/><path d="M12 17h.01"/></svg>`,elevated:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="2.1" stroke-linecap="round" stroke-linejoin="round"><path d="M12.5 3c.7 2-.1 3.2-1.2 4.5-1.4 1.6-2.5 2.8-2.5 5a3.7 3.7 0 0 0 7.4 0c0-1.8-.8-3.1-2-4.6-.8-1-.8-2.2-1.7-4.9Z"/><path d="M9.2 14.2a3.2 3.2 0 0 0 6.3.8"/></svg>`,moderate:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="2.1" stroke-linecap="round" stroke-linejoin="round"><path d="M4 7h16"/><path d="M7 7c0 2 1.8 3.5 5 3.5S17 9 17 7"/><path d="M4 17h16"/><path d="M7 17c0-2 1.8-3.5 5-3.5s5 1.5 5 3.5"/></svg>`,guarded:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3 5 6v6c0 4 3 7.2 7 9 4-1.8 7-5 7-9V6l-7-3Z"/><path d="M12 8v5"/><path d="M12 17h.01"/></svg>`,low:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M12 8v4"/><path d="M12 16h.01"/></svg>`,very_low:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="m8.5 12 2.2 2.2 4.8-5"/></svg>`,unknown:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M9.5 9a2.5 2.5 0 1 1 4.1 2c-.8.7-1.6 1.2-1.6 2.5"/><path d="M12 17h.01"/></svg>`},c=a.reduce((e,t)=>
2513{let n=String(t.severityBand||`unknown`);return e.has(n)||e.set(n,[]),e.get(n).push(t),e},new Map),l=new Set;Array.from(c.values()).forEach(e=>{let t=Math.max(0,12-l.size);e.slice(0,Math.min(3,t)).forEach(e=>l.add(e.key))});let u=a.filter(e=>!l.has(e.key)),d=Array.from(u.reduce((e,t)=>{let n=String(t.summary||``).trim(),r=n.toLocaleLowerCase().replace(/\s+/g,` `),i=e.get(r)||{count:0,summary:n};return i.count+=1,e.set(r,i),e},new Map).values()).sort((e,t)=>t.count-e.count||e.summary.localeCompare(t.summary)).slice(0,4),f=(e,t=``)=>`<span class="modern-report__finding-detail-label${t?` modern-report__finding-detail-label--${i(t)}`:``}">${i(e)}</span>`;return`
2514    <section class="modern-report__section modern-report__section--findings" data-report-section="findings">
2515      <div class="modern-report__section-header">
2516        <div class="modern-report__section-heading">
2517          <span class="modern-report__section-icon">!</span>
2518          <div>
2519            <h3 class="modern-report__section-title">Validation Findings</h3>
2520            <p class="modern-report__section-subtitle">Claims and disagreements that deserve a closer look.</p>
2521          </div>
2522        </div>
2523      </div>
2524      <div class="modern-report__section-body">
2525        ${u.length?`
2526          <div class="modern-report__finding-executive-note" data-report-evidence="executive-only">
2527            <p><strong>${i(String(l.size))}</strong> priority findings shown from <strong>${i(String(a.length))}</strong> total.</p>
2528            <span>Similar and lower-priority items are summarized below. Choose Full evidence to see everything.</span>
2529          </div>
2530        `:``}
2531        ${Array.from(c.entries()).map(([e,t])=>{let a=n(e),c=t.filter(e=>l.has(e.key)).length;return`
2532            <section class="modern-report__finding-group modern-report__finding-group--${i(e)} page-break-avoid">
2533              <div class="modern-report__finding-group-header">
2534                <div class="modern-report__finding-group-header-copy">
2535                  <span class="modern-report__finding-group-icon" aria-hidden="true">${s[e]||s.unknown}</span>
2536                  <div class="modern-report__finding-group-titles">
2537                    <div class="modern-report__finding-group-label">${i(a.label)}</div>
2538                    <p class="modern-report__finding-group-subtitle">${i(o[e]||o.unknown)}</p>
2539                  </div>
2540                </div>
2541                <div class="modern-report__finding-group-count">
2542                  <span data-report-evidence="executive-only">${i(c===t.length?String(t.length):`${c} of ${t.length}`)}</span>
2543                  <span data-report-evidence="full-only">${i(String(t.length))}</span>
2544                </div>
2545              </div>
2546              <div class="modern-report__finding-group-items">
2547                ${t.map((e,t)=>{let n=e.type===`fabrication`?`is-fabrication`:e.type===`hallucination`?`is-hallucination`:e.type===`disagreement`?`is-disagreement`:``,a=Array.isArray(e.involvedModels)?e.involvedModels.slice(0,3):[],o=Math.max(0,(e.involvedModels?.length||0)-a.length),s=a.length?`${r(a)}${o?` +${o}`:``}`:``,c=String(t+1).padStart(2,`0`),u=e.confidence!==null&&e.confidence!==void 0;return`
2548                    <article class="modern-report__finding ${n} page-break-avoid"${l.has(e.key)?``:` data-report-evidence="full-only"`}>
2549                      <div class="modern-report__finding-summary">
2550                        <div class="modern-report__finding-index" aria-label="Finding ${i(c)}">${i(c)}</div>
2551                        <p class="modern-report__finding-text">${i(e.summary)}</p>
2552                      </div>
2553                      ${u||e.topic||s?`
2554                        <div class="modern-report__finding-meta" aria-label="Finding metadata">
2555                          ${u?`<span class="modern-report__finding-meta-item"><strong>Confidence</strong> ${i(`${e.confidence}%`)}</span>`:``}
2556                          ${e.topic?`<span class="modern-report__finding-meta-item"><strong>Topic</strong> ${i(e.topic)}</span>`:``}
2557                          ${s?`<span class="modern-report__finding-meta-item modern-report__finding-meta-item--models"><strong>Models</strong> ${i(s)}</span>`:``}
2558                        </div>
2559                      `:``}
2560                      <div class="modern-report__finding-details">
2561                        ${e.claimText?`<p class="modern-report__finding-detail">${f(`Claim`,`claim`)}${i(e.claimText)}</p>`:``}
2562                        ${e.majorityView||e.dissentingView?`
2563                          <div class="modern-report__finding-comparison">
2564                            ${e.majorityView?`<p class="modern-report__finding-detail"><span class="modern-report__finding-detail-label">Majority</span>${i(e.majorityView)}</p>`:``}
2565                            ${e.dissentingView?`<p class="modern-report__finding-detail"><span class="modern-report__finding-detail-label">Dissent</span>${i(e.dissentingView)}</p>`:``}
2566                          </div>
2567                        `:``}
2568                        ${e.reasoning?`<p class="modern-report__finding-detail">${f(`Reasoning`,`reasoning`)}${i(e.reasoning)}</p>`:``}
2569                      </div>
2570                    </article>
2571                  `}).join(``)}
2572              </div>
2573            </section>
2574          `}).join(``)}
2575        ${u.length?`
2576          <section class="modern-report__finding-digest" data-report-evidence
2576="executive-only" aria-label="Additional validation evidence">
2577            <div class="modern-report__finding-digest-heading">
2578              <h4>Additional evidence</h4>
2579              <span>${i(String(u.length))} grouped findings</span>
2580            </div>
2581            <ul>
2582              ${d.map(e=>`<li><strong>${i(String(e.count))}</strong><span>${i(e.summary)}</span></li>`).join(``)}
2583            </ul>
2584          </section>
2585        `:``}
2586      </div>
2587    </section>
2588  `}function be(e,{getKeyTakeaways:t,getActionableItems:n,getUniqueInsights:r,getNotableOutliers:i,renderSectionCards:a,renderChipList:o,getResponseDisplayName:s,formatLabel:c,hasValue:l,escapeHtml:u}={}){let d=t(e),f=n(e),p=r(e),m=i(e);return[a(`Key Takeaways`,d,(e,t)=>`
2589      <article class="modern-report__insight-item modern-report__insight-item--takeaway page-break-avoid">
2590        <div class="modern-report__insight-label-row">
2591          <span class="modern-report__insight-label">Takeaway</span>
2592          <span class="modern-report__insight-index">${u(String(t+1).padStart(2,`0`))}</span>
2593        </div>
2594        <p class="modern-report__insight-text">${u(e?.text||e?.title||e?.description||``)}</p>
2595        ${o((e?.models||[]).map(e=>s(e)),`support`)}
2596      </article>
2597    `,`takeaways`),a(`Actionable Items`,f,(e,t)=>`
2598      <article class="modern-report__insight-item modern-report__insight-item--action page-break-avoid">
2599        <div class="modern-report__insight-label-row">
2600          <span class="modern-report__insight-label">Action Item</span>
2601          <span class="modern-report__insight-index">${u(String(t+1).padStart(2,`0`))}</span>
2602        </div>
2603        <p class="modern-report__insight-text">${u(e?.text||e?.title||e?.description||``)}</p>
2604        ${o([e?.actionability?c(e.actionability):null,...(e?.models||[]).map(e=>s(e))],`action`)}
2605      </article>
2606    `,`actions`),a(`Unique Insights`,p,(e,t)=>`
2607      <article class="modern-report__insight-item modern-report__insight-item--unique page-break-avoid">
2608        <div class="modern-report__insight-label-row">
2609          <span class="modern-report__insight-label">Unique Insight</span>
2610          <span class="modern-report__insight-index">${u(String(t+1).padStart(2,`0`))}</span>
2611        </div>
2612        <p class="modern-report__insight-text">${u(e?.text||e?.title||e?.description||``)}</p>
2613        ${o([e?.source?.modelName?s(e.source):null,e?.topic||null],`insight`)}
2614        ${e?.reasoning?`<p class="modern-report__insight-note">${u(e.reasoning)}</p>`:``}
2615      </article>
2616    `,`unique`),a(`Notable Outliers`,m,(e,t)=>`
2617      <article class="modern-report__insight-item modern-report__insight-item--outlier page-break-avoid">
2618        <div class="modern-report__insight-label-row">
2619          <span class="modern-report__insight-label">Outlier</span>
2620          <span class="modern-report__insight-index">${u(String(t+1).padStart(2,`0`))}</span>
2621        </div>
2622        <p class="modern-report__insight-text">${u(e?.description||e?.text||e?.title||``)}</p>
2623        ${o([e?.model?.modelName?s(e.model):null,e?.dimension?c(e.dimension):null,l(e?.score)?`Score ${e.score}`:null],`warning`)}
2624      </article>
2625    `,`outliers`)].join(``)}function xe(e=[],{renderChipList:t,getResponseStatusLabel:n,getResponseDisplayName:r,getResponseModelPresentation:i,formatProcessingTime:a,formatTokenTotal:o,renderMarkdown:s,escapeHtml:c}={}){return!Array.isArray(e)||!e.length?``:`
2626    <section class="modern-report__section modern-report__section--responses modern-report__section--appendix is-report-hidden" data-report-section="responses">
2627      <div class="modern-report__section-header">
2628        <div class="modern-report__section-heading">
2629          <span class="modern-report__section-icon">AI</span>
2630          <div>
2631            <p class="modern-report__appendix-kicker">Appendix A</p>
2632            <h3 class="modern-report__section-title">Model Responses</h3>
2633            <p class="modern-report__section-subtitle">Original model answers included for reference.</p>
2634          </div>
2635        </div>
2636      </div>
2637      <div class="modern-report__section-body modern-report__section-body--responses">
2638        ${e.map(e=>{let l=r(e),u=i?.(e)||{},d=String(u?.providerLogo||``).trim(),f=String(e?.modelName||``),p=n(e),m=p&&String(p).toLowerCase()!==`completed`,h=[e?.processingTime>0?{label:`Latency`,value:a(e.processingTime)}:null,o(e?.tokens)?{label:`Tokens`,value:o(e.tokens)}
2638:null].filter(Boolean);return`
2639          <article class="modern-report__response ${H(e)} page-break-avoid">
2640            <div class="modern-report__response-header">
2641              <div class="modern-report__response-title-wrap">
2642                <div class="modern-report__response-icon-wrap ${H(e)}">
2643                  ${d?`<img class="modern-report__response-provider-logo" src="${c(d)}" alt="${c(`${u?.provider||l} logo`)}">`:`<span class="modern-report__response-icon">AI</span>`}
2644                </div>
2645                <div class="modern-report__response-titles">
2646                  <h4 class="modern-report__response-title">${c(l)}</h4>
2647                  ${f&&f!==l?`<p class="modern-report__response-key" data-report-metadata="response">${c(f)}</p>`:``}
2648                </div>
2649              </div>
2650              ${m?t([p],`support`):``}
2651            </div>
2652            ${h.length?`
2653              <div class="modern-report__response-technical-meta" data-report-metadata="response">
2654                ${h.map(e=>`<span><strong>${c(e.label)}</strong> ${c(e.value)}</span>`).join(``)}
2655              </div>
2656            `:``}
2657            <div class="modern-report__response-body">${s(e?.content||e?.error||``)}</div>
2658          </article>
2659          `}).join(``)}
2660      </div>
2661    </section>
2662  `}function Se(e,{escapeHtml:t}={}){let n=Array.isArray(e?.models)?e.models:[];if(!e||!n.length)return``;let r=Number(e.providerCount)||0,i=String(e.name||`AI panel`).trim()||`AI panel`,a=String(e.description||``).trim(),o=`${n.length} ${n.length===1?`model`:`models`}${r?` from ${r} ${r===1?`provider`:`providers`}`:``}`;return`
2663    <section class="modern-report__section modern-report__section--panel" data-report-section="panel">
2664      <div class="modern-report__section-header">
2665        <div class="modern-report__section-heading">
2666          <span class="modern-report__section-icon">AI</span>
2667          <div>
2668            <h3 class="modern-report__section-title">Panel overview</h3>
2669            <p class="modern-report__section-subtitle">The AI team behind this report.</p>
2670          </div>
2671        </div>
2672      </div>
2673      <div class="modern-report__section-body modern-report__panel-overview">
2674        <div class="modern-report__panel-intro">
2675          <div>
2676            <h4 class="modern-report__panel-name">${t(i)}</h4>
2677            ${a?`<p class="modern-report__panel-description">${t(a)}</p>`:``}
2678          </div>
2679          <p class="modern-report__panel-composition">${t(o)}</p>
2680        </div>
2681        <div class="modern-report__panel-models" role="list" aria-label="Models in this panel">
2682          ${n.map(e=>`
2683            <article class="modern-report__panel-model" role="listitem">
2684              <div class="modern-report__panel-model-logo" aria-hidden="true">
2685                ${e.providerLogo?`<img src="${t(e.providerLogo)}" alt="">`:`<span>AI</span>`}
2686              </div>
2687              <div class="modern-report__panel-model-copy">
2688                ${e.provider?`<p class="modern-report__panel-model-provider">${t(e.provider)}</p>`:``}
2689                <h5 class="modern-report__panel-model-name">${t(e.displayName||`AI model`)}</h5>
2690                ${e.description?`<p class="modern-report__panel-model-description">${t(e.description)}</p>`:``}
2691              </div>
2692            </article>
2693          `).join(``)}
2694        </div>
2695      </div>
2696    </section>
2697  `}function Ce({userMessage:e=null,responses:t=[],synthesis:n=null,turnIndex:r=null,includeModelResponses:i=!0,panelOverview:a=null,formatExportTimestamp:o,normalizeValidationFindings:s,getKeyTakeaways:c,getActionableItems:l,getUniqueInsights:u,getNotableOutliers:d,formatPlainTextToHtml:f,escapeHtml:p,renderQualityScoresSection:m,renderValidationFindingsSection:h,renderInsightsSection:g,renderModelResponsesSection:_}={}){let v=n?o(n):null,y=e?o(e):null,b=s(n),x=c(n).length+l(n).length+u(n).length+d(n).length,S=!!a&&(r===null||r===0);return`
2698    <article class="modern-report__turn conversation-report">
2699      <div class="modern-report__turn-header conversation-report__heading">
2700        <span class="modern-report__turn-label conversation-report__label">CONVERSATION REPORT</span>
2701        <span class="conversation-report__turn">${r===null?``:p(String(`Turn ${r+1}`).toUpperCase())}</span>
2702      </div>
2703
2704      ${e?.content?`
2705        <section class="conversation-report__prompt-card page-break-avoid" data-report-section="prompt">
2706          <div class="conversation-report__prompt-content">
2707            <div class="conversation-report__prompt-label">PROMPT</div>
2708            <blockquote class="conversation-report__prompt-text">${f(e.content)}</blockquote>
2709            <div class="conversation-report__prompt-date"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/></svg> <span>${p(y||``)}</span></div>
2710          </div>
2711        </section>
2712      `:``}
2713
2714      ${S?Se(a,{escapeHtml:p}):``}
2715
2716      ${n?.content?`
2717        <section class="conversation-report__answer-card page-break-avoid" data-report-section="answer">
2718          <div class="conversation-report__answer-header">
2719            <div class="conversation-report__answer-icon">S</div>
2720            <div class="conversation-report__answer-title-wrap">
2721              <h3 class="conversation-report__answer-title">Distilled Answer</h3>
2722              <p class="conversation-report__answer-subtitle">A concise answer shaped by the selected models.</p>
2723            </div>
2724          </div>
2725          <div class="conversation-report__answer-sep" aria-hidden="true"></div>
2726          <div class="conversation-report__answer-body">${f(n.content)}</div>
2727
2728          <div class="conversation-report__metrics">
2729            <div class="conversation-report__metric">
2730              <div class="conversation-report__metric-icon">
2731                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/></svg>
2732              </div>
2733              <div>
2734                <div class="conversation-report__metric-label">SYNTHESIZED</div>
2735                <div class="conversation-report__metric-value">${p(v||``)}</div>
2736              </div>
2737            </div>
2738
2739            <div class="conversation-report__metric">
2740              <div class="conversation-report__metric-icon">
2741                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/></svg>
2742              </div>
2743              <div>
2744                <div class="conversation-report__metric-label">MODELS</div>
2745                <div class="conversation-report__metric-value">${p(String(t?.length||0))}</div>
2746              </div>
2747            </div>
2748
2749            <div class="conversation-report__metric">
2750              <div class="conversation-report__metric-icon">
2751                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M3 3v18h18"/><path d="M18 7v14"/><path d="M13 11v10"/><path d="M8 15v6"/></svg>
2752              </div>
2753              <div>
2754                <div class="conversation-report__metric-label">FINDINGS</div>
2755                <div class="conversation-report__metric-value">${p(String(b.length||0))}</div>
2756              </div>
2757            </div>
2758
2759            <div class="conversation-report__metric conversation-report__metric--insight">
2760              <div class="conversation-report__metric-icon">
2761                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18h6"/><path d="M12 2v6"/><path d="M5 11a7 7 0 0 1 14 0c0 3.314-2.686 6-6 6h-2c-3.314 0-6-2.686-6-6z"/></svg>
2762              </div>
2763              <div>
2764                <div class="conversation-report__metric-label">INSIGHTS</div>
2765                <div class="conversation-report__metric-value">${p(String(x||0))}</div>
2766              </div>
2767            </div>
2768          </div>
2769        </section>
2770      `:``}
2771
2772      ${n?.content?``:`
2773        <section class="modern-report__section modern-report__section--synthesis page-break-avoid" data-report-section="answer">
2774          <div class="modern-report__section-header">
2775            <div class="modern-report__section-heading">
2776              <span class="modern-report__section-icon">S</span>
2777              <div>
2778                <h3 class="modern-report__section-title">Distilled Answer</h3>
2779                <p class="modern-report__section-subtitle">No synthesized answer was available for this turn.</p>
2780              </div>
2781            </div>
2782          </div>
2783        </section>
2784      `}
2785
2786      ${m(n)}
2787      ${h(n)}
2788      ${g(n)}
2789      ${i?_(t):``}
2790    </article>
2791  `}var we=1e3;function U(e,t,n){let r=new Blob([e],{type:n}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=t,document.body.append(a),a.click(),a.remove(),setTimeout(()=>{URL.revokeObjectURL(i)},we)}function W(e){return`iaviews_chat_${(e||`session`).replace(/[^a-z0-9]/gi,`_`).toLowerCase()}_${new Date().toISOString().slice(0,10)}`}function G({content:n,fileName:r,mimeType:i,errorContext:a}){try{U(n,r,i)}catch(n){e(`Failed to ${a}`,t(n,{context:`use-chat-export.export-file`,includeBackendMessage:!0,extra:{fileName:r,mimeType:i}}))}}function Te(e,t=`No content provided.`){let n=(String(e||``).replace(/\r\n/g,`
2792`).trim()||t).split(/\n{2,}/).map(e=>e.trim()).filter(Boolean);return n.length?n.map(e=>`<p>${a(e).replace(/\n/g,`<br>`)}</p>`).join(``):`<p>${a(t)}</p>`}function Ee(e){let t=String(e||``).replace(/[_-]+/g,` `).trim();return t?t.replace(/\b([a-z])/g,e=>e.toUpperCase()):``}function K(e=[]){let t=e.filter(e=>e?.label&&e?.value);return t.length?`
2793    <dl class="modern-report__chat-facts">
2794      ${t.map(e=>`
2795        <div class="modern-report__chat-fact">
2796          <dt>${a(e.label)}</dt>
2797          <dd>${a(e.value)}</dd>
2798        </div>
2799      `).join(``)}
2800    </dl>
2801  `:``}function q(e=[],t=`neutral`){let n=e.filter(Boolean);return n.length?`
2802    <div class="modern-report__chips modern-report__chips--compact">
2803      ${n.map(e=>`<span class="modern-report__chip ${De(t)}">${a(e)}</span>`).join(``)}
2804    </div>
2805  `:``}function De(e=`neutral`){return e===`action`?`is-teal`:e===`insight`?`is-plum`:e===`warning`?`is-amber`:e===`support`?`is-sky`:`is-slate`}function Oe(e,t=[],n,r=`unique`){if(!t.length)return``;let i={takeaways:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18h6"/><path d="M10 22h4"/><path d="M8.5 14.5A6 6 0 1 1 15.5 14.5C14.5 15.2 14 16 14 17h-4c0-1-.5-1.8-1.5-2.5Z"/></svg>`,actions:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m5 12 4 4L19 6"/><path d="M21 12a9 9 0 1 1-5.3-8.2"/></svg>`,unique:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m12 3 1.6 4.4L18 9l-4.4 1.6L12 15l-1.6-4.4L6 9l4.4-1.6L12 3Z"/><path d="m19 15 .8 2.2L22 18l-2.2.8L19 21l-.8-2.2L16 18l2.2-.8L19 15Z"/></svg>`,outliers:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 3v18h18"/><path d="m7 15 4-4 3 3 5-7"/><path d="M19 7v5h-5"/></svg>`},o=Object.hasOwn(i,r)?r:`unique`;return`
2806    <section class="modern-report__section modern-report__section--insights modern-report__section--insights-${o} page-break-avoid" data-report-section="insights">
2807      <div class="modern-report__section-header">
2808        <div class="modern-report__section-heading">
2809          <span class="modern-report__section-icon" aria-hidden="true">${i[o]}</span>
2810          <div>
2811            <h3 class="modern-report__section-title">${a(e)}</h3>
2812          </div>
2813        </div>
2814        <span class="modern-report__section-count" aria-label="${a(String(t.length))} items">${a(String(t.length))}</span>
2815      </div>
2816      <div class="modern-report__section-body modern-report__section-body--insights">
2817        ${t.map((e,t)=>n(e,t)).join(``)}
2818      </div>
2819    </section>
2820  `}function ke(e){return ve(e,{getValidationQualityScoreEntries:f,hasValue:y,escapeHtml:a})}function Ae(e){return e?.modelName?i(e.modelName):{}}function J(e){return String(e||``).replace(/[*_`#]/g,``).replace(/\s+/g,` `).trim()}function Y(e,t=[]){let n=Array.isArray(e?.normalizedSupportedModels)&&e.normalizedSupportedModels.length?e.normalizedSupportedModels:Array.isArray(e?.supportedModels)?e.supp
2820ortedModels:[],r=n.length?n:t.map(e=>({modelId:e?.modelId,modelKey:e?.modelName,displayName:e?.modelName})),a=new Map;r.forEach((e,t)=>{let n=e&&typeof e==`object`?e:{modelKey:e},r=n.modelKey??n.identifier??n.modelId??n.id??n.name??n.displayName,o=String(r??`model-${t}`).trim()||`model-${t}`;if(a.has(o))return;let s=r?i(r):{};a.set(o,{displayName:String(n.displayName||n.name||s?.displayName||r||`AI model`).trim(),provider:String(n.provider||s?.provider||``).trim(),providerLogo:String(n.providerLogo||s?.providerLogo||``).trim(),description:J(n.description||n.shortDescription||``)})});let o=[...a.values()];return o.length?{name:J(e?.label||e?.name||`AI panel`),description:J(e?.description||e?.shortDescription||``),providerCount:new Set(o.map(e=>e.provider).filter(Boolean)).size,models:o}:null}function X(e){return ye(e,{normalizeValidationFindings:u,getValidationSeverityBandMeta:l,formatModelNames:s,escapeHtml:a})}function je(e){return be(e,{getKeyTakeaways:x,getActionableItems:w,getUniqueInsights:C,getNotableOutliers:T,renderSectionCards:Oe,renderChipList:q,getResponseDisplayName:_,formatLabel:Ee,hasValue:y,escapeHtml:a})}function Me(e=[]){return xe(e,{renderChipList:q,getResponseStatusLabel:v,getResponseDisplayName:_,getResponseModelPresentation:Ae,formatProcessingTime:c,formatTokenTotal:te,renderMarkdown:o,escapeHtml:a})}function Ne(e={}){return Ce({...e,formatExportTimestamp:h,normalizeValidationFindings:u,getKeyTakeaways:x,getActionableItems:w,getUniqueInsights:C,getNotableOutliers:T,renderMetaList:K,formatPlainTextToHtml:Te,escapeHtml:a,renderQualityScoresSection:ke,renderValidationFindingsSection:X,renderInsightsSection:je,renderModelResponsesSection:Me})}function Z({group:e,turnIndex:t=null,reportLabel:n=`Turn report`,panelOverview:r=null}={}){return Ne({userMessage:e?.userMessage??null,responses:e?.responses??[],synthesis:e?.synthesis??null,turnIndex:t,includeModelResponses:!0,reportLabel:n,panelOverview:r})}function Pe(e=[],t,n=null){return e.map((e,r)=>Z({group:e,turnIndex:r,reportLabel:t,panelOverview:r===0?n:null})).join(``)}function Q(e={}){return _e({...e,baseHref:j()||``,exportedAt:h(new Date),turnCount:(e.body?.match(/class="modern-report__turn"/g)||[]).length,escapeHtml:a,renderMetaList:K})}function Fe(e,t,n){G({content:b(e,t,n),fileName:`${W(t)}.md`,mimeType:`text/markdown;charset=utf-8`,errorContext:`export chat as Markdown`})}function Ie(e,t){G({content:JSON.stringify(e??[],null,2),fileName:`${W(t)}.json`,mimeType:`application/json;charset=utf-8`,errorContext:`export raw chat JSON`})}function Le(e,t){U(e,t,`application/json;charset=utf-8`)}function $(n,i){e(`Failed to open printer-friendly report`,t(n,{context:`use-chat-export.open-printer-friendly-report`,includeErrorPreview:!0,includeStackPreview:!0,extra:{reportScope:i}})),r(`Export failed`,`Unable to open the printer-friendly report. Please try again.`)}async function Re({userMessage:n=null,responses:r=[],synthesis:i=null,sessionTitle:a=``,productName:o=`Views`,turnIndex:s=null,panel:c=null}={}){try{let l=Y(c,r);return await B({body:Z({group:{userMessage:n,responses:r,synthesis:i},turnIndex:s,reportLabel:`Turn report`,panelOverview:l}),title:z(a,`Turn report`),productName:o,buildPrintDocumentHtml:Q,logError:e,toErrorLogMeta:t})}catch(e){return $(e,`turn`),!1}}async function ze(n=[],r=``,i=`Views`,a=null){try{let o=S(n);return o.length?await B({body:Pe(o,`Conversation report`,Y(a,o.flatMap(e=>e.responses||[]))),title:z(r,`Print report`),productName:i,buildPrintDocumentHtml:Q,logError:e,toErrorLogMeta:t}):!1}catch(e){return $(e,`chat`),!1}}export{re as buildFullSynthesisMarkdown,ee as buildModelAnswersMarkdown,ne as buildSynthesisAnswerMarkdown,w as getActionableItems,g as getFallbackInsights,x as getKeyTakeaways,T as getNotableOutliers,C as getUniqueInsights,f as getValidationQualityScoreEntries,m as getValidationQualityScores,d as getValidationSkipReason,S as groupMessages,p as isValidationSkipped,u as normalizeValidationFindings,ze as openChatPrinterFriendlyReport,Re as openTurnPrinterFriendlyReport,Fe as saveChat,Le as saveChatDebugExport,Ie as saveChatJson};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.