
:root{

--paper:#f7f4ea;
--panel:#ffffff;

--ink:#1b1b1b;
--muted:#6c6c6c;

--accent:#2d4f6b;

--border:rgba(0,0,0,0.12);

--max-width:1050px;

}

/* -------------------------------------------------- */
/* BASE */
/* -------------------------------------------------- */

*{
box-sizing:border-box;
margin:0;
padding:0;
}

body{

background:var(--paper);
color:var(--ink);

font-family:"Merriweather",serif;

line-height:1.7;

}



/* -------------------------------------------------- */
/* HEADER */
/* -------------------------------------------------- */

header{

width:100%;

display:flex;
justify-content:space-between;
align-items:center;

padding:18px 40px;

border-bottom:1px solid var(--border);

background:#faf8f2;

}

.logo{

font-family:"Space Mono",monospace;
font-size:13px;
letter-spacing:1.5px;

}

nav a{

text-decoration:none;
font-family:"Space Mono",monospace;
font-size:12px;
color:var(--ink);

}



/* -------------------------------------------------- */
/* DOSSIER HEADER */
/* -------------------------------------------------- */

.dossier-header{

max-width:var(--max-width);
margin:auto;

display:grid;
grid-template-columns:2fr 1fr;

gap:60px;

padding:70px 25px;

border-bottom:1px solid var(--border);

}

.report-tag{

font-family:"Space Mono",monospace;
font-size:11px;
letter-spacing:2px;
color:var(--accent);

}

.title-block h1{

font-size:48px;
font-weight:700;

margin-top:8px;
margin-bottom:10px;

}

.publication-date{

font-family:"Space Mono",monospace;
font-size:12px;
color:var(--muted);

}



/* -------------------------------------------------- */
/* PARAMETER PANEL */
/* -------------------------------------------------- */

.params-panel{

background:var(--panel);

border:1px solid var(--border);

padding:25px;

}

.params-panel h3{

font-family:"Space Mono",monospace;
font-size:12px;

letter-spacing:1px;

margin-bottom:6px;

color:var(--accent);

}

.params-panel ul{

list-style:none;

margin-bottom:18px;

font-size:13px;

}



/* -------------------------------------------------- */
/* CONTENT SECTIONS */
/* -------------------------------------------------- */

section{

max-width:var(--max-width);
margin:auto;

padding:60px 25px;

border-bottom:1px solid var(--border);

position:relative;

}

section h2{

font-size:26px;

margin-bottom:18px;

}

section p{

font-size:15px;

margin-bottom:16px;

}

section ul{

margin-left:20px;
margin-bottom:20px;

}



/* -------------------------------------------------- */
/* EQUATIONS */
/* -------------------------------------------------- */

.equation{

text-align:center;

font-size:19px;

margin:25px 0;

}



/* -------------------------------------------------- */
/* FIGURE PANELS */
/* -------------------------------------------------- */

.figure-panel{

background:white;

border:1px solid var(--accent);

padding:18px;

margin:30px 0;

position:relative;

box-shadow:0 4px 10px rgba(0,0,0,0.04);

}

.figure-panel img{

width:100%;
display:block;

}

.figure-label{

position:absolute;

top:8px;
right:14px;

font-family:"Space Mono",monospace;

font-size:11px;
letter-spacing:1px;

color:var(--muted);

transform:rotate(-2deg);

}



/* -------------------------------------------------- */
/* CODE BLOCKS */
/* -------------------------------------------------- */

.code-block{

background:#0f1116;

color:#e7e7e7;

font-family:"Space Mono",monospace;

padding:20px;

font-size:13px;

border-radius:4px;

overflow-x:auto;

margin-top:18px;
margin-bottom:18px;

}



/* -------------------------------------------------- */
/* PDF EMBEDS */
/* -------------------------------------------------- */

.pdf-frame{

margin-top:30px;

border:1px solid var(--border);

background:white;

height:650px;

}



/* -------------------------------------------------- */
/* FOOTER */
/* -------------------------------------------------- */

footer{

max-width:var(--max-width);
margin:auto;

padding:40px 25px;

text-align:center;

font-size:13px;
color:var(--muted);

}