:root {
    --doc-bg: #fdfdfd;
    --doc-text: #222222;
    --doc-muted: #666666;
    --doc-border: #e0e0e0;
    --doc-accent: #0044cc;
    --doc-highlight: #f0f4f8;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
body {
    background-color: var(--doc-bg);
    color: var(--doc-text);
    font-family: 'Times New Roman', Times, serif; /* Academic paper feel */
    line-height: 1.6;
    font-size: 16px;
}
a { text-decoration: none; color: var(--doc-accent); transition: 0.2s;}
a:hover { text-decoration: underline; }

/* Wrapper - Looks like a document */
.paper {
    max-width: 850px; margin: 40px auto; background: #fff;
    padding: 60px 80px; box-shadow: 0 0 20px rgba(0,0,0,0.05);
    border: 1px solid var(--doc-border);
}

/* Header / Title block */
.paper-header { border-bottom: 2px solid var(--doc-text); padding-bottom: 20px; margin-bottom: 30px; text-align: center;}
.doc-type { font-size: 12px; text-transform: uppercase; color: var(--doc-muted); margin-bottom: 10px; letter-spacing: 1px;}
.title { font-size: 32px; font-weight: bold; margin-bottom: 15px; line-height: 1.2;}
.authors { font-size: 14px; font-style: italic; color: var(--doc-muted); }

/* Navigation (Abstract style) */
.nav-abstract { background: var(--doc-highlight); padding: 20px; border-radius: 4px; margin-bottom: 40px; border-left: 4px solid var(--doc-accent);}
.nav-abstract h3 { font-size: 14px; text-transform: uppercase; margin-bottom: 10px; font-family: Arial, sans-serif;}
.nav-links { display: flex; gap: 15px; flex-wrap: wrap; font-family: Arial, sans-serif; font-size: 14px;}
.nav-links a { font-weight: bold; }
.btn-dl { background: var(--doc-accent); color: #fff; padding: 5px 15px; border-radius: 3px; font-weight: bold; text-decoration: none !important;}
.btn-dl:hover { background: #003399; }

/* Headings */
h2 { font-size: 20px; border-bottom: 1px solid var(--doc-border); padding-bottom: 5px; margin: 40px 0 20px; font-family: Arial, sans-serif;}
h3 { font-size: 16px; margin: 20px 0 10px; font-family: Arial, sans-serif;}

/* Hero / Introduction */
.intro { text-indent: 2em; text-align: justify; margin-bottom: 20px;}
.intro-acts { text-align: center; margin: 30px 0; }
.intro-acts a { margin: 0 10px; }

/* Two column text for features */
.two-col-text { display: column-count; column-count: 2; column-gap: 40px; text-align: justify; margin-bottom: 40px;}
.feature-para { margin-bottom: 15px; }

/* Figures / Tables for Stats & Nodes */
.figure-box { border: 1px solid var(--doc-border); padding: 20px; margin: 30px 0; background: #fafafa;}
.fig-caption { font-size: 12px; font-style: italic; text-align: center; margin-top: 10px; color: var(--doc-muted); border-top: 1px solid var(--doc-border); padding-top: 5px;}

.stats-table { width: 100%; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; text-align: center;}
.stats-table th { border-top: 2px solid var(--doc-text); border-bottom: 1px solid var(--doc-text); padding: 10px; font-weight: bold;}
.stats-table td { border-bottom: 1px solid var(--doc-border); padding: 10px; }
.stats-table tr:last-child td { border-bottom: 2px solid var(--doc-text); }

/* List for trust */
.trust-list { list-style-type: square; margin-left: 40px; margin-bottom: 30px; font-family: Arial, sans-serif; font-size: 14px;}
.trust-list li { margin-bottom: 5px; }

/* Citations style for Reviews */
.citation { margin-bottom: 15px; padding-left: 30px; text-indent: -30px; font-size: 14px;}
.citation b { font-family: Arial, sans-serif;}

/* FAQ - Q&A Format */
.qa-block { margin-bottom: 20px; }
.qa-q { font-weight: bold; font-family: Arial, sans-serif; cursor: pointer; color: var(--doc-accent);}
.qa-a { margin-top: 5px; text-indent: 2em; display: none;}

.footer { margin-top: 60px; padding-top: 20px; border-top: 1px solid var(--doc-border); text-align: center; font-size: 12px; color: var(--doc-muted); font-family: Arial, sans-serif;}

@media (max-width: 800px) {
    .paper { padding: 30px 20px; margin: 10px; }
    .two-col-text { column-count: 1; }
    .title { font-size: 24px; }
}