/* Inline NoFee market filter. Transaction code and the regular feed stay intact. */
/* Official contract chip: uses the existing self-hosted Geist Mono, no font request. */
body[data-screen="markets"] #markets .nt-commandbar.has-official-contract {
  grid-template-columns: max-content minmax(0,1fr) auto;
}
#markets .nf-official-contract { position: relative; display: inline-flex; min-width: 0; margin-left: 5px; }
#markets .nf-contract-copy {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-width: 0; min-height: 36px;
  padding: 0 10px; border: 1px solid #8ff0bb29; border-radius: 8px;
  color: #d1e5d9; background: #8ff0bb08; cursor: pointer; white-space: nowrap;
  transition: border-color .15s, background-color .15s;
}
#markets .nf-contract-copy:hover { border-color: #8ff0bb70; background: #8ff0bb10; }
#markets .nf-contract-copy:focus-visible { outline: 2px solid #8ff0bb; outline-offset: 2px; }
#markets .nf-contract-symbol { min-width: 49px; color: #98f0bf; font: 600 .75rem/1.2 var(--mono); letter-spacing: -.025em; }
#markets .nf-contract-address { min-width: 0; }
#markets .nf-contract-address code { font: 500 .8125rem/1.25 var(--mono); letter-spacing: -.025em; font-variant-ligatures: none; }
#markets .nf-contract-short { display: none; }
#markets .nf-contract-icon { position: relative; flex: none; width: 13px; height: 13px; opacity: .8; }
#markets .nf-contract-icon::before, #markets .nf-contract-icon::after { content: ""; position: absolute; width: 9px; height: 9px; border: 1.2px solid currentColor; border-radius: 2px; }
#markets .nf-contract-icon::before { left: 0; top: 0; opacity: .5; }
#markets .nf-contract-icon::after { right: 0; bottom: 0; background: #101b15; }
#markets .nf-contract-copy[data-copied="true"] { border-color: #8ff0bb80; color: #98f0bf; }
#markets .nf-contract-copy[data-copied="true"] .nf-contract-icon::before { display: none; }
#markets .nf-contract-copy[data-copied="true"] .nf-contract-icon::after { width: 5px; height: 9px; top: 0; left: 4px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; border-radius: 0; background: none; transform: rotate(45deg); }
#markets .nf-contract-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#markets .nf-contract-manual { position: fixed; z-index: 30; top: 120px; left: 12px; right: 12px; width: calc(100vw - 24px); max-width: 420px; margin-inline: auto; box-sizing: border-box; padding: 12px; border: 1px solid #8ff0bb70; border-radius: 8px; color: #edf2ef; background: #101b15; font: 16px/1.4 var(--mono); user-select: all; }
#markets .nf-contract-manual[hidden] { display: none; }
@media (max-width: 1399px) {
  #markets .nf-contract-full { display: none; }
  #markets .nf-contract-short { display: inline; }
}
@media (max-width: 1180px) {
  body[data-screen="markets"] #markets .nt-commandbar.has-official-contract { grid-template-columns: minmax(0,1fr); }
  body[data-screen="markets"] #markets .has-official-contract .nt-command-actions { grid-column: 1 / -1; justify-content: flex-start; overflow-x: auto; }
}
@media (max-width: 620px) {
  body[data-screen="markets"] #markets .has-official-contract .nt-command-title { gap: 7px; flex-wrap: wrap; }
  #markets .nf-official-contract { margin-left: auto; max-width: 100%; }
  #markets .nf-contract-copy { gap: 6px; min-height: 40px; padding-inline: 8px; }
  #markets .nf-contract-symbol { min-width: 44px; }
}
@media (pointer: coarse) { #markets .nf-contract-copy { min-height: 44px; } }
body[data-screen="markets"] #markets .nt-command-actions .nf-launches-trigger,
#launchpad .nt-lp-console-actions .nf-launches-trigger {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  min-height: 36px; padding: 0 12px; border: 1px solid transparent; border-radius: 6px;
  color: #8fa299; background: transparent; font: 500 12px/1.3 var(--sans); white-space: nowrap; cursor: pointer;
}
body[data-screen="markets"] #markets .nt-command-actions .nf-launches-trigger.selected {
  border-color: #66d99c45; color: #c5f3d8; background: #66d99c12;
}
.nf-launches-trigger img { width: 17px; height: 17px; object-fit: contain; }
body[data-screen="markets"] #markets[data-nofee-view="launches"] > :is(#trench-layout,.markets-table-wrap,.market-foot),
body[data-screen="markets"] #markets[data-nofee-view="launches"] .nt-command-actions :is(.time-tabs,.market-view-switch) { display: none !important; }
#nofee-launches[hidden], #nofee-launches [hidden] { display: none !important; }
#nofee-launches {
  display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; width: 100%;
  color: #edf2ef; background: #090c0e; font: 400 14px/1.5 var(--sans);
}
#nofee-launches :is(button,a,input):focus-visible { outline: 2px solid #66d99c; outline-offset: -2px; }
#nofee-launches .nf-launches-head {
  display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between;
  gap: 20px; padding: 20px 28px; border-bottom: 1px solid #202a25;
}
#nofee-launches h2 { margin: 0; font-size: 21px; font-weight: 600; letter-spacing: -.025em; }
#nofee-launches .nf-launches-head p { margin: 4px 0 0; color: #8fa098; font-size: 12px; }
#nofee-launches .nf-launches-filters { display: flex; align-items: center; gap: 8px; min-width: 0; }
#nofee-launches input {
  width: clamp(210px,23vw,360px); min-width: 0; height: 40px; border: 1px solid #28372f;
  border-radius: 7px; padding: 0 12px; color: #edf2ef; background: #111813; font: inherit;
}
#nofee-launches button {
  flex: none; min-height: 40px; border: 1px solid #29362f; border-radius: 7px; padding: 0 12px;
  color: #c7d7ce; background: #131c17; cursor: pointer; font: 500 12px/1.4 var(--sans);
}
#nofee-launches button:disabled { opacity: .5; cursor: wait; }
#nofee-launches .nf-launches-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 16px 28px; }
#nofee-launches [data-launches-status] { margin: 0 0 12px; color: #87998e; font-size: 12px; }
#nofee-launches [data-launches-warning] { padding: 9px 12px; border: 1px solid #d7b76c35; border-radius: 7px; color: #cbb785; background: #d7b76c08; font-size: 12px; }
#nofee-launches :is(.nf-launches-columns,.nf-launch-row) {
  display: grid; grid-template-columns: 30px minmax(180px,2fr) minmax(110px,1fr) minmax(110px,1fr) minmax(135px,1fr) minmax(120px,1fr);
  gap: 18px; align-items: center; min-width: 0; padding: 12px 16px;
}
#nofee-launches .nf-launches-columns { color: #81958a; font-size: 11px; border-bottom: 1px solid #24312a; }
#nofee-launches .nf-launches-columns > :nth-child(n+4) { text-align: right; }
#nofee-launches .nf-launches-columns > :nth-child(4) { color: #bfe4cd; }
#nofee-launches .nf-launch-row { min-height: 86px; border-bottom: 1px solid #1c2921; color: inherit; text-decoration: none; transition: background-color .12s; }
#nofee-launches .nf-launch-row:hover { background: #66d99c06; }
#nofee-launches .nf-launch-rank { color: #6f8678; font: 12px var(--mono); }
#nofee-launches .nf-launch-identity { display: flex; gap: 12px; align-items: center; min-width: 0; }
#nofee-launches .nf-launch-art { position: relative; flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 8px; overflow: hidden; background: #223629; color: #cbecd6; font-size: 19px; }
#nofee-launches .nf-launch-token-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
#nofee-launches .nf-launch-name { min-width: 0; }
#nofee-launches .nf-launch-name strong { display: block; overflow-wrap: anywhere; font-size: 14px; font-weight: 600; line-height: 1.35; }
#nofee-launches .nf-launch-name > span { color: #81978a; font-size: 11px; overflow-wrap: anywhere; }
#nofee-launches .nf-launch-meta { display: grid; gap: 4px; min-width: 0; }
#nofee-launches .nf-launch-meta small { color: #6c8476; font-size: 10px; }
#nofee-launches .nf-launch-network { display: inline-flex; align-items: center; gap: 6px; color: #9eb0a5; font-size: 11px; }
#nofee-launches .nf-launch-network img { width: 18px; height: 18px; object-fit: contain; }
#nofee-launches .nf-launch-network[data-chain="megaeth"] img { background: #f3f1e8; border-radius: 3px; }
#nofee-launches :is(.nf-launch-cap,.nf-launch-price) { min-width: 0; text-align: right; }
#nofee-launches :is(.nf-launch-cap,.nf-launch-price) strong { display: block; overflow-wrap: anywhere; font: 500 13px/1.5 var(--mono); }
#nofee-launches .nf-launch-cap strong { color: #c5edd4; font-size: 15px; }
#nofee-launches :is(.nf-launch-cap,.nf-launch-price) small { display: none; color: #7e9488; font-size: 10px; }
#nofee-launches .nf-launch-address { display: flex; align-items: center; justify-content: flex-end; gap: 8px; color: #82988b; }
#nofee-launches .nf-launch-address code { font: 10px var(--mono); }
#nofee-launches .nf-launch-address > span { color: #b5ddc4; }
#nofee-launches [data-launches-empty] { padding: 36px 16px; text-align: center; color: #adbbb2; }
#nofee-launches [data-launches-more] { display: block; margin: 18px auto 0; }
#nofee-launches .nf-launches-note { margin: 18px 0 0; color: #697f72; font-size: 11px; }
@media (max-width: 1040px) {
  #nofee-launches :is(.nf-launches-columns,.nf-launch-row) { grid-template-columns: 26px minmax(150px,2fr) minmax(105px,1fr) minmax(100px,1fr) minmax(120px,1fr); gap: 12px; }
  #nofee-launches .nf-launch-address, #nofee-launches .nf-launches-columns > :last-child { display: none; }
}
@media (max-width: 900px) {
  body[data-screen="markets"] #markets[data-nofee-view="launches"] .nt-command-actions > * { flex-shrink: 0; }
}
@media (max-width: 700px) {
  #nofee-launches .nf-launches-head { flex-direction: column; align-items: stretch; gap: 12px; padding: 16px; }
  #nofee-launches .nf-launches-filters { width: 100%; }
  body[data-screen="markets"] #markets #nofee-launches input { width: 100%; flex: 1; font-size: 16px; }
  #nofee-launches h2 { font-size: 19px; }
  #nofee-launches .nf-launches-head p { font-size: 11px; }
  #nofee-launches .nf-launches-scroll { padding: 12px 10px; }
  #nofee-launches .nf-launch-row { grid-template-columns: 18px minmax(0,1fr) minmax(80px,.7fr); gap: 10px 8px; padding: 14px 4px; min-height: 100px; }
  #nofee-launches .nf-launch-rank { font-size: 10px; }
  #nofee-launches .nf-launch-identity { gap: 8px; }
  #nofee-launches .nf-launch-art { width: 32px; height: 32px; font-size: 16px; }
  #nofee-launches .nf-launch-name strong { font-size: 12px; }
  #nofee-launches .nf-launch-cap { grid-column: 3; grid-row: 1; }
  #nofee-launches .nf-launch-cap strong { font-size: 13px; }
  #nofee-launches :is(.nf-launch-cap,.nf-launch-price) small { display: inline; }
  #nofee-launches .nf-launch-meta { grid-column: 2; grid-row: 2; }
  #nofee-launches .nf-launch-meta small { display: none; }
  #nofee-launches .nf-launch-network { font-size: 10px; gap: 5px; }
  #nofee-launches .nf-launch-network img { width: 14px; height: 14px; }
  #nofee-launches .nf-launch-price { grid-column: 3; grid-row: 2; }
  #nofee-launches .nf-launch-price strong { font-size: 10px; }
}

