:root { --bg:#000; --fg:#a3a3a3; --hi:#cfcfcf; --dim:#6e6e6e; --line:#1c1c1c; --line-2:#2a2a2a; --ok:#00ff41; }
* { box-sizing:border-box; }
html, body { margin:0; padding:0; min-height:100%; background:var(--bg); color:var(--fg); overflow-x:clip; max-width:100%; }
body {
  font-family:"Roboto", Helvetica, Arial, sans-serif; font-weight:300;
  font-size:14px; line-height:1.55; letter-spacing:0.01em;
  -webkit-font-smoothing:antialiased;
  background-image:
    linear-gradient(rgba(255,255,255,0.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.028) 1px, transparent 1px);
  background-size:48px 48px; background-position:-1px -1px;
}
header, main { width:100%; max-width:1360px; margin:0 auto; padding:28px 32px 80px; }
header { padding-bottom:0; }
main { padding-top:0; }
.bar {
  display:grid; grid-template-columns:auto minmax(0,1fr) auto;
  align-items:end; gap:24px;
  padding-bottom:16px; margin-bottom:28px;
  border-bottom:1px solid var(--line);
  min-width:0;
}
.brand { display:inline-block; margin:0; }
.brand img { display:block; height:32px; width:auto; margin:0; }
.id { color:var(--dim); font-size:11px; letter-spacing:0.22em; text-transform:uppercase; }
nav { display:flex; flex-wrap:wrap; gap:18px; align-items:center; justify-self:end; }
nav a {
  color:var(--dim); text-decoration:none;
  font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
}
nav a:hover, nav a.on { color:var(--hi); }
h1 { font-size:14px; font-weight:300; margin:0 0 8px; color:var(--hi); letter-spacing:0.18em; text-transform:uppercase; }
.meta { color:var(--dim); font-variant-numeric:tabular-nums; margin-bottom:16px; }
.brief { margin:0 0 28px; max-width:46rem; }
article.report { max-width:46rem; margin:0 0 48px; }
article.report h2 {
  font-size:14px; font-weight:300; color:var(--hi);
  letter-spacing:0.04em; margin:0 0 12px;
}
article.report p { margin:0 0 12px; }
article.report ul { margin:0 0 12px; padding-left:1.2rem; }
article.report li { margin:0 0 6px; }
article.report a { color:var(--hi); text-decoration:none; }
article.report a:hover { color:#fff; }
.sources { color:var(--dim); font-size:12px; margin-top:20px; }
.sources a { color:var(--dim); }
.archive h2 {
  font-size:11px; font-weight:300; letter-spacing:0.18em; text-transform:uppercase;
  color:var(--dim); margin:0 0 14px;
}
.archive a {
  display:block; color:var(--dim); text-decoration:none;
  padding:8px 0; border-bottom:1px solid var(--line);
  font-variant-numeric:tabular-nums;
}
.archive a:hover { color:var(--hi); }
.empty { color:var(--dim); max-width:46rem; }
.foot { color:var(--dim); font-size:12px; margin:40px 0 0; max-width:46rem; font-variant-numeric:tabular-nums; }
h2.sec {
  font-size:11px; font-weight:300; letter-spacing:0.18em; text-transform:uppercase;
  color:var(--dim); margin:36px 0 14px;
}
.kpis {
  display:grid; grid-template-columns:repeat(auto-fill, minmax(160px, 1fr));
  gap:12px 16px; margin:8px 0 8px;
}
.kpi { border:1px solid var(--line); padding:12px 14px; }
.kpi span { display:block; color:var(--dim); font-size:11px; letter-spacing:0.16em; text-transform:uppercase; margin-bottom:6px; }
.kpi strong { display:block; color:var(--hi); font-weight:300; font-variant-numeric:tabular-nums; }
.kpi strong.pos { color:var(--ok); }
.kpi strong.neg { color:#ff1744; }
.lv { width:100%; height:min(56vh, 480px); min-height:320px; border:1px solid var(--line); background:#000; }
.chart-note { color:var(--dim); font-size:12px; margin:8px 0 0; max-width:46rem; }
.alloc { display:flex; flex-direction:column; gap:10px; max-width:46rem; }
.alloc-row { display:grid; grid-template-columns:140px minmax(0,1fr) auto; gap:10px; align-items:center; font-variant-numeric:tabular-nums; }
.alloc-row span { color:var(--hi); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.alloc-row i { display:block; height:6px; background:var(--ok); min-width:2px; }
.alloc-row em { color:var(--dim); font-style:normal; font-size:12px; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; }
th { text-align:left; color:var(--dim); font-size:11px; letter-spacing:0.16em; text-transform:uppercase; font-weight:300; padding:8px 10px 8px 0; border-bottom:1px solid var(--line-2); }
td { padding:8px 10px 8px 0; border-bottom:1px solid var(--line); }
td.pos { color:var(--ok); }
td.neg { color:#ff1744; }
.team { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:20px; margin-top:12px; }
.team article { border:1px solid var(--line); padding:20px 18px 8px; }
.team h2 { font-size:14px; font-weight:300; color:var(--hi); letter-spacing:0.08em; margin:0 0 6px; }
.team .role { color:var(--dim); font-size:11px; letter-spacing:0.16em; text-transform:uppercase; margin:0 0 12px; }
@media (max-width: 720px) {
  header, main { padding:18px 16px 56px; }
  .bar { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin-bottom:20px; padding-bottom:12px; }
  .id { display:none; }
  nav { flex:1 1 100%; justify-content:flex-start; gap:8px 12px; }
  nav a { font-size:10px; letter-spacing:0.14em; }
  .brand img { height:24px; }
}
