:root{
  --max-width:760px;
  --accent:#fff;
  --muted:#999;
  --paper-bg:#1e1e1e;
  --page-bg:#121212;
  --text-primary: #e0e0e0;
  --text-secondary: #aaaaaa;
  --serif: "Georgia", "Times New Roman", serif;
  --sans: system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --border-color: #333;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--sans);
  background:var(--page-bg);
  color: var(--text-primary);
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:40px 16px;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.paper{
  width:100%;
  max-width:var(--max-width);
  background:var(--paper-bg);
  padding:40px 48px;
  box-shadow:0 12px 40px rgba(0,0,0,0.5);
  border-radius:6px;
  color:var(--text-primary);
}

.paper-header{border-bottom:1px solid var(--border-color);padding-bottom:18px;margin-bottom:18px}
.title{
  font-family:var(--serif);
  font-size:20px;
  margin:0 0 8px 0;
  line-height:1.15;
}
.authors{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
  color:var(--muted);
  font-size:13px;
}
.authors .author{font-weight:600;color:var(--accent)}
.authors time{font-style:normal}

.abstract h2, .content h2{margin-top:18px;margin-bottom:8px;font-size:15px}
.abstract p, .content p{color:var(--text-secondary);line-height:1.55;margin:0 0 12px 0}
.content h3{margin:10px 0 6px 0;font-size:14px}

.refs{padding-left:18px;margin:0;color:var(--muted);font-size:13px}

.paper-footer{
  display:flex;
  justify-content:flex-end;
  margin-top:20px;
  gap:8px;
}
.btn{
  appearance:none;
  border:1px solid #444;
  background:#2a2a2a;
  color: #fff;
  padding:8px 12px;
  border-radius:6px;
  cursor:pointer;
  font-size:13px;
}
.btn:hover{background:#333}
@media (max-width:520px){
  body{padding:18px}
  .paper{padding:20px}
  .title{font-size:17px}
}

.equation-box {
    font-family: 'Times New Roman', Times, serif;
    font-style: italic;
    background: #252526;
    border: 1px solid #444;
    padding: 15px;
    margin: 20px 0;
    text-align: center;
    font-size: 1.1rem;
    border-radius: 4px;
    color: #e0e0e0;
}

figure {
    margin: 30px 0;
    padding: 0;
}

figure svg {
    width: 100%;
    height: auto;
    display: block;
}

figcaption {
    margin-top: 12px;
    padding: 8px 12px;
    background: #252526;
    border-left: 3px solid #336699;
    font-size: 13px;
    line-height: 1.5;
    color: #bbb;
}

.fig-number {
    font-weight: 700;
    color: #58a6ff;
}

.hero-figure {
    margin: 40px 0;
    text-align: center;
}

.hero-figure img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.6);
    border: 1px solid #444;
}

.diagram .axis-line { 
    stroke: #888; 
    stroke-width: 2; 
}

.diagram .grid-line { 
    stroke: #ddd; 
    stroke-width: 1; 
}

.diagram .data-line { 
    stroke: #003366; 
    stroke-width: 3; 
    fill: none; 
}

.diagram .data-point { 
    fill: #003366; 
    stroke: #fff; 
    stroke-width: 2; 
}

.diagram .label-text { 
    font-family: sans-serif; 
    font-size: 12px; 
    fill: #ccc; 
}

.diagram .annotation-text { 
    font-family: sans-serif; 
    font-size: 11px; 
    fill: #999; 
}

.diagram .phase-region { 
    fill: #e6f2ff; 
    opacity: 0.5; 
}