/* contract.css — the token contract strip under the nav
 *
 * Injected by _work/contract.mjs. Tokens are lifted from the site's own stylesheet so
 * the strip reads as one of the page's instrument bars rather than a bolted-on banner:
 * ground-sunk #f5f5f5 against the page's #fff, the same #e5e5e5 hairline the nav uses
 * for its bottom border, mono for the address (it is a machine string, and mono is what
 * makes it scannable), muted #737373 for the label.
 *
 * The container width matches the nav's (max-w-6xl + px-4) so the label lines up with
 * MISSION CONTROL above it and the copy button lines up with CONNECT WALLET.
 */

.contract-bar {
  border-bottom: 1px solid #e5e5e5;
  background: #f5f5f5;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  /* Sits under a sticky-ish nav; keeps the address selectable while the bar scrolls. */
  position: relative;
  z-index: 1;
}
.contract-bar__inner {
  max-width: 1152px;
  margin: 0 auto;
  padding: 9px 16px;
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.contract-bar__label {
  flex: none;
  font-size: 10px;
  letter-spacing: .22em;
  color: #737373;
  text-transform: uppercase;
}

/* The address itself is the explorer link. If the explorer is down the address is
   still on screen and still selectable — the link degrades, the content does not. */
.contract-bar__addr {
  flex: 1;
  min-width: 0;
  font-size: 12.5px;
  letter-spacing: .02em;
  color: #0a0a0a;
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  border-bottom: 1px solid transparent;
}
.contract-bar__addr:hover,
.contract-bar__addr:focus-visible { border-bottom-color: #0a0a0a; }
.contract-bar__addr:focus-visible { outline: 2px solid #0a0a0a; outline-offset: 3px; }

.contract-bar__copy {
  flex: none;
  font: inherit;
  font-size: 10px;
  letter-spacing: .2em;
  color: #0a0a0a;
  background: transparent;
  border: 1px solid #0a0a0a;
  padding: 5px 12px;
  cursor: pointer;
  transition: background .14s ease, color .14s ease;
}
.contract-bar__copy:hover { background: #0a0a0a; color: #fafafa; }
.contract-bar__copy:focus-visible { outline: 2px solid #0a0a0a; outline-offset: 3px; }
/* Confirmation is the button itself changing word, not a toast: it happens where the
   eye already is, and it needs no layout to appear. */
.contract-bar__copy.is-done { background: #0a0a0a; color: #fafafa; }

@media (max-width: 640px) {
  .contract-bar__inner { padding: 8px 12px; gap: 10px; }
  /* The label is the first thing to go — it carries no information the address does
     not, and dropping it buys ~70px for the address on a 390px screen. */
  .contract-bar__label { display: none; }
  .contract-bar__addr { font-size: 11px; letter-spacing: 0; }
  .contract-bar__copy { padding: 5px 9px; letter-spacing: .12em; }
}
