/* Bitcoin News Office — shared editorial design system */
:root {
  --bno-bg: #080a0f;
  --bno-panel: #11141b;
  --bno-panel-2: #171b24;
  --bno-line: rgba(255,255,255,.10);
  --bno-text: #f5f7fb;
  --bno-muted: #a5adba;
  --bno-orange: #f7931a;
  --bno-orange-soft: rgba(247,147,26,.12);
  --bno-radius: 16px;
  --bno-shadow: 0 18px 60px rgba(0,0,0,.24);
}

html { color-scheme: dark; }
body {
  background:
    radial-gradient(circle at 8% -10%, rgba(247,147,26,.09), transparent 30rem),
    var(--bno-bg) !important;
  color: var(--bno-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  line-height: 1.65;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .035;
  background-image: linear-gradient(rgba(255,255,255,.6) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.6) 1px, transparent 1px);
  background-size: 48px 48px;
}

::selection { background: var(--bno-orange); color: #111; }
:focus-visible { outline: 3px solid var(--bno-orange) !important; outline-offset: 3px; }

nav:not(.toc):not(.breadcrumb) {
  background: rgba(8,10,15,.88) !important;
  border-bottom: 1px solid var(--bno-line) !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.18);
}
.nav-content { max-width: 1240px !important; }
.logo { letter-spacing: -.02em; font-size: 1.05rem !important; }
.logo img { border-radius: 50% !important; }
.nav-links { gap: 1rem !important; }
.nav-links a { color: #c8ced8 !important; font-weight: 600; }
.nav-links a:hover { color: #fff !important; }
.dropdown-content {
  background: rgba(15,18,25,.98) !important;
  border: 1px solid var(--bno-line) !important;
  box-shadow: var(--bno-shadow) !important;
  border-radius: 12px !important;
  min-width: 230px !important;
}
.dropdown-content a:hover { background: var(--bno-orange-soft) !important; color: #fff !important; }

h1,h2,h3 { text-wrap: balance; letter-spacing: -.025em; }
p,li { text-wrap: pretty; }
a { text-underline-offset: .2em; }

.container, main { width: min(100% - 2rem, 1240px); margin-inline: auto; }
.card,.section,.tool-card,.policy-section,.form-container,.data-card,.stat-card,.info-card,.resource-card,.faq-item {
  border: 1px solid var(--bno-line) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.025), 0 18px 50px rgba(0,0,0,.12);
}
.card:hover,.tool-card:hover,.resource-card:hover {
  border-color: rgba(247,147,26,.34) !important;
  transform: translateY(-2px);
}

button,.btn,.share-btn,.step-btn {
  border-radius: 10px !important;
  font-weight: 750 !important;
  transition: transform .18s ease, filter .18s ease, border-color .18s ease !important;
}
button:hover,.btn:hover,.share-btn:hover,.step-btn:hover { filter: brightness(1.08); transform: translateY(-1px); }
input,select,textarea { border: 1px solid var(--bno-line) !important; }

/* Third-party banner ads harmed readability and trust on core tools. */
.sponsored-content,.sticky-banner { display: none !important; }
#historical { display: none !important; }

footer {
  border-top: 1px solid var(--bno-line) !important;
  background: rgba(7,9,13,.72) !important;
}

html.light { color-scheme: light; --bno-bg:#f5f6f8; --bno-panel:#fff; --bno-panel-2:#f0f2f5; --bno-line:rgba(15,23,42,.12); --bno-text:#111827; --bno-muted:#566172; --bno-shadow:0 18px 50px rgba(15,23,42,.08); }
html.light body { background: radial-gradient(circle at 8% -10%,rgba(247,147,26,.10),transparent 30rem),var(--bno-bg) !important; }
html.light nav:not(.toc):not(.breadcrumb) { background: rgba(255,255,255,.9) !important; }
html.light .nav-links a { color: #364152 !important; }
html.light .nav-links a:hover { color: #111827 !important; }
html.light footer { background: #fff !important; }

@media (max-width: 1100px) {
  .nav-links { gap: .15rem !important; }
  .nav-links a { font-size: 1rem !important; }
}
@media (max-width: 640px) {
  .container,main { width: min(100% - 1.25rem,1240px); }
  body::before { display:none; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; }
}
