:root { color-scheme: dark; --background: #071018; --background-alt: #0a1520; --panel: #0f1e2a; --panel-light: #142735; --text: #f4f8fa; --muted: #9eb0bd; --border: rgba(255, 255, 255, 0.1); --accent: #d4af37; --accent-dark: #a67c00; --danger: #ff6978; --maximum-width: 1180px; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0px; color: var(--text); background: var(--background); font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.6; }
a { color: inherit; text-decoration: none; }
code { font-family: "JetBrains Mono", SFMono-Regular, Consolas, monospace; }
.container { width: min(
        calc(100% - 40px),
        var(--maximum-width)
    ); margin-inline: auto; }
.site-header { position: sticky; z-index: 30; top: 0px; border-bottom: 1px solid var(--border); background: rgba(7, 16, 24, 0.9); backdrop-filter: blur(14px); }
.header-layout { min-height: 82px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; gap: 11px; align-items: center; font-size: 20px; font-weight: 850; letter-spacing: -0.03em; }
.brand-symbol { width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; color: rgb(3, 20, 12); background: var(--accent); font-size: 13px; font-weight: 900; }
nav { display: flex; gap: 27px; color: var(--muted); font-size: 14px; }
nav a:hover { color: var(--text); }
.hero { padding: 105px 0px 85px; background: radial-gradient(circle at 78% 15%, rgba(212, 175, 55, 0.16), transparent 34%), radial-gradient(circle at 8% 80%, rgba(52, 133, 255, 0.09), transparent 28%); }
.hero-layout { display: grid; grid-template-columns: minmax(0px, 1.2fr) minmax(370px, 0.8fr); gap: 70px; align-items: center; }
.eyebrow, .panel-label { margin: 0px 0px 12px; color: var(--accent); font-size: 12px; font-weight: 850; letter-spacing: 0.14em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0px; }
h1 { max-width: 720px; margin-bottom: 25px; font-size: clamp(52px, 7vw, 84px); line-height: 0.96; letter-spacing: -0.058em; }
h2 { margin-bottom: 17px; font-size: clamp(34px, 4vw, 52px); line-height: 1.04; letter-spacing: -0.045em; }
h3 { letter-spacing: -0.025em; }
.hero-description { max-width: 670px; color: var(--muted); font-size: 19px; }
.terminal-command { width: fit-content; margin-top: 31px; padding: 13px 17px; border: 1px solid var(--border); border-radius: 9px; color: var(--accent); background: rgba(0, 0, 0, 0.27); font-family: monospace; }
.terminal-command span { margin-right: 8px; color: var(--muted); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 27px; }
.hero-actions.centred { justify-content: center; }
.button { min-height: 48px; padding: 0px 21px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--border); border-radius: 9px; font-weight: 780; }
.button.primary { color: rgb(4, 21, 13); border-color: var(--accent); background: var(--accent); }
.button.primary:hover { border-color: var(--accent-dark); background: var(--accent-dark); }
.button.secondary { background: rgba(255, 255, 255, 0.024); }
.button.disabled { cursor: default; color: var(--muted); background: rgba(255, 255, 255, 0.024); }
.market-panel, .stat-card, .progress-panel, .information-card, .table-panel { border: 1px solid var(--border); border-radius: 16px; background: linear-gradient(
            145deg,
            var(--panel-light),
            var(--panel)
        ); }
