/* Existing */
.hidden { display: none; }
textarea { font-family: monospace; }

/* A11y */
.skip-link {
  position: absolute; inset-inline-start: 0; inset-block-start: 0;
  transform: translateY(-120%); padding: .5rem .75rem; z-index: 1000;
}
.skip-link:focus { transform: translateY(0); }

/* Layout */
.site-header { padding-block-end: .5rem; }
.site-footer { padding-block: 2rem; text-align: center; }

.layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
.main-column { min-width: 0; } /* prevent overflow */
.right-rail { display: grid; gap: 1.25rem; }

@media (min-width: 992px) {
  .layout {
    grid-template-columns: minmax(0, 1fr) 320px; /* main + sidebar */
    align-items: start;
  }
  .right-rail { position: sticky; top: 1rem; }
}

/* Cards & helpers */
.card { padding: 1rem; border-radius: .75rem; }
.help { margin-block-start: .5rem; }
.footnote { font-size: 0.9rem; opacity: 0.8; }

/* Theme control */
.theme-label { margin-inline-end: .25rem; }

/* Ads (accessible placeholders) */
.ad {
  display: grid; place-items: center;
  min-height: 90px;
  border: 2px dashed var(--muted-border-color, currentColor);
  border-radius: .5rem;
  font-size: .9rem; opacity: .7;
}
.ad-top { margin-block: .5rem 0; min-height: 120px; }
.ad-incontent { margin-block: 1rem; }
.ad-sidebar { min-height: 250px; }

/* Recommended tools */
.tool-list { list-style: none; padding: 0; margin: 0; }
.tool-list li + li { margin-block-start: .5rem; }

 .donate-box {
    --b: 1px;
    --radius: 12px;
    --pad: 14px;
    --fg: #1f2328;
    --bg: #ffffff;
    --muted: #6a6f76;
    --border: rgba(0,0,0,.12);
    --shadow: 0 1px 2px rgba(0,0,0,.06), 0 6px 20px rgba(0,0,0,.06);
    margin: 16px 0;
    border: var(--b) solid var(--border);
    border-radius: var(--radius);
    background: var(--bg);
    color: var(--fg);
    box-shadow: var(--shadow);
    font: 14px/1.4 system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  }
  @media (prefers-color-scheme: dark) {
    .donate-box {
      --fg: #e6e6e6;
      --bg: #0f1115;
      --muted: #a3a7ad;
      --border: rgba(255,255,255,.14);
      --shadow: none;
    }
  }
  .donate-inner { display: flex; gap: 12px; padding: var(--pad); align-items: flex-start; }
  .donate-icon { font-size: 20px; margin-top: 2px; }
  .donate-content strong { display: block; margin-bottom: 6px; }
  .donate-row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
  .donate-address {
    user-select: all;
    padding: 6px 8px;
    border-radius: 8px;
    background: rgba(128,128,128,.08);
    color: inherit;
    word-break: break-all;
  }
  .donate-actions { display: flex; gap: 8px; }
  .copy-btn, .wallet-link {
    display: inline-block;
    padding: 6px 10px;
    border-radius: 8px;
    border: var(--b) solid var(--border);
    background: transparent;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: transform .02s ease-in-out;
  }
  .copy-btn:active, .wallet-link:active { transform: scale(0.98); }
  .copy-btn:hover, .wallet-link:hover { background: rgba(128,128,128,.10); }
  .donate-feedback { min-height: 1em; margin-top: 6px; color: var(--muted); }
/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; transition: none !important; }
}

/* Let user agents know both schemes are supported for form controls, etc. */
:root { color-scheme: light dark; }