/* brew.family-style launched-coin grid: big cover images, one ranked grid, no lanes. */
#nofee-launches .nf-launches-scroll { padding-bottom: 22px; }
#nofee-launches .nf-launches-head { position: relative; flex-wrap: wrap; gap: 14px 20px; padding: 18px 28px 16px; }
#nofee-launches .nf-launches-head > div:first-of-type { flex: 1 1 320px; }
#nofee-launches .nf-launch-back { order: -1; flex: 0 0 auto; align-self: center; min-height: 36px; padding: 0 14px 0 12px; border: 1px solid #29362f; border-radius: 999px; color: #c7d7ce; background: #131c17; font: 600 12.5px/1 var(--sans); cursor: pointer; }
#nofee-launches .nf-launch-back:hover { border-color: #66d99c66; color: #c5f3d8; }
#nofee-launches h2 { font-size: 26px; letter-spacing: -.03em; }
#nofee-launches .nf-launches-filters { flex: 1 1 100%; gap: 10px; }
#nofee-launches input { flex: 1 1 320px; width: auto; max-width: none; height: 46px; border-radius: 12px; padding: 0 16px; font-size: 14px; }
#nofee-launches .nf-launch-sort { display: inline-flex; flex: none; gap: 2px; padding: 3px; border: 1px solid #29362f; border-radius: 999px; background: #0f1512; }
#nofee-launches .nf-launch-sort button { min-height: 36px; border: 0; border-radius: 999px; padding: 0 14px; color: #8fa299; background: transparent; font: 600 12.5px/1 var(--sans); }
#nofee-launches .nf-launch-sort button.selected { color: #08110c; background: #8ff0bb; }
#nofee-launches .nf-launch-cta { flex: none; display: inline-flex; align-items: center; min-height: 46px; padding: 0 18px; border-radius: 12px; color: #08110c; background: #8ff0bb; font: 700 13.5px/1 var(--sans); text-decoration: none; }
#nofee-launches .nf-launch-cta:hover { background: #a8f7cb; }
#nofee-launches [data-launches-status] { display: inline-block; margin: 0 0 14px; padding: 5px 10px; border: 1px solid #24312a; border-radius: 999px; color: #9fb0a7; font: 600 11.5px/1.4 var(--sans); }
#nofee-launches .nf-launch-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(236px, 1fr)); gap: 18px; }
#nofee-launches .nf-launch-grid[hidden] { display: none; }
#nofee-launches .nf-card {
  display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #1f2b25; border-radius: 18px; color: #edf2ef; background: #10161a; text-decoration: none;
  transition: transform .16s ease, border-color .18s ease, box-shadow .18s ease; animation: nfCardRise .32s ease both; animation-delay: calc(var(--i, 0) * 30ms);
}
#nofee-launches .nf-card:hover, #nofee-launches .nf-card:focus-visible { transform: translateY(-3px); border-color: #66d99c66; box-shadow: 0 22px 50px -26px #66d99c66; outline: none; }
#nofee-launches .nf-card__cover { position: relative; aspect-ratio: 1 / 1; overflow: hidden; background: #0b0e11; }
#nofee-launches .nf-card__img { display: block; width: 100%; height: 100%; object-fit: cover; }
#nofee-launches .nf-card__placeholder { position: absolute; right: 10px; bottom: 10px; padding: 4px 7px; border-radius: 5px; color: #e4e9e6; background: #090c0ecc; font: 500 10px/1.2 var(--sans); pointer-events: none; }
#nofee-launches .nf-card--official .nf-card__placeholder { bottom: 44px; }
#nofee-launches .nf-card__tile { display: grid; place-items: center; width: 100%; height: 100%; color: #ffffffd9; font: 800 44px/1 var(--sans); letter-spacing: -.04em; text-shadow: 0 6px 24px #0008; }
#nofee-launches .nf-card__badge, #nofee-launches .nf-card__venue { position: absolute; top: 10px; display: inline-flex; align-items: center; gap: 5px; padding: 5px 9px; border-radius: 999px; color: #edf2ef; background: #090c0ecc; font: 700 11px/1 var(--sans); backdrop-filter: blur(6px); }
#nofee-launches .nf-card__badge { left: 10px; }
#nofee-launches .nf-card__venue { right: 10px; color: #c5f3d8; }
#nofee-launches .nf-card__venue.is-curve { color: #f0d79a; }
#nofee-launches .nf-card__badge img, #nofee-launches .nf-card__venue img { width: 12px; height: 12px; object-fit: contain; border-radius: 3px; }
#nofee-launches .nf-card__badge[data-chain="megaeth"] img { background: #f3f1e8; }
#nofee-launches .nf-card__body { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px 13px; }
#nofee-launches .nf-card__name { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
#nofee-launches .nf-card__name b { overflow: hidden; font-size: 15px; font-weight: 700; letter-spacing: -.01em; white-space: nowrap; text-overflow: ellipsis; }
#nofee-launches .nf-card__chg { flex: none; font: 700 11px/1 var(--mono); }
#nofee-launches .nf-card__chg.is-up { color: #8ff0bb; }
#nofee-launches .nf-card__chg.is-down { color: #f6a2aa; }
#nofee-launches .nf-card__sym { color: #8fa098; font: 12px var(--mono); }
#nofee-launches .nf-card__stats { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-top: 6px; }
#nofee-launches .nf-card__mc b { font: 800 15px/1 var(--sans); letter-spacing: -.01em; }
#nofee-launches .nf-card__mc small { margin-left: 5px; color: #7f9188; font: 700 11px/1 var(--sans); }
#nofee-launches .nf-card__vol { color: #9fb0a7; font: 12px var(--mono); white-space: nowrap; }
#nofee-launches .nf-card__foot { display: flex; justify-content: space-between; gap: 8px; margin-top: 8px; color: #6f8678; font: 11px var(--mono); }
#nofee-launches .nf-card__foot span { color: #8fa098; }
@keyframes nfCardRise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { #nofee-launches .nf-card { animation: none; } }
/* The loud way in: banner above the live board + a highlighted trigger pill. */
body[data-screen="markets"] #markets .nt-command-actions .nf-launches-trigger { border-color: #66d99c66; color: #08110c; background: linear-gradient(135deg, #8ff0bb, #66d99c); font-weight: 700; box-shadow: 0 0 0 1px #66d99c33, 0 6px 18px -8px #66d99caa; }
body[data-screen="markets"] #markets .nt-command-actions .nf-launches-trigger:hover { filter: brightness(1.06); }
body[data-screen="markets"] #markets .nt-command-actions .nf-launches-trigger.selected { color: #08110c; background: #8ff0bb; }
body[data-screen="markets"] #markets .nf-launch-banner {
  flex: 0 0 auto; display: flex; align-items: center; gap: 14px; width: 100%; margin: 0; padding: 10px 16px; border: 0; border-bottom: 1px solid #1f2b25; border-left: 4px solid #8ff0bb; color: #edf2ef; text-align: left; cursor: pointer;
  background: linear-gradient(90deg, #66d99c26, #66d99c08 55%, transparent); font: inherit;
}
body[data-screen="markets"] #markets .nf-launch-banner:hover { background: linear-gradient(90deg, #66d99c3a, #66d99c10 55%, transparent); }
body[data-screen="markets"] #markets .nf-launch-banner__mark { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; color: #08110c; background: #8ff0bb; font: 800 20px/1 var(--sans); }
body[data-screen="markets"] #markets .nf-launch-banner__copy { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
body[data-screen="markets"] #markets .nf-launch-banner__copy strong { font: 800 15px/1.2 var(--sans); letter-spacing: -.01em; }
body[data-screen="markets"] #markets .nf-launch-banner__copy b { color: #9fb0a7; font: 500 12px/1.3 var(--sans); }
body[data-screen="markets"] #markets .nf-launch-banner__go { margin-left: auto; padding: 8px 14px; border-radius: 999px; color: #08110c; background: #8ff0bb; font: 700 12.5px/1 var(--sans); white-space: nowrap; }
body[data-screen="markets"] #markets[data-nofee-view="launches"] .nf-launch-banner { display: none; }
@media (max-width: 920px) {
  #nofee-launches .nf-launches-head { padding: 14px 14px 12px; }
  #nofee-launches .nf-launches-scroll { padding: 12px 12px 22px; }
  #nofee-launches .nf-launch-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  #nofee-launches .nf-card__body { padding: 10px 11px 11px; }
  #nofee-launches .nf-card__name b { font-size: 13.5px; }
  #nofee-launches .nf-card__tile { font-size: 34px; }
  #nofee-launches .nf-launch-cta { flex: 1 1 100%; justify-content: center; }
  #nofee-launches .nf-launch-sort { width: 100%; }
  #nofee-launches .nf-launch-sort button { flex: 1; padding: 0 8px; }
  body[data-screen="markets"] #markets .nf-launch-banner { padding: 10px 12px; gap: 10px; }
  body[data-screen="markets"] #markets .nf-launch-banner__copy b { display: none; }
}

/* Official platform coin: pinned first with a gold badge. */
#nofee-launches .nf-card--official { border-color: #e6b96999; box-shadow: 0 0 0 1px #e6b96933, 0 18px 40px -24px #e6b969aa; }
#nofee-launches .nf-card--official .nf-card__cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, #e6b96922); pointer-events: none; }
#nofee-launches .nf-card__official { position: absolute; left: 10px; bottom: 10px; z-index: 2; padding: 6px 10px; border-radius: 999px; color: #1a1200; background: linear-gradient(135deg, #ffd977, #e6b969); font: 800 11px/1 var(--sans); letter-spacing: .02em; box-shadow: 0 6px 16px -6px #e6b969cc; }
#nofee-launches .nf-card__official-pill { flex: none; padding: 3px 7px; border-radius: 999px; color: #1a1200; background: #e6b969; font: 800 10px/1 var(--sans); }