.market-panel { padding: 30px; }
.market-heading { display: flex; align-items: start; justify-content: space-between; }
.puzzle-number { display: block; font-size: 68px; line-height: 0.95; letter-spacing: -0.06em; }
.live-status { display: inline-flex; gap: 7px; align-items: center; padding: 6px 10px; border: 1px solid rgba(212, 175, 55, 0.35); border-radius: 100px; color: var(--accent); background: rgba(212, 175, 55, 0.09); font-size: 12px; font-weight: 800; }
.live-status i { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); }
.live-status.offline { color: var(--danger); border-color: rgba(255, 105, 120, 0.3); background: rgba(255, 105, 120, 0.08); }
.live-status.offline i { background: var(--danger); }
.reward { margin: 18px 0px 7px; color: var(--accent); font-size: 18px; font-weight: 800; }
.address { display: block; overflow-wrap: anywhere; color: var(--muted); }
.panel-divider { height: 1px; margin: 25px 0px; background: var(--border); }
.bitcoin-price { display: flex; justify-content: space-between; gap: 20px; }
.price-primary { display: block; font-size: 29px; letter-spacing: -0.04em; }
#btc-price-usd { display: block; margin-top: 2px; color: var(--muted); }
.updated-time { align-self: end; color: var(--muted); font-size: 12px; text-align: right; }
.countdown-grid { display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 8px; }
.countdown-grid div { padding: 12px 6px; border: 1px solid var(--border); border-radius: 9px; background: rgba(0, 0, 0, 0.16); text-align: center; }
.countdown-grid strong { display: block; font-size: 25px; line-height: 1.1; }
.countdown-grid span { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.advertisement { padding: 22px 0px; }
.advertisement-box { min-height: 110px; display: flex; align-items: center; justify-content: center; border: 1px dashed rgba(255, 255, 255, 0.14); border-radius: 11px; color: rgba(255, 255, 255, 0.32); background: rgba(255, 255, 255, 0.016); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; }
.section { padding: 88px 0px; }
.compact-section { padding-top: 50px; }
.alternate-section, .documentation-section { border-block: 1px solid var(--border); background: var(--background-alt); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 40px; }
.section-heading > p { max-width: 480px; color: var(--muted); }
.statistics-grid { display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 15px; }
.stat-card { padding: 24px; }
.stat-card p { margin-bottom: 9px; color: var(--muted); font-size: 12px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.stat-card strong { font-size: 38px; letter-spacing: -0.05em; }
.progress-panel { margin-top: 15px; padding: 25px; }
.progress-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 18px; }
.progress-heading p { margin-bottom: 3px; color: var(--muted); }
.progress-heading strong { font-size: 31px; }
.progress-heading span { color: var(--muted); }
.progress-track { height: 12px; overflow: hidden; border-radius: 100px; background: rgba(255, 255, 255, 0.08); }
.progress-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(
            90deg,
            var(--accent-dark),
            var(--accent)
        ); }
