:root {
  --bg:#0e0f12;
  --ink:#e8e6e1;
  --muted:#8c8a86;
  --line:rgba(255,255,255,0.08);
}

* { box-sizing:border-box; }

body {
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family: 'Inter', sans-serif;
  font-weight:300;
}

.mast {
  text-align:center;
  padding:80px 20px 40px;
}

h1 {
  font-family:'Cormorant Garamond', serif;
  font-weight:500;
  letter-spacing:0.08em;
  font-size:28px;
  margin:0;
}

.sub {
  margin-top:10px;
  font-size:13px;
  color:var(--muted);
}

.archive {
  max-width:700px;
  margin:0 auto;
  padding:20px;
  display:flex;
  flex-direction:column;
  gap:40px;
}

.artifact {
  border-top:1px solid var(--line);
  padding-top:20px;
  cursor:pointer;
  transition:opacity 0.2s ease;
}

.artifact:hover {
  opacity:0.6;
}

.artifact h2 {
  font-family:'Cormorant Garamond', serif;
  font-weight:400;
  font-size:22px;
  margin:0 0 8px 0;
}

.meta {
  font-size:12px;
  color:var(--muted);
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.redacted {
  opacity:0.5;
  cursor:default;
}

.viewer {
  border:none;
  background:transparent;
}

.viewer::backdrop {
  background:rgba(0,0,0,0.7);
}

.viewer-inner {
  background:#121318;
  max-width:700px;
  margin:auto;
  padding:40px;
  border:1px solid var(--line);
}

.viewer h2 {
  font-family:'Cormorant Garamond', serif;
  font-weight:400;
  margin-top:0;
}

.content {
  margin-top:20px;
  line-height:1.6;
}

.close {
  position:absolute;
  right:20px;
  top:20px;
  background:none;
  border:none;
  color:var(--muted);
  font-size:22px;
  cursor:pointer;
}

.signal-toggle {
  position:fixed;
  bottom:20px;
  right:20px;
  font-size:12px;
  color:var(--muted);
  cursor:pointer;
  user-select:none;
}
