/* report.css - extracted from inline styles */
:root{--accent:#0F4761;--text:#1F2328}
h1{font-family:"Aptos Display", "Segoe UI", sans-serif; color:var(--accent); font-size:20pt; margin:0 0 12px}
h2{font-family:"Aptos Display", sans-serif; color:var(--accent); font-size:16pt; margin:0 0 8px}

body{font-family: "Aptos", "Segoe UI", Roboto, -apple-system, system-ui, sans-serif; color:var(--text); background:#ffffff; margin:0; padding:0}
.report-container{background:#f7f7f7; max-width:980px; margin:36px auto; padding:32px 42px; display:grid; grid-template-columns: 1fr 300px; gap:36px; align-items:start}
h1{font-family:"Aptos Display", "Segoe UI", sans-serif; color:var(--accent); font-size:20pt; margin:0 0 12px}
h2{font-family:"Aptos Display", sans-serif; color:var(--accent); font-size:16pt; margin:0 0 8px}
h3{font-family:"Aptos",sans-serif; color:var(--accent); font-size:14pt; margin:0 0 8px}
p, li{line-height:1.45; margin:0 0 12px; color:var(--text)}
img{max-width:100%; height:auto; display:block; margin:12px auto}
ul,ol{margin:0 0 12px 18px}
a{color:#467886}
.report-container h1, .report-container h2, .report-container h3 { color: #0F4761 }
.report-container p, .report-container li { line-height:1.6; color:#1F2328 }
.report-main p { margin:0 0 18px }

/* improved heading spacing within the main content */
.report-main h1{margin:0 0 18px}
.report-main h2{margin:22px 0 12px}
.report-main h3{margin:18px 0 12px}
.report-main h4{margin:14px 0 10px}
.report-main h5{margin:12px 0 8px}
.report-body-bg { background:#f2f2f2 }

/* Table of contents (right column) */
.toc{font-size:0.94rem}
.toc h4{margin:0 0 12px; font-size:0.98rem}
.toc .toc-title{display:none; margin:0 0 12px; font-size:1rem; color:var(--accent); font-weight:600}
.toc ul{list-style:none; margin:0; padding:0}
.toc li{margin:10px 0; padding-left:8px}
/* Indent TOC items that are not H3 (lvl-3). lvl-4 and deeper get extra padding */
.toc li:not(.lvl-3){padding-left:24px}
.toc li.lvl-4{padding-left:24px}
.toc li.lvl-5{padding-left:36px}
.toc a{color:#467886; text-decoration:none}
.toc a:hover{color:#0F4761}
.toc{position:sticky; top:28px; padding:14px 16px; background:#ffffff; border-left:1px solid #ececec; border-radius:6px}

/* Notebook download button under TOC */
.toc-download{margin-top:12px; display:flex; justify-content:center}
.btn-download{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:var(--accent);color:#fff;border-radius:6px;text-decoration:none;font-weight:600}
.btn-download svg{width:18px;height:18px;display:block}
.btn-download:hover{background:#0c3a4a}

@media (max-width:880px){
	.report-container{grid-template-columns:1fr; padding:20px}
	.toc{position:static; margin-top:18px}
}

/* Responsive: make the TOC an accordion at small widths and move it above the content */
@media (max-width:880px){
	.report-container{display:flex; flex-direction:column}
	.toc{order:-1; width:100%; margin-bottom:18px}
	/* show the details summary as the collapsed header */
	.toc-details summary{display:block; cursor:pointer; padding:12px 14px; background:#ffffff; border:1px solid #ececec; border-radius:6px; font-weight:600}
	.toc-details summary{display:flex; align-items:center; justify-content:space-between}
	.toc-details summary::after{content:"\25B6"; /* right-pointing triangle */ display:inline-block; margin-left:12px; transform-origin:center; transition:transform .18s ease; color:#467886}
	.toc-details[open] summary::after{transform:rotate(90deg);}
	/* hide the UL inside details until opened */
	.toc-details ul{display:none; margin-top:10px}
	.toc-details[open] ul{display:block}
}

/* Desktop: show TOC list and hide the summary header inside details */
@media (min-width:881px){
	.toc-details summary{display:none}
	.toc-details ul{display:block}
	/* show a persistent title for the TOC on larger screens */
	.toc .toc-title{display:block}
}

	/* Back-to-top button (mobile) */
	#back-to-top{display:none; position:fixed; right:16px; bottom:18px; z-index:1200; width:44px; height:44px; border-radius:22px; background:#0F4761; color:#fff; border:none; align-items:center; justify-content:center; font-size:20px; box-shadow:0 6px 18px rgba(0,0,0,0.12); cursor:pointer; opacity:0; transform:translateY(8px); transition:opacity .18s ease, transform .18s ease}
	#back-to-top.visible{opacity:1; transform:none}

	@media (max-width:880px){
		#back-to-top{display:flex}
	}

	/* SVG sizing inside the button */
	#back-to-top svg{width:18px;height:18px;display:block}

	/* Fullscreen image modal */
	.img-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,0.85);z-index:1400}
	.img-modal.open{display:flex}
	.img-modal .img-wrap{max-width:100%;max-height:100%;padding:18px}
.img-modal .img-wrap img{max-width:96vw;max-height:86vh;width:auto;height:auto;display:block;object-fit:contain;transition:transform 200ms ease;will-change:transform;cursor:zoom-in;touch-action:none}
	.img-modal .close-btn{position:absolute;top:14px;right:14px;background:transparent;border:none;color:#fff;font-size:28px;cursor:pointer}
	.img-modal .caption{position:absolute;left:24px;right:24px;bottom:22px;color:#fff;font-size:0.95rem;text-align:center;opacity:0.95}

/* Zoom controls */
.img-modal .zoom-controls{position:absolute;right:1rem;top:3.6rem;display:flex;flex-direction:column;gap:0.4rem}
.img-modal .zoom-controls button{background:rgba(0,0,0,0.6);border:0;color:#fff;padding:.35rem .5rem;border-radius:4px;font-size:16px;line-height:1;cursor:pointer}
.img-modal .img-wrap.panning img{cursor:grabbing}

@media (max-width:720px){
  .img-modal .img-wrap{max-width:96vw;max-height:78vh}
  .img-modal .caption{font-size:0.8rem}
}

	@media (max-width:880px){
		.img-modal .close-btn{font-size:22px;top:10px;right:10px}
		.img-modal .caption{font-size:0.9rem;bottom:14px}
	}

	/* Disclaimer styling */
	.disclaimer{font-size:0.95rem; color:#4b5563; background:#fffdf6; border-left:4px solid #f1c40f; padding:10px 12px; margin:12px auto; border-radius:4px; max-width:820px}

	/* Footer styling */
	.site-footer{max-width:720px; margin:8px auto 18px; text-align:center; color:#6b7280; font-size:0.92rem}