.information-grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 15px; margin-top: 15px; }
.information-card { padding: 25px; }
dl { margin: 0px; }
dl > div { padding: 13px 0px; border-top: 1px solid var(--border); }
dt { color: var(--muted); font-size: 12px; }
dd { margin: 4px 0px 0px; overflow-wrap: anywhere; }
.table-panel { padding: 25px; }
.table-scroll { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; white-space: nowrap; }
th, td { padding: 14px 12px; border-bottom: 1px solid var(--border); text-align: left; }
th { color: var(--muted); font-size: 11px; text-transform: uppercase; }
.empty-state { margin: 0px; color: var(--muted); }
.download-layout { max-width: 850px; text-align: center; }
.download-layout > div > p { color: var(--muted); }
.command-steps { display: grid; gap: 11px; max-width: 580px; margin: 34px auto 0px; text-align: left; }
.command-steps article { display: flex; gap: 14px; align-items: center; padding: 15px; border: 1px solid var(--border); border-radius: 10px; background: rgba(255, 255, 255, 0.024); }
.command-steps span { width: 31px; height: 31px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; border-radius: 50%; color: rgb(4, 21, 13); background: var(--accent); font-weight: 900; }
.security-grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 15px; }
.security-grid article { padding: 25px; border: 1px solid var(--border); border-radius: 14px; background: rgba(255, 255, 255, 0.024); }
.security-grid p { margin-bottom: 0px; color: var(--muted); }
.documentation-layout { display: grid; grid-template-columns: minmax(0px, 1fr) minmax(320px, 0.7fr); gap: 70px; align-items: center; }
.documentation-layout > p { color: var(--muted); }
footer { padding: 43px 0px; border-top: 1px solid var(--border); color: var(--muted); }
.footer-layout { display: flex; justify-content: space-between; gap: 35px; }
footer strong { color: var(--text); }
footer p { margin-bottom: 0px; }
@media (max-width: 920px) {
  .hero-layout { grid-template-columns: 1fr; gap: 48px; }
  .statistics-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .section-heading { display: block; }
  .documentation-layout { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 650px) {
  nav { display: none; }
  .hero { padding: 72px 0px 60px; }
  .statistics-grid, .information-grid, .security-grid { grid-template-columns: 1fr; }
  .bitcoin-price, .footer-layout { display: block; }
  .updated-time { margin-top: 12px; text-align: left; }
  .countdown-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .progress-heading { display: block; }
  .progress-heading > span { display: block; margin-top: 8px; }
}
.puzzle-navigation { display: flex; gap: 16px; align-items: center; }
.puzzle-arrow { width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(212, 175, 55, 0.38); border-radius: 10px; color: var(--accent); background: rgba(212, 175, 55, 0.07); cursor: pointer; font-size: 21px; font-weight: 800; }
.puzzle-arrow:hover { color: rgb(6, 16, 8); border-color: var(--accent); background: var(--accent); }
.reward-panel { margin: 23px 0px 17px; }
.reward-panel .reward { display: block; margin: 0px; font-size: 31px; letter-spacing: -0.04em; }
.reward-values { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 10px; }
.reward-values span { padding: 8px 11px; border: 1px solid var(--border); border-radius: 8px; color: var(--text); background: rgba(0, 0, 0, 0.18); font-size: 14px; font-weight: 700; }
.live-status.solved { color: var(--accent); }
.solved-information { margin-top: 18px; padding: 13px; border: 1px solid rgba(212, 175, 55, 0.35); border-radius: 9px; color: var(--accent); background: rgba(212, 175, 55, 0.08); }
.solved-information strong, .solved-information span { display: block; }
.solved-information span { margin-top: 3px; color: var(--muted); font-size: 12px; }
@media (max-width: 520px) {
  .market-heading { display: block; }
  .live-status { margin-top: 16px; }
  .puzzle-navigation { justify-content: space-between; }
}
.header-logo { display: block; width: clamp(235px, 18vw, 290px); height: auto; max-height: 63px; object-fit: contain; }
.brand { overflow: hidden; }
.footer-right { max-width: 520px; text-align: right; }
.footer-social-links { display: flex; gap: 18px; justify-content: flex-end; margin-top: 12px; }
.footer-social-links a { color: var(--accent); font-weight: 700; }
.footer-social-links a:hover, nav a:hover { color: rgb(245, 215, 110); }
.puzzle-arrow:disabled { cursor: wait; opacity: 0.45; }
.live-status.unsolved { color: rgb(244, 197, 66); border-color: rgba(212, 175, 55, 0.35); background: rgba(212, 175, 55, 0.08); }
@media (max-width: 650px) {
  .header-logo { width: 190px; height: auto; max-height: 42px; }
  .footer-right { margin-top: 22px; text-align: left; }
  .footer-social-links { justify-content: flex-start; }
}
.header-logo { display: block; width: clamp(235px, 18vw, 290px); height: auto; max-height: 63px; object-fit: contain; }
.brand { overflow: hidden; }
.footer-right { max-width: 520px; text-align: right; }
.footer-social-links { display: flex; gap: 18px; justify-content: flex-end; margin-top: 12px; }
.footer-social-links a { color: var(--accent); font-weight: 700; }
.footer-social-links a:hover, nav a:hover { color: rgb(245, 215, 110); }
.puzzle-arrow:disabled { cursor: wait; opacity: 0.45; }
.live-status.unsolved { color: rgb(244, 197, 66); border-color: rgba(212, 175, 55, 0.35); background: rgba(212, 175, 55, 0.08); }
@media (max-width: 650px) {
  .header-logo { width: 190px; height: auto; max-height: 42px; }
  .footer-right { margin-top: 22px; text-align: left; }
  .footer-social-links { justify-content: flex-start; }
}
.header-social-links { display: flex; gap: 9px; align-items: center; margin-left: 4px; }
.social-icon { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--border); border-radius: 9px; color: var(--muted); background: rgba(255, 255, 255, 0.024); }
.social-icon svg { width: 19px; height: 19px; }
.social-icon:hover { color: rgb(6, 16, 8); border-color: var(--accent); background: var(--accent); }
.donation-section { border-top: 1px solid var(--border); background: radial-gradient(
            circle at 80% 40%,
            rgba(212, 175, 55, 0.12),
            transparent 35%
        ),
        var(--background-alt); }
