:root {
  --bg: #1a1e23;
  --card: #242a32;
  --text: #e8eaed;
  --muted: #9aa0a6;
  --accent: #6ea8fe;
  --accent2: #3d8bfd;
}
body.theme-hub { --accent: #5eead4; --accent2: #14b8a6; --bg: #141a19; }
body.theme-market { --accent: #93c5fd; --accent2: #2563eb; }
body.theme-marketplace { --accent: #c4b5fd; --accent2: #7c3aed; --card: #2a2438; }
body.theme-url { --accent: #86efac; --accent2: #16a34a; }
body.theme-brand { --accent: #fcd34d; --accent2: #d97706; --bg: #1c1917; }
body.theme-link { --accent: #67e8f9; --accent2: #0891b2; }
body.theme-link main { max-width: 820px; }
body.theme-link .onion { font-size: 0.72rem; }
body.theme-darknet { --accent: #f0abfc; --accent2: #c026d3; --bg: #18151c; }
body.theme-darknet .cta-hero { border: 1px solid #4a1d6a; }
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.55;
}
a { color: var(--accent); }
.top {
  display: flex;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #333;
}
.logo { font-weight: 700; text-decoration: none; color: var(--text); }
.host { color: var(--muted); font-size: 0.85rem; }
main { max-width: 720px; margin: 0 auto; padding: 1.5rem 1.25rem 3rem; }
.lead { font-size: 1.05rem; color: #cfd3d7; }
.cta-hero {
  background: var(--card);
  border-radius: 12px;
  padding: 1.25rem;
  margin: 1.5rem 0;
}
.mirror-grid { display: grid; gap: 1rem; margin-top: 1rem; }
@media (min-width: 640px) { .mirror-grid { grid-template-columns: repeat(3, 1fr); } }
.mirror-card {
  background: #1a1e23;
  border: 1px solid #3a424d;
  border-radius: 8px;
  padding: 0.75rem;
}
.onion {
  display: block;
  font-size: 0.65rem;
  word-break: break-all;
  margin: 0.5rem 0;
  color: #b8daff;
}
.btn {
  display: inline-block;
  padding: 0.5rem 0.85rem;
  border-radius: 6px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  font-size: 0.9rem;
}
.btn-primary { background: var(--accent2); color: #fff; }
.btn-secondary { background: #495057; color: #fff; }
.btn-ghost { background: transparent; color: var(--accent); border: 1px solid #495057; }
.mirror-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.mirror-disclaimer { font-size: 0.85rem; color: var(--muted); margin-top: 1rem; }
.hub-links ul { padding-left: 1.2rem; }
.faq details { margin: 0.75rem 0; background: var(--card); padding: 0.75rem; border-radius: 8px; }
footer {
  max-width: 720px;
  margin: 0 auto;
  padding: 2rem 1.25rem;
  font-size: 0.85rem;
  color: var(--muted);
  border-top: 1px solid #333;
}
.legal { max-width: 640px; margin: 2rem auto; padding: 1rem; }

/* Distinct layouts — not color swaps of one skeleton */
.layout-article .article-band { border-left: 4px solid var(--accent2); padding-left: 1rem; }
.layout-article .type-table, .layout-urls .url-table {
  width: 100%; border-collapse: collapse; font-size: 0.9rem; margin: 1rem 0 1.5rem;
}
.layout-article .type-table th, .layout-article .type-table td,
.layout-urls .url-table th, .layout-urls .url-table td {
  border: 1px solid #3a424d; padding: 0.45rem 0.6rem; text-align: left; vertical-align: top;
}
.layout-article main, body.theme-market main { max-width: 760px; }
.layout-checklist { display: grid; gap: 1.5rem; }
@media (min-width: 800px) {
  .layout-checklist { grid-template-columns: 160px 1fr; }
}
.layout-checklist .rail { margin: 0; padding-left: 1.1rem; font-size: 0.85rem; position: sticky; top: 1rem; }
body.theme-marketplace main { max-width: 920px; }
.layout-urls .url-table code { font-size: 0.68rem; word-break: break-all; }
body.theme-url main { max-width: 960px; }
.layout-magazine .mag-head { border-bottom: 2px solid var(--accent2); margin-bottom: 1rem; }
.layout-magazine .pull { font-size: 1.15rem; margin: 0 0 1.25rem; color: #f5e6c8; }
@media (min-width: 900px) {
  .layout-magazine .mag-cols { display: grid; grid-template-columns: 1.4fr 0.9fr; gap: 1.25rem; align-items: start; }
}
body.theme-brand main { max-width: 1040px; }
.layout-directory .eyebrow { letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.75rem; color: var(--accent); }
.layout-directory .dir-grid section { background: var(--card); padding: 1rem; border-radius: 10px; margin: 0.75rem 0; }
body.theme-hub main { max-width: 800px; }
.hub-links a { display: block; padding: 0.65rem 0.8rem; margin: 0.4rem 0; background: var(--card); border-radius: 8px; text-decoration: none; }
.hub-links ul { list-style: none; padding: 0; }

.sticky-copy {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0.65rem 1rem;
  background: rgba(26, 30, 35, 0.92);
  border-top: 1px solid #333;
  display: flex;
  justify-content: center;
  z-index: 20;
}
@media (min-width: 768px) {
  .sticky-copy { display: none; }
}
.sticky-btn { width: min(100%, 320px); border: none; cursor: pointer; }
body { padding-bottom: 4rem; }
@media (min-width: 768px) {
  body { padding-bottom: 0; }
}
