/* prototype.report */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: #ffffff; color: #1a1a1a; font-family: 'Inter', sans-serif; font-weight: 400; line-height: 1.8; }
html { background: #f9fafb; }
.blue-line-top { height: 2px; background: #2563eb; }
.title { max-width: 800px; margin: 0 auto; padding: 3rem 2rem 2rem; }
.brand { font-family: 'Space Grotesk', sans-serif; font-weight: 600; font-size: clamp(1.5rem, 3vw, 2rem); }
.subtitle { font-size: 0.85rem; color: #6b7280; margin-top: 0.2rem; }
.report-meta { display: flex; gap: 1.5rem; margin-top: 1rem; }
.meta-item { font-family: 'IBM Plex Mono', monospace; font-size: 0.65rem; color: #6b7280; }
.abstract-label { font-family: 'Space Grotesk', sans-serif; font-size: 0.6rem; letter-spacing: 0.15em; color: #6b7280; margin-top: 1.5rem; text-transform: uppercase; }
.abstract { font-size: 0.85rem; color: #374151; margin-top: 0.3rem; }
.report-layout { max-width: 800px; margin: 0 auto; padding: 1rem 2rem 3rem; display: grid; grid-template-columns: 180px 1fr; gap: 2rem; }
.sidebar { position: sticky; top: 20px; align-self: start; }
.toc { border-right: 1px solid #e5e7eb; padding-right: 1rem; }
.toc-link { display: block; font-size: 0.75rem; color: #6b7280; text-decoration: none; padding: 0.3rem 0; }
.toc-link.active { color: #2563eb; border-left: 2px solid #2563eb; padding-left: 0.5rem; }
.content { }
.report-section { margin-bottom: 2rem; }
.section-heading { font-family: 'Space Grotesk', sans-serif; font-weight: 600; font-size: 1.1rem; border-bottom: 1px solid #e5e7eb; padding-bottom: 0.5rem; margin-bottom: 1rem; }
.section-num { font-family: 'IBM Plex Mono', monospace; font-size: 0.85rem; color: #6b7280; margin-right: 0.5rem; }
.body-text { font-size: 0.85rem; color: #374151; }
.result-table { width: 100%; border-collapse: collapse; font-size: 0.8rem; margin-top: 0.5rem; }
.result-table th { background: #f3f4f6; font-family: 'Space Grotesk', sans-serif; font-weight: 600; text-align: left; padding: 0.5rem 0.8rem; border: 1px solid #e5e7eb; }
.result-table td { padding: 0.5rem 0.8rem; border: 1px solid #e5e7eb; }
.result-table .mono { font-family: 'IBM Plex Mono', monospace; }
.pass { color: #16a34a; font-weight: 600; }
.fail { color: #dc2626; font-weight: 600; }
.appendix { max-width: 800px; margin: 0 auto; padding: 0 2rem 4rem; }
.section-rule { border: none; border-top: 1px solid #e5e7eb; margin-bottom: 1.5rem; }
.end-label { font-size: 0.75rem; color: #9ca3af; margin-top: 2rem; }
@media (max-width: 640px) { .report-layout { grid-template-columns: 1fr; } .sidebar { display: none; } }
.fade-in { opacity: 0; transform: translateY(12px); transition: opacity 0.5s ease, transform 0.5s ease; }
.fade-in.visible { opacity: 1; transform: translateY(0); }