.donation-layout { display: grid; grid-template-columns: minmax(0px, 0.8fr) minmax(420px, 1.2fr); gap: 60px; align-items: center; }
.donation-description { max-width: 560px; color: var(--muted); }
.donation-card { display: flex; gap: 24px; align-items: center; padding: 28px; border: 1px solid rgba(212, 175, 55, 0.3); border-radius: 16px; background: linear-gradient(145deg, rgba(212, 175, 55, 0.09), rgba(15, 30, 42, 0.96)); }
.bitcoin-symbol { width: 72px; height: 72px; display: flex; align-items: center; justify-content: center; flex: 0 0 auto; border-radius: 50%; color: rgb(7, 16, 24); background: var(--accent); font-size: 42px; font-weight: 900; }
.donation-content { min-width: 0px; flex: 1 1 0%; }
.donation-address { display: block; padding: 12px 14px; overflow-wrap: anywhere; border: 1px solid var(--border); border-radius: 9px; color: var(--accent); background: rgba(0, 0, 0, 0.2); font-size: 14px; }
.donation-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.donation-actions button { font: inherit; cursor: pointer; }
.copy-status { min-height: 22px; margin: 10px 0px 0px; color: var(--muted); font-size: 12px; }
.footer-donation { margin-top: 13px; color: var(--muted); font-size: 12px; }
.footer-donation code { display: block; margin-top: 4px; overflow-wrap: anywhere; color: var(--accent); }
@media (max-width: 920px) {
  .donation-layout { grid-template-columns: 1fr; gap: 30px; }
}
@media (max-width: 700px) {
  .header-social-links { margin-left: auto; }
  .donation-card { display: block; }
  .bitcoin-symbol { margin-bottom: 20px; }
}
@media (max-width: 520px) {
  .donation-layout { display: block; }
  .donation-card { margin-top: 25px; padding: 21px; }
}
.network-statistics-grid { display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 15px; }
.network-stat-card { display: flex; flex-direction: column; min-height: 160px; }
.network-stat-card strong { margin-bottom: 8px; }
.network-stat-card > span { margin-top: auto; color: var(--muted); font-size: 12px; line-height: 1.5; }
.network-speed-value { font-size: clamp(25px, 2.4vw, 38px) !important; overflow-wrap: anywhere; }
@media (max-width: 980px) {
  .network-statistics-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
@media (max-width: 560px) {
  .network-statistics-grid { grid-template-columns: minmax(0px, 1fr); }
  .network-stat-card { min-height: 135px; }
}

/* Editorial and policy pages */
.editorial-main { padding: 132px 0 70px; }
.editorial-hero { padding: 42px; border: 1px solid var(--line); border-radius: 24px; background: linear-gradient(135deg, rgba(255, 190, 48, .12), rgba(14, 17, 22, .94) 55%); box-shadow: var(--shadow); }
.editorial-hero-layout { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 32px; }
.editorial-hero h1 { max-width: 850px; margin: 10px 0 16px; font-size: clamp(36px, 6vw, 68px); line-height: 1.02; }
.editorial-lead { max-width: 780px; color: var(--muted); font-size: clamp(18px, 2.2vw, 23px); line-height: 1.55; }
.editorial-bitcoin { display: grid; place-items: center; width: 118px; height: 118px; border: 1px solid rgba(255, 190, 48, .45); border-radius: 50%; color: var(--gold); background: rgba(255, 190, 48, .08); font-size: 64px; font-weight: 800; box-shadow: 0 0 45px rgba(255, 190, 48, .12); }
.editorial-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; margin-top: 28px; align-items: start; }
.editorial-content, .editorial-sidebar { border: 1px solid var(--line); border-radius: 20px; background: rgba(14, 17, 22, .86); box-shadow: var(--shadow); }
.editorial-content { padding: clamp(25px, 4vw, 48px); }
.editorial-content h2 { margin: 42px 0 14px; color: var(--gold); font-size: clamp(25px, 3vw, 34px); }
.editorial-content h2:first-child { margin-top: 0; }
.editorial-content h3 { margin: 30px 0 10px; font-size: 21px; }
.editorial-content p, .editorial-content li, .editorial-sidebar p { color: #c5cad2; line-height: 1.75; }
.editorial-content ul, .editorial-content ol { padding-left: 22px; }
.editorial-content li + li { margin-top: 8px; }
.editorial-content code { padding: 2px 7px; border: 1px solid var(--line); border-radius: 6px; color: #f7d984; background: #0a0c10; overflow-wrap: anywhere; }
.editorial-sidebar { position: sticky; top: 110px; padding: 24px; }
.editorial-sidebar h2 { margin: 0 0 14px; font-size: 20px; }
.editorial-links { display: grid; gap: 9px; margin-top: 18px; }
.editorial-links a { padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; color: #e7e9ed; background: rgba(255, 255, 255, .02); }
.editorial-links a:hover { border-color: rgba(255, 190, 48, .5); color: var(--gold); }
.editorial-callout { margin: 28px 0; padding: 20px 22px; border-left: 4px solid var(--gold); border-radius: 0 12px 12px 0; background: rgba(255, 190, 48, .08); }
.editorial-callout p { margin: 0; color: #e3e5e9; }
.footer-policy-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 18px; margin-top: 12px; font-size: 13px; }
.footer-policy-links a { color: var(--muted); }
.footer-policy-links a:hover { color: var(--gold); }
.release-note-inline { margin-top: 22px; padding: 18px 20px; border: 1px solid rgba(255, 190, 48, .3); border-radius: 14px; background: rgba(255, 190, 48, .06); }
.release-note-inline strong { color: var(--gold); }
.faq-list section { padding: 24px 0; border-bottom: 1px solid var(--line); }
.faq-list section:first-child { padding-top: 0; }
.faq-list section:last-child { border-bottom: 0; }
.faq-list h2 { margin: 0 0 9px; color: #f3f4f6; font-size: 22px; }
.glossary-list dt { margin-top: 24px; color: var(--gold); font-size: 20px; font-weight: 750; }
.glossary-list dd { margin: 6px 0 0; color: #c5cad2; line-height: 1.7; }
.release-entry { margin: 24px 0; padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255, 255, 255, .02); }
.release-entry h2 { margin-top: 0; }
.current-release { border-color: rgba(255, 190, 48, .42); }
.hash-value { display: block; margin-top: 8px; padding: 12px; border-radius: 8px; color: #f7d984; background: #080a0d; font-family: monospace; overflow-wrap: anywhere; }
@media (max-width: 900px) {
  .editorial-main { padding-top: 110px; }
  .editorial-layout { grid-template-columns: 1fr; }
  .editorial-sidebar { position: static; }
}
@media (max-width: 640px) {
  .editorial-hero { padding: 27px 22px; }
  .editorial-hero-layout { grid-template-columns: 1fr; }
  .editorial-bitcoin { width: 82px; height: 82px; font-size: 44px; }
  .editorial-content { padding: 24px 20px; }
}


/* Research notes / blog */
.blog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.blog-card { padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255, 255, 255, .025); }
.blog-card h2 { margin: 8px 0 10px; color: #f3f4f6; font-size: 24px; }
.blog-card p { margin-bottom: 16px; }
.blog-card a { color: var(--gold); font-weight: 700; }
.article-meta { margin: 0 0 28px; color: var(--muted); font-size: 14px; }
.article-note { margin: 26px 0; padding: 18px 20px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255, 255, 255, .025); }
@media (max-width: 760px) { .blog-grid { grid-template-columns: 1fr; } }
