/* AlphaBros design system (from the exevia.html sandbox). Change these tokens to restyle every screen. */
:root {
  color-scheme: light;
  --bg:#f0edf8;
  --surface:#fffefd;
  --panel:#fcfbff;
  --soft:#f5f1ff;
  --text:#25203c;
  --muted:#80769c;
  --faint:#aaa1bd;
  --border:#e0d9f3;
  --shadow:#dbd3ef;
  --accent:#7147f7;
  --accent-hover:#6035e5;
  --accent-soft:#eee7ff;
  --green:#008f66;
  --green-soft:#dff6ed;
  --red:#d75362;
  --red-soft:#ffeaeb;
  --yellow:#fff0c8;
  --gold:#9b7016;
  --sidebar:218px;
  --header:76px;
  --radius:17px;
  --font:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

[data-theme="dark"] {
  color-scheme:dark;
  --bg:#15131f;
  --surface:#211d2d;
  --panel:#211e2d;
  --soft:#292336;
  --text:#f1ebff;
  --muted:#a69abb;
  --faint:#7b708d;
  --border:#3a314e;
  --shadow:#100d19;
  --accent:#9a75ff;
  --accent-hover:#ac8dff;
  --accent-soft:#3a2b58;
  --green:#65d9b0;
  --green-soft:#183a32;
  --red:#ff8995;
  --red-soft:#432630;
  --yellow:#433923;
  --gold:#ecd187;
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth
}

body {
  margin:0;
  font-family:var(--font);
  font-size:14px;
  line-height:1.5;
  color:var(--text);
  background:var(--bg);
  -webkit-font-smoothing:antialiased
}

button,input,select,textarea {
  font:inherit
}

button,a,input,select,textarea {
  -webkit-tap-highlight-color:transparent
}

button,a {
  touch-action:manipulation
}

button {
  color:inherit;
  cursor:pointer
}

button {
  border:0;
  background:none
}

a {
  color:inherit;
  text-decoration:none
}

svg {
  flex-shrink:0;
  vertical-align:middle
}

button svg,a svg {
  pointer-events:none
}

input,select,textarea {
  color:var(--text);
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:9px;
  padding:10px 12px;
  outline:none;
  width:100%;
  transition:.15s
}

input:focus,select:focus,textarea:focus {
  border-color:var(--accent);
  box-shadow:0 0 0 3px var(--accent-soft)
}

input[type="checkbox"],input[type="radio"] {
  accent-color:var(--accent);
  width:16px;
  height:16px;
  box-shadow:none;
  cursor:pointer
}

textarea {
  resize:vertical;
  min-height:94px
}

select {
  padding-right:24px;
  cursor:pointer
}

button:disabled {
  opacity:.45;
  cursor:not-allowed
}

button:not(:disabled):active {
  transform:translateY(1px)
}

:focus-visible {
  outline:3px solid var(--accent);
  outline-offset:3px
}

h1,h2,h3,h4,p {
  margin:0
}

h1 {
  font-size:32px;
  line-height:1.18;
  letter-spacing:-1.2px;
  font-weight:780
}

h2 {
  font-size:20px;
  letter-spacing:-.5px;
  line-height:1.3
}

h3 {
  font-size:15px;
  font-weight:750;
  letter-spacing:-.15px
}

h4 {
  font-size:13px;
  font-weight:750
}

p {
  line-height:1.7
}

small {
  font-size:11px
}

hr {
  border:0;
  border-top:1px solid var(--border);
  margin:20px 0
}

.icon {
  width:19px;
  height:19px
}

.muted {
  color:var(--muted)
}

.faint {
  color:var(--faint)
}

.positive {
  color:var(--green)
}

.negative {
  color:var(--red)
}

.accent {
  color:var(--accent)
}

.mono {
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace
}

.nowrap {
  white-space:nowrap
}

.right {
  text-align:right
}

.center {
  text-align:center
}

.full {
  width:100%
}

.hide {
  display:none!important
}

.small {
  font-size:12px
}

.tiny {
  font-size:10px
}

.bold {
  font-weight:750
}

.flex {
  display:flex;
  align-items:center
}

.between {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px
}

.gap6 {
  gap:6px
}

.gap8 {
  gap:8px
}

.gap12 {
  gap:12px
}

.gap16 {
  gap:16px
}

.wrap {
  flex-wrap:wrap
}

.stack {
  display:flex;
  flex-direction:column;
  gap:16px
}

.spacer {
  flex:1
}

.mt8 {
  margin-top:8px
}

.mt12 {
  margin-top:12px
}

.mt16 {
  margin-top:16px
}

.mt24 {
  margin-top:24px
}

.mb16 {
  margin-bottom:16px
}

.eyebrow {
  text-transform:uppercase;
  letter-spacing:1.8px;
  font-size:10px;
  font-weight:800;
  color:var(--accent);
  margin-bottom:9px
}

.tag {
  font-size:10px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:4px 8px;
  border-radius:6px;
  line-height:1.3;
  background:var(--soft);
  color:var(--muted);
  font-weight:650;
  white-space:nowrap
}

.tag.green {
  background:var(--green-soft);
  color:var(--green)
}

.tag.red {
  background:var(--red-soft);
  color:var(--red)
}

.tag.purple {
  background:var(--accent-soft);
  color:var(--accent)
}

.tag.gold {
  background:var(--yellow);
  color:var(--gold)
}

.tag.outline {
  background:transparent;
  border:1px solid var(--border)
}

.badge-dot {
  width:6px;
  height:6px;
  background:currentColor;
  border-radius:50%;
  display:inline-block
}

.skip-link {
  position:fixed;
  z-index:1000;
  left:20px;
  top:-80px;
  background:var(--surface);
  padding:12px;
  border:2px solid var(--accent)
}

.skip-link:focus {
  top:12px
}

/* Shell */
.sidebar {
  position:fixed;
  left:0;
  top:0;
  bottom:0;
  width:var(--sidebar);
  background:var(--panel);
  border-right:1px solid var(--border);
  padding:25px 15px 16px;
  z-index:40;
  display:flex;
  flex-direction:column
}

.brand {
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 5px 28px
}

.brand-symbol {
  width:34px;
  height:29px
}

.brand-name {
  font-size:23px;
  font-weight:820;
  letter-spacing:-1px;
  line-height:1
}

.brand-sub {
  font-size:8px;
  letter-spacing:1.5px;
  color:var(--muted);
  margin-top:5px;
  text-transform:uppercase
}

.sidebar-section {
  font-size:9px;
  letter-spacing:1.7px;
  color:var(--faint);
  font-weight:750;
  padding:17px 13px 9px
}

.nav-link {
  display:flex;
  align-items:center;
  gap:11px;
  padding:10px 13px;
  margin:3px 0;
  border:1px solid transparent;
  border-radius:10px;
  font-size:12px;
  color:var(--muted);
  font-weight:620;
  min-height:42px
}

.nav-link:hover {
  background:var(--soft);
  color:var(--text)
}

.nav-link.active {
  background:var(--accent-soft);
  border-color:#bdabfb;
  color:var(--accent);
  font-weight:750
}

.nav-link .icon {
  width:18px;
  height:18px
}

.nav-link .nav-count {
  margin-left:auto;
  font-size:10px;
  background:var(--surface);
  padding:0 6px;
  border-radius:5px
}

.sidebar-create {
  margin:20px 0 10px
}

.sidebar-foot {
  margin-top:auto;
  padding-top:12px
}

.sidebar-foot .nav-link {
  font-size:11px;
  min-height:34px;
  padding:7px 12px
}

.theme-control {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 10px 6px;
  color:var(--muted);
  font-size:11px;
  border-top:1px dashed var(--border);
  margin-top:10px
}

.theme-buttons {
  display:flex;
  border:1px solid var(--border);
  background:var(--soft);
  padding:3px;
  border-radius:8px
}

.theme-buttons button {
  border-radius:5px;
  padding:3px 6px;
  line-height:1
}

.theme-buttons button.active {
  background:var(--text);
  color:var(--panel)
}

.theme-buttons .icon {
  width:14px;
  height:14px
}

.sidebar-sandbox {
  font-size:9px;
  letter-spacing:.35px;
  color:var(--faint);
  padding:10px 10px 0
}

.topbar {
  height:var(--header);
  position:fixed;
  left:var(--sidebar);
  right:0;
  top:0;
  background:var(--panel);
  border-bottom:1px solid var(--border);
  display:flex;
  align-items:center;
  padding:0 26px;
  gap:14px;
  z-index:30
}

.search-box {
  display:flex;
  align-items:center;
  position:relative;
  gap:8px;
  max-width:458px;
  width:42%;
  min-width:200px
}

.search-box .icon {
  position:absolute;
  left:13px;
  color:var(--muted);
  width:17px
}

.search-box input {
  padding:11px 38px;
  background:var(--surface);
  font-size:12px;
  border-radius:10px
}

.search-box kbd {
  position:absolute;
  right:11px;
  color:var(--faint);
  font-size:10px;
  border:1px solid var(--border);
  border-radius:4px;
  padding:0 5px
}

.topbar-spacer {
  flex:1
}

.sandbox-pill {
  font-size:10px;
  display:flex;
  align-items:center;
  gap:6px;
  color:var(--muted);
  white-space:nowrap
}

.sandbox-pill .badge-dot {
  color:#a38ec7
}

.chain-select {
  width:133px;
  font-size:11px;
  background:var(--surface);
  padding:9px 12px
}

.topbar .btn {
  font-size:11px;
  padding:10px 14px;
  white-space:nowrap
}

.mobile-menu {
  display:none
}

.search-results {
  position:fixed;
  left:calc(var(--sidebar) + 26px);
  top:65px;
  width:458px;
  max-height:420px;
  overflow:auto;
  padding:8px;
  background:var(--surface);
  border:1px solid var(--border);
  box-shadow:0 16px 60px #20113725;
  border-radius:12px;
  z-index:90
}

.search-result {
  display:flex;
  padding:9px;
  gap:12px;
  align-items:center;
  border-radius:8px
}

.search-result:hover {
  background:var(--soft)
}

.search-result strong {
  font-size:12px
}

.search-result small {
  display:block;
  color:var(--muted);
  font-size:10px
}

.main {
  margin-left:var(--sidebar);
  padding:calc(var(--header) + 25px) 25px 40px;
  min-height:100vh;
  background-image:radial-gradient(var(--border) .8px,transparent .8px);
  background-size:18px 18px
}

.content-width {
  max-width:1740px;
  margin:0 auto
}

.page-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:24px
}

.page-head p {
  color:var(--muted);
  font-size:12px;
  margin-top:9px
}

.head-actions {
  display:flex;
  gap:9px;
  align-items:center
}

.view-note {
  color:var(--muted);
  font-size:10px;
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:18px
}

.view-note .icon {
  width:13px;
  height:13px
}

.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:9px;
  min-height:39px;
  padding:9px 14px;
  font-weight:700;
  font-size:12px;
  border:1px solid var(--border);
  background:var(--surface);
  transition:background .15s,box-shadow .15s,transform .15s;
  line-height:1.4
}

.btn:hover {
  background:var(--soft);
  border-color:#bdb0dd
}

.btn.primary {
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
  box-shadow:0 3px 0 #4f2bc7
}

.btn.primary:hover {
  background:var(--accent-hover)
}

.btn.dark {
  background:var(--text);
  border-color:var(--text);
  color:var(--panel)
}

.btn.ghost {
  border-color:transparent;
  box-shadow:none;
  background:transparent;
  color:var(--accent)
}

.btn.ghost:hover {
  background:var(--accent-soft)
}

.btn.danger {
  color:var(--red);
  border-color:var(--red);
  background:var(--red-soft)
}

.btn.sm {
  min-height:30px;
  padding:6px 10px;
  font-size:10px;
  border-radius:7px
}

.btn .icon {
  width:15px;
  height:15px
}

.icon-btn {
  width:30px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--surface);
  color:var(--muted)
}

.icon-btn:hover {
  color:var(--accent);
  background:var(--accent-soft)
}

.icon-btn .icon {
  width:15px;
  height:15px
}

.icon-btn.bookmarked {
  color:var(--accent);
  background:var(--accent-soft)
}

.text-link {
  display:inline-flex;
  gap:5px;
  align-items:center;
  color:var(--accent);
  font-weight:700;
  font-size:11px
}

.text-link:hover {
  text-decoration:underline
}

.text-link .icon {
  width:13px;
  height:13px
}

.panel {
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:0 3px 0 var(--shadow);
  min-width:0;
  overflow:hidden
}

.panel-pad {
  padding:20px
}

.panel-header {
  padding:19px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid var(--border)
}

.panel-title {
  display:flex;
  align-items:center;
  gap:9px;
  font-size:14px;
  font-weight:750;
  letter-spacing:-.2px
}

.title-icon {
  width:29px;
  height:29px;
  background:var(--accent-soft);
  color:var(--accent);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:8px
}

.title-icon .icon {
  width:15px;
  height:15px
}

.title-icon.green {
  background:var(--green-soft);
  color:var(--green)
}

.title-icon.gold {
  background:var(--yellow);
  color:var(--gold)
}

.panel-bottom {
  padding:13px 20px;
  border-top:1px dashed var(--border)
}

.segmented {
  display:inline-flex;
  gap:2px;
  padding:3px;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--soft);
  flex-shrink:0
}

.segmented button {
  font-size:10px;
  font-weight:650;
  color:var(--muted);
  border-radius:6px;
  padding:4px 10px;
  white-space:nowrap;
  min-height:25px
}

.segmented button.active {
  background:var(--text);
  color:var(--panel);
  box-shadow:0 1px 3px #0002
}

.tabs {
  display:flex;
  gap:6px;
  align-items:center;
  border-bottom:1px solid var(--border);
  padding:12px 18px;
  overflow:auto;
  scrollbar-width:thin
}

.tabs button,.tab {
  font-size:11px;
  line-height:1.4;
  white-space:nowrap;
  font-weight:700;
  padding:8px 12px;
  border:1px solid transparent;
  color:var(--muted);
  border-radius:8px
}

.tabs button:hover,.tab:hover {
  background:var(--soft)
}

.tabs button.active,.tab.active {
  background:var(--accent-soft);
  border-color:#bca7ff;
  color:var(--accent)
}

.tabs.clean {
  border:0;
  padding:0
}

.filter-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:20px
}

.filters {
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap
}

.filter-select {
  width:auto;
  min-width:114px;
  font-size:11px;
  padding:8px 10px;
  background:var(--panel)
}

/* Avatars are original, editable vector artwork, not scraped assets. */
.avatar {
  display:inline-flex;
  position:relative;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  width:38px;
  height:38px;
  border-radius:12px;
  overflow:hidden;
  border:1px solid #00000009;
  background:#e3d8ff;
  color:#6d44b8;
  box-shadow:inset 0 -3px 0 #0000000c
}

.avatar.violet {
  background:#e7dfff;
  color:#8358cb
}

.avatar.mint {
  background:#dcf3e9;
  color:#3a947c
}

.avatar.peach {
  background:#ffe5d4;
  color:#cc8953
}

.avatar.blue {
  background:#daeaff;
  color:#498bd2
}

.avatar.rose {
  background:#fddfea;
  color:#c96b97
}

.avatar.gold {
  background:#fff0c4;
  color:#b58b26
}

.avatar.slate {
  background:#e0e4ec;
  color:#64758d
}

.avatar.cyan {
  background:#d5f2f5;
  color:#499baa
}

.avatar .bot-art {
  width:100%;
  height:100%
}

.avatar.sm {
  width:32px;
  height:32px;
  border-radius:10px
}

.avatar.xs {
  width:24px;
  height:24px;
  border-radius:8px
}

.avatar.lg {
  width:56px;
  height:56px;
  border-radius:17px
}

.avatar.xl {
  width:76px;
  height:76px;
  border-radius:22px
}

.token-avatar {
  border-radius:50%;
  font-weight:850;
  font-size:15px;
  width:33px;
  height:33px
}

.avatar.token-avatar.lg {
  width:46px;
  height:46px;
  font-size:20px
}

.chain-dot {
  display:inline-flex;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#2c6cf6;
  color:#fff;
  font-size:8px;
  align-items:center;
  justify-content:center;
  font-weight:800;
  flex-shrink:0
}

.chain-dot.ethereum {
  background:#8b91be
}

.chain-dot.arbitrum {
  background:#263e61
}

.chain-dot.bnb {
  background:#e5b42c;
  color:#392f11
}

.network-label {
  display:inline-flex;
  gap:4px;
  align-items:center;
  font-size:10px;
  color:var(--muted)
}

.social-check {
  display:inline-flex;
  color:var(--accent);
  margin-left:3px
}

.social-check .icon {
  width:13px;
  height:13px
}

.sparkline {
  display:block;
  width:100%;
  height:52px;
  overflow:visible
}

.sparkline.mini {
  width:62px;
  height:27px
}

.chart-line {
  fill:none;
  stroke:var(--accent);
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round
}

.chart-line.negative {
  stroke:var(--red)
}

.chart-line.positive {
  stroke:var(--green)
}

/* Feed */
.feed-grid {
  display:grid;
  grid-template-columns:minmax(220px,.8fr) minmax(365px,1.65fr) minmax(228px,.83fr);
  gap:18px;
  align-items:start
}

.feed-grid>.stack {
  position:sticky;
  top:calc(var(--header) + 20px)
}

.list-controls {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  padding:14px 16px 8px;
  color:var(--muted);
  font-size:10px
}

.leader-row {
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px 16px;
  transition:.12s;
  min-width:0
}

.leader-row:hover {
  background:var(--soft)
}

.leader-row .info {
  flex:1;
  min-width:0
}

.leader-row strong {
  display:block;
  font-size:11px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}

.leader-row small {
  display:block;
  font-size:9px;
  color:var(--muted);
  margin-top:2px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}

.leader-row .value {
  font-size:11px;
  font-weight:800;
  white-space:nowrap
}

.rank {
  font-size:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--muted);
  background:var(--soft);
  border-radius:6px;
  min-width:22px;
  height:24px;
  font-weight:800
}

.rank.rank1 {
  background:#ffe59a;
  color:#976816
}

.rank.rank2 {
  background:#e5e1f2;
  color:#6d648d
}

.rank.rank3 {
  background:#ffdec4;
  color:#a36e3c
}

.leader-foot {
  font-size:9px;
  color:var(--muted);
  padding:11px 15px;
  border-top:1px dashed var(--border)
}

.feed-composer {
  padding:17px 20px;
  display:flex;
  gap:10px;
  border-bottom:1px dashed var(--border);
  align-items:center
}

.composer-btn {
  flex:1;
  color:var(--faint);
  font-size:11px;
  text-align:left;
  border-radius:9px;
  border:1px solid var(--border);
  background:var(--soft);
  padding:10px 13px
}

.feed-post {
  padding:20px;
  border-bottom:1px solid var(--border)
}

.feed-post:last-child {
  border-bottom:0
}

.post-header {
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:13px
}

.post-meta {
  flex:1;
  min-width:0
}

.post-meta strong {
  font-size:12px
}

.post-meta small {
  display:block;
  font-size:10px;
  color:var(--muted);
  margin-top:1px
}

.post-text {
  font-size:12px;
  line-height:1.8;
  color:var(--muted)
}

.post-card {
  display:flex;
  align-items:center;
  gap:9px;
  background:var(--soft);
  border:1px solid var(--border);
  border-radius:11px;
  padding:12px;
  margin-top:13px
}

.post-card:hover {
  border-color:#bdaee8
}

.post-card strong {
  font-size:12px;
  display:block
}

.post-card small {
  display:block;
  font-size:10px;
  color:var(--muted)
}

.post-card .value {
  margin-left:auto;
  text-align:right
}

.post-actions {
  display:flex;
  align-items:center;
  gap:15px;
  margin-top:12px
}

.post-actions button,.post-actions a {
  display:flex;
  align-items:center;
  gap:5px;
  font-size:10px;
  color:var(--muted);
  padding:0
}

.post-actions .icon {
  width:13px;
  height:13px
}

.post-actions button:hover,.post-actions a:hover {
  color:var(--accent)
}

.token-row {
  display:flex;
  gap:10px;
  align-items:center;
  padding:12px 16px
}

.token-row:hover {
  background:var(--soft)
}

.token-row .info {
  flex:1;
  min-width:0
}

.token-row strong {
  font-size:11px;
  display:block
}

.token-row small {
  font-size:9px;
  color:var(--muted);
  display:block
}

.token-row .value {
  text-align:right
}

.token-row .value strong {
  font-variant-numeric:tabular-nums
}

.token-row .tag {
  padding:2px 5px;
  font-size:9px;
  margin-top:3px
}

.cta-card {
  padding:22px;
  text-align:center;
  background:linear-gradient(150deg,var(--accent-soft),var(--panel) 75%)
}

.cta-art {
  display:flex;
  justify-content:center;
  align-items:center;
  height:96px;
  margin-bottom:12px
}

.cta-art .avatar {
  width:59px;
  height:59px;
  border:3px solid var(--panel);
  box-shadow:0 4px 0 var(--shadow);
  border-radius:17px;
  transform:rotate(-9deg)
}

.cta-art .avatar:nth-child(2) {
  width:72px;
  height:72px;
  z-index:1;
  transform:translateY(-8px);
  margin:0 -7px
}

.cta-art .avatar:nth-child(3) {
  transform:rotate(9deg)
}

.cta-card h3 {
  font-size:19px;
  letter-spacing:-.6px;
  line-height:1.3
}

.cta-card p {
  font-size:11px;
  color:var(--muted);
  margin:10px 0 19px
}

.cta-card .text-link {
  font-size:10px;
  margin-top:14px
}

.safety-card {
  padding:16px;
  display:flex;
  align-items:flex-start;
  gap:10px
}

.safety-card>.icon {
  color:var(--accent);
  width:19px
}

.safety-card strong {
  font-size:11px;
  display:block
}

.safety-card p {
  font-size:10px;
  color:var(--muted);
  margin-top:3px
}

.story-callout {
  background:var(--green-soft);
  border:1px solid var(--border);
  border-radius:10px;
  padding:13px;
  display:flex;
  gap:10px;
  align-items:center;
  font-size:10px;
  color:var(--green);
  margin:15px 16px 0
}

/* Boards & cards */
.with-rail {
  display:grid;
  grid-template-columns:minmax(0,1fr) 265px;
  gap:20px;
  align-items:start
}

.right-rail {
  display:flex;
  flex-direction:column;
  gap:18px;
  position:sticky;
  top:calc(var(--header) + 20px)
}

.board {
  padding:25px
}

.stats-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
  margin:22px 0
}

.stat-tile {
  border-radius:13px;
  border:1px solid var(--border);
  background:var(--soft);
  padding:17px 18px;
  box-shadow:0 3px 0 var(--shadow)
}

.stat-tile.mint {
  background:var(--green-soft)
}

.stat-tile.gold {
  background:var(--yellow)
}

.stat-label {
  font-size:9px;
  color:var(--muted);
  letter-spacing:1.1px;
  text-transform:uppercase;
  font-weight:750
}

.stat-value {
  font-size:27px;
  letter-spacing:-1px;
  font-weight:800;
  margin-top:5px;
  line-height:1.3
}

.stat-sub {
  font-size:10px;
  color:var(--muted);
  margin-top:4px
}

.table-panel {
  border:1px solid var(--border);
  border-radius:13px;
  overflow:hidden
}

.table-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:var(--soft);
  padding:14px 16px;
  border-bottom:1px solid var(--border)
}

.table-scroll {
  overflow-x:auto
}

.data-table {
  width:100%;
  border-collapse:collapse;
  white-space:nowrap;
  text-align:left
}

.data-table th {
  font-size:9px;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--faint);
  font-weight:650;
  padding:13px 15px;
  border-bottom:1px solid var(--border)
}

.data-table th button {
  padding:0;
  text-transform:inherit;
  letter-spacing:inherit;
  font-size:inherit;
  color:inherit;
  display:flex;
  gap:5px;
  align-items:center
}

.data-table th button .icon {
  width:11px;
  height:11px
}

.data-table td {
  padding:15px;
  border-bottom:1px solid var(--border);
  font-size:11px
}

.data-table tr:last-child td {
  border-bottom:0
}

.data-table tbody tr:hover {
  background:var(--soft)
}

.data-table .person {
  display:flex;
  gap:10px;
  align-items:center
}

.data-table .person strong {
  display:block;
  font-size:12px
}

.data-table .person small {
  font-size:10px;
  display:block;
  color:var(--muted)
}

.data-table .metric {
  font-weight:750;
  font-size:12px
}

.table-caption {
  color:var(--muted);
  font-size:10px;
  padding:13px 16px;
  border-top:1px solid var(--border)
}

.strategy-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:17px
}

.strategy-card {
  padding:18px;
  display:flex;
  flex-direction:column
}

.strategy-card:hover {
  border-color:#b9a6e8
}

.strategy-card-top {
  display:flex;
  align-items:center;
  gap:11px
}

.strategy-card-top .info {
  min-width:0;
  flex:1
}

.strategy-card-top h3 {
  font-size:14px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}

.strategy-card-top p {
  font-size:10px;
  color:var(--muted);
  margin-top:2px
}

.strategy-card .tag-row {
  margin-top:15px;
  display:flex;
  gap:6px;
  align-items:center
}

.strategy-card .return-row {
  display:flex;
  align-items:end;
  justify-content:space-between;
  margin:18px 0 8px;
  gap:10px
}

.strategy-card .return-value {
  font-size:24px;
  font-weight:800;
  letter-spacing:-.8px;
  line-height:1.3
}

.strategy-card .return-caption {
  font-size:9px;
  color:var(--muted);
  margin-top:3px
}

.strategy-card .sparkline {
  width:108px;
  height:42px
}

.mini-metrics {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:5px;
  background:var(--soft);
  padding:11px 8px;
  border-radius:9px;
  margin:12px 0
}

.mini-metrics .metric {
  padding:0 5px;
  min-width:0
}

.mini-metrics .metric+.metric {
  border-left:1px solid var(--border)
}

.mini-metrics label {
  display:block;
  color:var(--muted);
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.4px;
  white-space:nowrap
}

.mini-metrics strong {
  display:block;
  font-size:11px;
  margin-top:3px
}

.strategy-card .fee-row {
  font-size:10px;
  color:var(--muted);
  display:flex;
  justify-content:space-between;
  gap:8px;
  padding:5px 0 16px;
  margin-top:auto
}

.strategy-card .fee-row strong {
  font-size:10px;
  color:var(--text)
}

.strategy-card .btn {
  font-size:11px
}

.new-history {
  color:var(--muted);
  font-size:12px;
  font-weight:650;
  letter-spacing:0
}

.empty-state {
  padding:52px 24px;
  text-align:center;
  display:flex;
  align-items:center;
  flex-direction:column
}

.empty-state .empty-icon {
  width:70px;
  height:70px;
  background:var(--accent-soft);
  border:1px solid var(--border);
  border-radius:21px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--accent);
  margin-bottom:22px
}

.empty-state .empty-icon .icon {
  width:29px;
  height:29px
}

.empty-state h2 {
  font-size:23px
}

.empty-state p {
  font-size:12px;
  color:var(--muted);
  max-width:440px;
  margin:10px auto 22px
}

.empty-state .actions {
  display:flex;
  gap:10px;
  justify-content:center
}

.empty-small {
  padding:32px 20px;
  text-align:center;
  color:var(--muted);
  font-size:12px
}

.activity-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px
}

.activity-card {
  padding:18px;
  background:var(--panel)
}

.activity-card .post-text {
  min-height:86px;
  font-size:11px
}

.activity-card .post-header {
  gap:8px
}

.activity-card .post-header .tag {
  margin-left:auto;
  font-size:8px
}

.activity-card .post-meta strong {
  font-size:11px
}

.activity-card .post-meta small {
  font-size:9px
}

.activity-card .post-card {
  padding:10px
}

.activity-card .post-card strong {
  font-size:11px
}

.activity-card .post-card small {
  font-size:9px
}

.activity-card .post-actions {
  font-size:9px
}

.token-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px
}

.token-card {
  padding:19px
}

.token-card .mini-metrics {
  margin:18px 0
}

.token-card .sparkline {
  height:60px;
  margin:15px 0
}

.token-card h3 {
  font-size:16px
}

/* Detail screens */
.breadcrumb {
  display:flex;
  align-items:center;
  gap:6px;
  font-size:11px;
  color:var(--muted);
  margin-bottom:18px
}

.breadcrumb a:hover {
  color:var(--accent)
}

.breadcrumb .icon {
  width:13px;
  height:13px
}

.detail-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 296px;
  gap:20px;
  align-items:start
}

.profile-banner {
  padding:25px;
  background:linear-gradient(110deg,var(--accent-soft),var(--panel) 70%)
}

.profile-banner .profile-info {
  display:flex;
  gap:18px;
  align-items:center
}

.profile-banner h1 {
  font-size:27px;
  margin:4px 0
}

.profile-banner p {
  font-size:12px;
  color:var(--muted);
  max-width:650px
}

.profile-banner .handle {
  font-size:11px;
  color:var(--muted)
}

.profile-banner .tags {
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin-top:13px
}

.detail-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:13px 18px;
  border-bottom:1px solid var(--border);
  gap:8px
}

.detail-toolbar .tabs {
  border:0;
  padding:0
}

.detail-body {
  padding:24px
}

.detail-stats {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-bottom:1px solid var(--border);
  padding:20px 0;
  margin-bottom:22px
}

.detail-stat {
  padding:0 17px;
  border-right:1px solid var(--border)
}

.detail-stat:first-child {
  padding-left:0
}

.detail-stat:last-child {
  border:0
}

.detail-stat label {
  display:block;
  font-size:10px;
  color:var(--muted)
}

.detail-stat strong {
  font-size:23px;
  letter-spacing:-.7px;
  display:block;
  margin-top:5px
}

.detail-stat small {
  font-size:9px;
  color:var(--muted)
}

.chart-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:14px;
  gap:12px
}

.chart-head p {
  font-size:10px;
  color:var(--muted);
  margin-top:3px
}

.chart-wrap {
  position:relative;
  border:1px solid var(--border);
  background:var(--surface);
  padding:16px 12px 7px;
  border-radius:12px
}

.big-chart {
  width:100%;
  height:230px;
  display:block;
  overflow:visible
}

.big-chart text {
  font-family:var(--font);
  font-size:10px;
  fill:var(--muted)
}

.big-chart .grid {
  stroke:var(--border);
  stroke-dasharray:4 5;
  stroke-width:1
}

.big-chart .line {
  stroke:var(--accent);
  fill:none;
  stroke-width:2.6;
  stroke-linejoin:round;
  stroke-linecap:round
}

.chart-key {
  display:flex;
  gap:17px;
  font-size:9px;
  align-items:center;
  color:var(--muted);
  padding:10px 6px 3px
}

.chart-key span {
  display:flex;
  align-items:center;
  gap:5px
}

.chart-key i {
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--accent)
}

.detail-description {
  margin-top:26px
}

.detail-description p {
  color:var(--muted);
  font-size:12px;
  margin-top:9px
}

.action-panel {
  padding:22px
}

.action-panel h3 {
  font-size:18px;
  letter-spacing:-.5px
}

.action-panel p {
  font-size:11px;
  color:var(--muted);
  margin-top:7px
}

.definition-list {
  margin:17px 0
}

.definition-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:11px;
  padding:11px 0;
  border-bottom:1px dashed var(--border)
}

.definition-row:last-child {
  border:0
}

.definition-row span:first-child {
  color:var(--muted)
}

.definition-row strong {
  text-align:right;
  font-weight:650
}

.action-panel .btn {
  margin-top:7px
}

.subtle-notice {
  font-size:10px;
  color:var(--muted);
  border-radius:9px;
  background:var(--soft);
  padding:11px 12px;
  border:1px solid var(--border);
  line-height:1.7
}

.notice {
  padding:13px 14px;
  border-radius:10px;
  background:var(--accent-soft);
  border:1px solid var(--border);
  display:flex;
  gap:9px;
  align-items:flex-start;
  color:var(--muted);
  font-size:11px;
  line-height:1.7
}

.notice .icon {
  color:var(--accent);
  width:17px;
  margin-top:1px
}

.notice.warning {
  background:var(--yellow)
}

.notice.warning .icon {
  color:var(--gold)
}

.stat-box-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-bottom:20px
}

.stat-box {
  border:1px solid var(--border);
  background:var(--soft);
  border-radius:10px;
  padding:13px
}

.stat-box label {
  font-size:9px;
  color:var(--muted);
  display:block
}

.stat-box strong {
  display:block;
  font-size:19px;
  margin-top:4px;
  letter-spacing:-.5px
}

.token-detail-layout {
  display:grid;
  grid-template-columns:210px minmax(0,1fr) 257px;
  gap:18px;
  align-items:start
}

.token-detail-list {
  padding:7px 0
}

.token-detail-list .token-row {
  padding:12px
}

.token-detail-list .token-row.active {
  background:var(--accent-soft);
  border-left:3px solid var(--accent);
  padding-left:9px
}

.token-price {
  font-size:34px;
  font-weight:800;
  letter-spacing:-1px
}

.token-chart-top {
  padding:23px;
  border-bottom:1px solid var(--border)
}

.token-detail-metrics {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:20px
}

.token-detail-metrics div {
  padding:12px;
  background:var(--soft);
  border-radius:9px
}

.token-detail-metrics label {
  font-size:8px;
  letter-spacing:.6px;
  color:var(--muted);
  display:block;
  text-transform:uppercase
}

.token-detail-metrics strong {
  font-size:14px;
  display:block;
  margin-top:5px
}

/* Private workspace */
.portfolio-stats {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-bottom:24px
}

.portfolio-stats .stat-tile {
  box-shadow:none;
  background:var(--panel);
  padding:19px
}

.portfolio-stats .stat-value {
  font-size:25px
}

.owned-card {
  padding:20px;
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:15px
}

.owned-card .info {
  flex:1;
  min-width:0
}

.owned-card h3 {
  font-size:16px
}

.owned-card p {
  font-size:11px;
  color:var(--muted)
}

.owned-card .owned-metrics {
  display:flex;
  gap:24px;
  align-items:center
}

.owned-card .owned-metrics label {
  font-size:9px;
  color:var(--muted);
  display:block
}

.owned-card .owned-metrics strong {
  font-size:14px;
  display:block
}

.workspace-note {
  margin-bottom:20px
}

.setup-preview {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:20px
}

.setup-preview>div {
  border:1px solid var(--border);
  background:var(--soft);
  padding:18px;
  border-radius:12px;
  text-align:left
}

.setup-preview .step-number {
  width:26px;
  height:26px;
  border-radius:9px;
  background:var(--accent-soft);
  color:var(--accent);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:800;
  margin-bottom:9px
}

.setup-preview h4 {
  font-size:12px
}

.setup-preview p {
  font-size:10px;
  color:var(--muted);
  margin-top:5px
}

.settings-layout {
  display:grid;
  grid-template-columns:180px minmax(0,700px);
  gap:24px
}

.settings-nav button {
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  text-align:left;
  padding:12px;
  border-radius:9px;
  color:var(--muted);
  font-size:12px
}

.settings-nav button.active {
  background:var(--accent-soft);
  color:var(--accent)
}

.settings-nav .icon {
  width:16px
}

.settings-section {
  padding:24px
}

.settings-section h3 {
  font-size:17px;
  margin-bottom:6px
}

.settings-section>p {
  font-size:11px;
  color:var(--muted);
  margin-bottom:22px
}

.setting-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:16px 0;
  border-bottom:1px solid var(--border)
}

.setting-row:last-child {
  border:0
}

.setting-row h4 {
  font-size:12px
}

.setting-row p {
  font-size:10px;
  color:var(--muted);
  margin-top:4px
}

.setting-row select {
  max-width:168px;
  font-size:11px
}

.switch {
  width:35px;
  height:20px;
  flex-shrink:0;
  border-radius:20px;
  padding:3px;
  background:var(--border);
  position:relative;
  transition:.2s
}

.switch:before {
  content:'';
  display:block;
  width:14px;
  height:14px;
  border-radius:50%;
  background:white;
  box-shadow:0 1px 2px #0002;
  transition:.2s
}

.switch.on {
  background:var(--accent)
}

.switch.on:before {
  transform:translateX(15px)
}

.balance-card {
  padding:25px;
  background:linear-gradient(120deg,var(--accent-soft),var(--panel));
  margin-bottom:22px
}

.balance-card .amount {
  font-size:40px;
  font-weight:800;
  letter-spacing:-1.5px;
  margin:10px 0 2px
}

.balance-card p {
  font-size:11px;
  color:var(--muted)
}

.bar-chart {
  height:165px;
  display:flex;
  gap:10px;
  align-items:flex-end;
  border-bottom:1px solid var(--border);
  padding:12px 12px 0;
  margin:20px 0 7px
}

.bar-chart>div {
  flex:1;
  background:var(--accent);
  border-radius:4px 4px 0 0;
  min-height:4px;
  opacity:.7
}

.bar-chart>div:nth-child(2n) {
  opacity:1
}

.bar-labels {
  display:flex;
  justify-content:space-between;
  font-size:9px;
  color:var(--muted);
  padding:0 12px
}

.guide-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px
}

.guide-card {
  padding:24px
}

.guide-card h3 {
  font-size:17px;
  margin:13px 0 8px
}

.guide-card p {
  font-size:12px;
  color:var(--muted)
}

.guide-card .btn {
  margin-top:18px
}

/* Dialogs and creation flow */
.modal-backdrop {
  position:fixed;
  inset:0;
  background:#18102966;
  backdrop-filter:blur(5px);
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  animation:fade-in .15s
}

.modal {
  width:490px;
  max-width:100%;
  max-height:calc(100dvh - 48px);
  overflow:auto;
  border-radius:20px;
  background:var(--panel);
  border:1px solid var(--border);
  box-shadow:0 25px 100px #10052e45;
  position:relative
}

.modal.wide {
  width:690px
}

.modal-header {
  padding:23px 25px 0;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px
}

.modal-header h2 {
  font-size:23px;
  letter-spacing:-.6px
}

.modal-header p {
  font-size:11px;
  color:var(--muted);
  margin-top:7px
}

.modal-body {
  padding:22px 25px 25px
}

.modal-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:17px 25px;
  border-top:1px solid var(--border);
  background:var(--soft);
  position:sticky;
  bottom:0;
  z-index:2
}

.modal-footer small {
  font-size:9px;
  color:var(--muted)
}

.modal-close {
  position:absolute;
  right:17px;
  top:16px;
  z-index:5
}

.modal input,.modal select,.modal textarea {
  font-size:12px
}

.wallet-provider {
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid var(--border);
  border-radius:11px;
  background:var(--surface);
  padding:13px 15px;
  width:100%;
  margin-bottom:9px;
  text-align:left;
  transition:.12s
}

.wallet-provider:hover {
  background:var(--accent-soft);
  border-color:var(--accent)
}

.wallet-provider>strong {
  font-size:12px;
  flex:1
}

.wallet-logo {
  width:32px;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  background:var(--soft);
  color:var(--accent);
  font-weight:800
}

.wallet-logo.orange {
  background:#ffe7d0;
  color:#c67925
}

.wallet-logo.blue {
  background:#e3edff;
  color:#427de5
}

.wallet-logo.cyan {
  background:#dff5fa;
  color:#318baa
}

.wallet-logo .icon {
  width:19px
}

.field {
  display:block;
  margin-bottom:17px
}

.field>label,.field-label {
  display:block;
  font-size:11px;
  font-weight:700;
  margin-bottom:7px
}

.field .help {
  color:var(--muted);
  font-size:10px;
  margin-top:6px
}

.field-error,.form-error {
  color:var(--red);
  font-size:11px
}

.form-error {
  background:var(--red-soft);
  border-radius:8px;
  padding:9px 12px;
  margin-bottom:15px
}

.form-error:empty {
  display:none
}

.field-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px
}

.field-grid .field {
  margin-bottom:5px
}

.choice-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px
}

.choice {
  position:relative;
  padding:14px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface);
  display:flex;
  gap:10px;
  cursor:pointer;
  align-items:flex-start
}

.choice:has(input:checked) {
  background:var(--accent-soft);
  border-color:var(--accent)
}

.choice input {
  margin:3px 0 0;
  flex-shrink:0
}

.choice strong {
  font-size:11px;
  display:block
}

.choice small {
  font-size:10px;
  display:block;
  color:var(--muted);
  margin-top:3px;
  line-height:1.6
}

.stepper {
  display:flex;
  align-items:center;
  padding:24px 35px 20px;
  justify-content:space-between
}

.stepper .step {
  display:flex;
  align-items:center;
  flex-direction:column;
  gap:7px;
  position:relative;
  min-width:75px
}

.stepper .line {
  height:1px;
  background:var(--border);
  flex:1;
  margin-bottom:24px
}

.stepper .line.done {
  background:var(--accent)
}

.stepper .circle {
  width:27px;
  height:27px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  border:1px solid var(--border);
  color:var(--muted);
  font-size:11px;
  background:var(--soft);
  font-weight:750
}

.stepper .circle .icon {
  width:13px;
  height:13px
}

.stepper .step.current .circle,.stepper .step.done .circle {
  background:var(--accent);
  color:white;
  border-color:var(--accent)
}

.stepper .step.current .circle {
  box-shadow:0 0 0 5px var(--accent-soft)
}

.stepper .step span {
  font-size:10px;
  color:var(--muted)
}

.stepper .step.current span {
  color:var(--accent);
  font-weight:750
}

.permission-card {
  border:1px solid var(--border);
  border-radius:12px;
  overflow:hidden;
  margin:15px 0
}

.permission-title {
  display:flex;
  align-items:center;
  gap:10px;
  padding:16px;
  background:var(--soft)
}

.permission-title strong {
  font-size:12px
}

.permission-title small {
  display:block;
  color:var(--muted);
  font-size:10px;
  margin-top:3px
}

.permission-checks {
  padding:8px 16px 13px
}

.permission-check {
  display:flex;
  gap:8px;
  align-items:flex-start;
  font-size:11px;
  color:var(--muted);
  padding:5px 0
}

.permission-check .icon {
  width:15px;
  color:var(--green);
  margin-top:1px
}

.permission-details {
  font-size:11px;
  border-top:1px solid var(--border);
  padding:12px 16px;
  color:var(--muted)
}

.permission-details summary {
  color:var(--accent);
  cursor:pointer;
  font-size:10px;
  font-weight:700
}

.permission-details p {
  font-size:10px;
  margin-top:7px
}

.permission-details code {
  font-size:9px
}

.checkline {
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:11px;
  color:var(--muted);
  margin:13px 0;
  cursor:pointer
}

.checkline input {
  flex-shrink:0;
  margin-top:2px
}

.fee-choice {
  display:flex;
  gap:10px;
  align-items:flex-start;
  border:1px solid var(--border);
  padding:14px;
  border-radius:10px;
  margin-bottom:11px;
  cursor:pointer
}

.fee-choice:has(input:checked) {
  border-color:var(--accent);
  background:var(--accent-soft)
}

.fee-choice strong {
  font-size:11px;
  display:block
}

.fee-choice small {
  font-size:10px;
  color:var(--muted);
  display:block;
  margin-top:4px
}

.fee-choice input {
  flex-shrink:0
}

.review-block {
  padding:17px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--soft)
}

.review-block .definition-list {
  margin:10px 0 0
}

.review-block .definition-row {
  font-size:11px;
  padding:9px 0
}

.deploy-symbol {
  width:75px;
  height:75px;
  border-radius:23px;
  background:var(--accent-soft);
  color:var(--accent);
  display:flex;
  align-items:center;
  justify-content:center;
  margin:5px auto 22px;
  border:1px solid var(--border)
}

.deploy-symbol .icon {
  width:31px;
  height:31px
}

.deploy-title {
  text-align:center
}

.deploy-title p {
  font-size:12px;
  color:var(--muted);
  margin-top:8px
}

.deploy-steps {
  padding:23px 0 10px
}

.deploy-step {
  display:flex;
  gap:12px;
  padding:12px 0;
  align-items:center
}

.deploy-step .state {
  width:29px;
  height:29px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--border);
  border-radius:50%;
  color:var(--muted);
  font-size:11px
}

.deploy-step.done .state {
  background:var(--green-soft);
  color:var(--green);
  border-color:var(--green-soft)
}

.deploy-step.current .state {
  background:var(--accent);
  color:white;
  border-color:var(--accent)
}

.deploy-step .state .icon {
  width:14px
}

.deploy-step strong {
  display:block;
  font-size:12px
}

.deploy-step small {
  display:block;
  color:var(--muted);
  font-size:10px;
  margin-top:4px
}

.success-mark {
  width:92px;
  height:92px;
  background:var(--green-soft);
  border:1px solid #8cd8c0;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--green);
  margin:18px auto 24px;
  box-shadow:0 0 0 12px var(--soft)
}

.success-mark .icon {
  width:41px;
  height:41px
}

.success-summary {
  text-align:center;
  margin-bottom:24px
}

.success-summary h2 {
  font-size:26px
}

.success-summary p {
  font-size:12px;
  color:var(--muted);
  margin-top:9px
}

.modal-divider {
  font-size:10px;
  color:var(--muted);
  display:flex;
  align-items:center;
  gap:10px;
  margin:18px 0
}

.modal-divider:before,.modal-divider:after {
  content:'';
  height:1px;
  background:var(--border);
  flex:1
}

.telegram-steps {
  margin:14px 0
}

.telegram-steps>div {
  display:flex;
  gap:10px;
  padding:10px 0;
  font-size:11px;
  color:var(--muted)
}

.telegram-steps .rank {
  color:var(--accent);
  background:var(--accent-soft)
}

#toast-root {
  position:fixed;
  bottom:25px;
  left:calc(var(--sidebar) + 24px);
  right:24px;
  z-index:200;
  pointer-events:none;
  display:flex;
  justify-content:center
}

.toast {
  padding:13px 19px;
  background:var(--text);
  color:var(--panel);
  border-radius:12px;
  font-size:12px;
  box-shadow:0 6px 22px #0002;
  animation:toast-in .2s;
  display:flex;
  align-items:center;
  gap:9px;
  max-width:600px
}

.toast .icon {
  width:16px;
  height:16px
}

.spinner {
  width:15px;
  height:15px;
  display:inline-block;
  border:2px solid var(--border);
  border-top-color:var(--accent);
  border-radius:50%;
  animation:spin .7s linear infinite
}

.loading-button .spinner {
  border-color:#ffffff50;
  border-top-color:white
}

@keyframes spin {
  to {
    transform:rotate(360deg)
  }
}

@keyframes fade-in {
  from {
    opacity:0
  }
  to {
    opacity:1
  }
}

@keyframes toast-in {
  from {
    transform:translateY(8px);
    opacity:0
  }
  to {
    transform:translateY(0);
    opacity:1
  }
}

/* Responsive layouts */
@media(min-width:1650px) {
  .feed-grid {
    grid-template-columns:minmax(265px,.9fr) minmax(490px,1.8fr) minmax(280px,.93fr)
  }
  .leader-row {
    padding:14px 20px
  }
  .leader-row strong {
    font-size:12px
  }
  .leader-row small {
    font-size:10px
  }
  .leader-row .value {
    font-size:12px
  }
  .feed-post {
    padding:23px
  }
  .post-text {
    font-size:13px
  }
  .with-rail {
    grid-template-columns:minmax(0,1fr) 294px
  }
  .strategy-grid {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
  .activity-grid {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
  .token-detail-layout {
    grid-template-columns:255px minmax(0,1fr) 280px
  }
  .big-chart {
    height:280px
  }
}

@media(max-width:1350px) {
  :root {
    --sidebar:195px
  }
  .sidebar {
    padding:23px 12px 14px
  }
  .brand-name {
    font-size:21px
  }
  .brand-sub {
    font-size:7px
  }
  .main {
    padding-left:20px;
    padding-right:20px
  }
  .topbar {
    padding:0 20px
  }
  .feed-grid {
    grid-template-columns:minmax(205px,.85fr) minmax(350px,1.6fr)
  }
  .feed-grid>.feed-right {
    display:none
  }
  .with-rail {
    grid-template-columns:minmax(0,1fr) 236px;
    gap:17px
  }
  .strategy-grid,.token-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .activity-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .board {
    padding:21px
  }
  .stat-tile {
    padding:15px
  }
  .stat-value {
    font-size:25px
  }
  .data-table td,.data-table th {
    padding:13px 12px
  }
  .data-table .approach-column {
    display:none
  }
  .detail-layout {
    grid-template-columns:minmax(0,1fr) 260px;
    gap:17px
  }
  .detail-stat {
    padding:0 12px
  }
  .detail-stat strong {
    font-size:19px
  }
  .action-panel {
    padding:18px
  }
  .token-detail-layout {
    grid-template-columns:minmax(0,1fr) 248px
  }
  .token-detail-left {
    display:none
  }
  .search-results {
    left:calc(var(--sidebar) + 20px)
  }
  .sandbox-pill {
    display:none
  }
  .portfolio-stats {
    gap:12px
  }
  .portfolio-stats .stat-tile {
    padding:15px
  }
  .owned-card .owned-metrics {
    gap:16px
  }
}

@media(max-width:1080px) {
  :root {
    --sidebar:180px
  }
  .sidebar {
    padding-left:10px;
    padding-right:10px
  }
  .brand {
    margin-left:3px;
    gap:6px
  }
  .brand-name {
    font-size:19px
  }
  .brand-symbol {
    width:29px
  }
  .brand-sub {
    font-size:6px
  }
  .nav-link {
    font-size:11px;
    padding:10px
  }
  .with-rail {
    display:block
  }
  .right-rail {
    display:none
  }
  .feed-grid {
    grid-template-columns:218px minmax(0,1fr)
  }
  .page-head h1 {
    font-size:28px
  }
  .search-box {
    width:50%
  }
  .chain-select {
    width:119px
  }
  .detail-layout {
    grid-template-columns:minmax(0,1fr) 238px
  }
  .detail-body {
    padding:18px
  }
  .detail-stat strong {
    font-size:17px
  }
  .detail-stats {
    grid-template-columns:repeat(2,1fr);
    gap:17px
  }
  .detail-stat:nth-child(2) {
    border:0
  }
  .detail-stat:nth-child(3) {
    padding-left:0
  }
  .profile-banner {
    padding:22px
  }
  .profile-banner h1 {
    font-size:24px
  }
  .profile-banner .avatar.xl {
    width:63px;
    height:63px
  }
  .portfolio-stats {
    grid-template-columns:repeat(2,1fr)
  }
  .owned-card {
    flex-wrap:wrap
  }
  .owned-card .owned-metrics {
    flex:1
  }
  .settings-layout {
    grid-template-columns:150px minmax(0,1fr)
  }
  .topbar {
    gap:8px
  }
  .search-results {
    width:400px
  }
}

@media(max-width:850px) {
  :root {
    --sidebar:74px
  }
  .sidebar {
    padding:24px 10px 14px
  }
  .brand {
    margin:0 9px 25px
  }
  .brand-wordmark,.sidebar-section,.nav-link .nav-label,.sidebar-create .btn span,.sidebar-foot .nav-label,.theme-control>span,.sidebar-sandbox,.nav-count {
    display:none!important
  }
  .nav-link {
    justify-content:center;
    padding:11px 8px
  }
  .nav-link .icon {
    width:20px;
    height:20px
  }
  .sidebar-create .btn {
    padding:10px;
    width:100%
  }
  .sidebar-create .btn .icon {
    width:20px;
    height:20px
  }
  .theme-control {
    padding:10px 0;
    justify-content:center
  }
  .theme-buttons {
    flex-direction:column;
    gap:5px
  }
  .sidebar-foot .nav-link {
    padding:10px
  }
  .feed-grid {
    grid-template-columns:210px minmax(0,1fr)
  }
  .main {
    padding-left:18px;
    padding-right:18px
  }
  .topbar {
    padding:0 18px
  }
  .detail-layout {
    display:flex;
    flex-direction:column
  }
  .detail-layout>div {
    width:100%
  }
  .detail-layout .right-rail {
    display:flex;
    position:static;
    flex-direction:row;
    align-items:start
  }
  .detail-layout .right-rail>.panel {
    flex:1
  }
  .detail-stats {
    grid-template-columns:repeat(4,1fr)
  }
  .detail-stat:nth-child(2) {
    border-right:1px solid var(--border)
  }
  .detail-stat:nth-child(3) {
    padding-left:12px
  }
  .token-detail-layout {
    grid-template-columns:minmax(0,1fr) 210px
  }
  .token-detail-layout .action-panel {
    padding:16px
  }
  .search-results {
    left:calc(var(--sidebar) + 18px);
    width:360px
  }
  .chain-select {
    display:none
  }
  .settings-layout {
    grid-template-columns:135px minmax(0,1fr)
  }
  .setup-preview {
    gap:10px
  }
  .setup-preview>div {
    padding:13px
  }
}

@media(max-width:650px) {
  :root {
    --sidebar:0px;
    --header:64px
  }
  .sidebar {
    transform:translateX(-105%);
    width:218px;
    transition:transform .2s;
    padding:24px 15px;
    z-index:70
  }
  .sidebar.open {
    transform:translateX(0)
  }
  .sidebar.open .brand-wordmark,.sidebar.open .nav-label,.sidebar.open .sidebar-section,.sidebar.open .sidebar-create .btn span,.sidebar.open .theme-control>span,.sidebar.open .sidebar-sandbox {
    display:block!important
  }
  .sidebar.open .brand {
    margin:0 5px 25px
  }
  .sidebar.open .brand-name {
    font-size:23px
  }
  .sidebar.open .brand-sub {
    font-size:8px
  }
  .sidebar.open .nav-link {
    justify-content:flex-start;
    padding:10px 13px
  }
  .sidebar.open .theme-buttons {
    flex-direction:row
  }
  .sidebar.open .theme-control {
    justify-content:space-between
  }
  .mobile-scrim {
    position:fixed;
    inset:0;
    background:#1f163255;
    z-index:60
  }
  .mobile-menu {
    display:inline-flex;
    flex-shrink:0
  }
  .topbar {
    padding:0 12px;
    gap:9px
  }
  .search-box {
    flex:1;
    width:auto;
    min-width:0
  }
  .search-box input {
    padding:9px 12px 9px 32px;
    font-size:11px
  }
  .search-box .icon {
    left:10px;
    width:14px
  }
  .search-box kbd {
    display:none
  }
  .topbar-spacer {
    display:none
  }
  .topbar .btn {
    font-size:10px;
    padding:9px 11px;
    gap:5px
  }
  .topbar .btn .icon {
    width:13px
  }
  .main {
    padding:calc(var(--header) + 20px) 13px 25px
  }
  .page-head {
    margin-bottom:19px;
    gap:12px;
    align-items:flex-start
  }
  .page-head h1 {
    font-size:25px;
    letter-spacing:-.7px
  }
  .page-head p {
    font-size:11px;
    margin-top:7px
  }
  .eyebrow {
    font-size:8px;
    letter-spacing:1.4px
  }
  .head-actions {
    gap:5px
  }
  .head-actions>.btn {
    padding:8px 10px;
    min-height:33px;
    font-size:10px
  }
  .feed-grid {
    display:block
  }
  .feed-grid>.feed-left {
    display:none
  }
  .panel-header {
    padding:16px
  }
  .feed-post {
    padding:18px 16px
  }
  .feed-composer {
    padding:15px
  }
  .tabs {
    padding:12px
  }
  .panel {
    border-radius:14px
  }
  .board {
    padding:17px
  }
  .board .page-head {
    flex-wrap:wrap
  }
  .stats-grid {
    gap:8px;
    margin:18px 0
  }
  .stat-tile {
    padding:12px 10px
  }
  .stat-label {
    font-size:7px;
    letter-spacing:.65px
  }
  .stat-value {
    font-size:20px;
    letter-spacing:-.5px
  }
  .stat-sub {
    font-size:8px
  }
  .strategy-grid,.token-grid {
    grid-template-columns:1fr
  }
  .strategy-card {
    padding:19px
  }
  .strategy-card-top h3 {
    font-size:16px
  }
  .strategy-card .return-row {
    margin-top:20px
  }
  .strategy-card .sparkline {
    width:135px
  }
  .strategy-card .return-value {
    font-size:28px
  }
  .mini-metrics label {
    font-size:9px
  }
  .mini-metrics strong {
    font-size:12px
  }
  .activity-grid {
    grid-template-columns:1fr
  }
  .activity-card .post-text {
    min-height:0
  }
  .activity-card .post-header .tag {
    font-size:9px
  }
  .data-table td,.data-table th {
    padding:12px
  }
  .data-table .person strong {
    font-size:11px
  }
  .table-toolbar {
    padding:12px;
    gap:8px
  }
  .table-toolbar h3 {
    font-size:12px
  }
  .segmented button {
    padding:4px 8px;
    font-size:9px
  }
  .filter-row {
    gap:10px;
    margin-bottom:15px
  }
  .filter-select {
    min-width:102px;
    font-size:10px
  }
  .filter-row .small {
    font-size:10px
  }
  .profile-banner {
    padding:19px
  }
  .profile-banner .profile-info {
    gap:13px;
    align-items:flex-start
  }
  .profile-banner .avatar.xl {
    width:52px;
    height:52px;
    border-radius:16px
  }
  .profile-banner h1 {
    font-size:22px;
    letter-spacing:-.5px
  }
  .profile-banner .tags {
    gap:5px
  }
  .profile-banner p {
    font-size:11px
  }
  .detail-toolbar {
    padding:11px;
    align-items:flex-start
  }
  .detail-toolbar .tabs {
    gap:1px
  }
  .detail-toolbar .tabs button {
    padding:7px 9px;
    font-size:10px
  }
  .detail-toolbar .owner-badge {
    display:none
  }
  .detail-body {
    padding:17px
  }
  .detail-stats {
    grid-template-columns:repeat(2,1fr);
    gap:19px;
    padding-top:6px
  }
  .detail-stat strong {
    font-size:23px
  }
  .detail-stat:nth-child(2) {
    border:0
  }
  .detail-stat:nth-child(3) {
    padding-left:0
  }
  .detail-layout .right-rail {
    flex-direction:column
  }
  .detail-layout .right-rail>.panel {
    width:100%
  }
  .big-chart {
    height:200px
  }
  .stat-box-grid {
    gap:8px
  }
  .stat-box {
    padding:11px
  }
  .stat-box strong {
    font-size:16px
  }
  .stat-box label {
    font-size:8px
  }
  .token-detail-layout {
    display:flex;
    flex-direction:column
  }
  .token-detail-layout>.panel,.token-detail-layout>.stack {
    width:100%
  }
  .token-detail-layout .token-detail-left {
    display:none
  }
  .token-chart-top {
    padding:18px
  }
  .token-detail-metrics {
    gap:6px
  }
  .token-detail-metrics div {
    padding:10px
  }
  .token-detail-metrics strong {
    font-size:12px
  }
  .token-price {
    font-size:29px
  }
  .portfolio-stats {
    gap:10px
  }
  .portfolio-stats .stat-tile {
    padding:14px
  }
  .portfolio-stats .stat-value {
    font-size:23px
  }
  .owned-card {
    padding:16px;
    gap:12px
  }
  .owned-card h3 {
    font-size:14px
  }
  .owned-card .owned-metrics {
    order:4;
    flex-basis:100%;
    padding-top:13px;
    border-top:1px solid var(--border);
    justify-content:space-between
  }
  .owned-card>.btn {
    font-size:10px
  }
  .owned-card .avatar.lg {
    width:42px;
    height:42px;
    border-radius:13px
  }
  .setup-preview {
    grid-template-columns:1fr
  }
  .empty-state {
    padding:38px 18px
  }
  .empty-state h2 {
    font-size:22px
  }
  .empty-state p {
    font-size:11px
  }
  .empty-state .actions {
    flex-direction:column
  }
  .settings-layout {
    display:block
  }
  .settings-nav {
    display:flex;
    gap:5px;
    margin-bottom:15px
  }
  .settings-nav button {
    font-size:11px;
    justify-content:center;
    padding:10px 8px
  }
  .settings-nav .icon {
    width:14px
  }
  .settings-section {
    padding:20px
  }
  .setting-row {
    gap:12px
  }
  .setting-row select {
    max-width:133px
  }
  .guide-grid {
    grid-template-columns:1fr
  }
  .modal-backdrop {
    padding:12px
  }
  .modal {
    max-height:calc(100dvh - 24px);
    border-radius:16px
  }
  .modal-header {
    padding:23px 20px 0
  }
  .modal-header h2 {
    font-size:21px
  }
  .modal-header p {
    font-size:10px
  }
  .modal-body {
    padding:20px
  }
  .modal-footer {
    padding:15px 20px;
    gap:9px
  }
  .modal-footer .btn {
    font-size:10px;
    padding:9px 11px
  }
  .modal-footer small {
    font-size:8px;
    max-width:115px
  }
  .choice-grid {
    gap:9px
  }
  .choice {
    padding:12px 10px;
    gap:7px
  }
  .stepper {
    padding:24px 24px 17px
  }
  .stepper .step {
    min-width:65px
  }
  .stepper .step span {
    font-size:9px
  }
  .field-grid {
    gap:12px
  }
  .search-results {
    top:57px;
    left:13px;
    width:calc(100% - 26px)
  }
  #toast-root {
    left:14px;
    right:14px;
    bottom:18px
  }
  .toast {
    font-size:11px;
    padding:12px 15px
  }
  .chart-head {
    align-items:flex-start
  }
  .chart-head h3 {
    font-size:12px
  }
  .detail-description p {
    font-size:11px
  }
  .tag {
    font-size:9px
  }
}

@media(prefers-reduced-motion:reduce) {
  * {
    scroll-behavior:auto!important;
    animation:none!important;
    transition:none!important
  }
}

/* Final shell refinements */
.topbar .mobile-menu {
  display:none
}

.sidebar-create .btn {
  width:100%
}

.token-chart-top h1 {
  font-size:23px;
  letter-spacing:-.6px
}

@media(max-width:650px) {
  .topbar .mobile-menu {
    display:inline-flex
  }
  .token-chart-top h1 {
    font-size:20px
  }
}

.profile-info>.spacer {
  min-width:0
}

.profile-banner h1,.owned-card h3 {
  overflow-wrap:anywhere
}

.definition-row strong {
  overflow-wrap:anywhere;
  min-width:0
}

@media(max-width:850px) {
  .detail-layout>* {
    width:100%;
    min-width:0
  }
}

@media(max-width:650px) {
  .sidebar {
    visibility:hidden
  }
  .sidebar.open {
    visibility:visible
  }
}



/* AlphaBros additions */
.chain-dot.sepolia { background:#6f5cff }
.chain-dot.robinhood-chain { background:#00c805; color:#062b0a }
.brand-symbol { width:34px; height:28px }
.live-banner { display:flex; align-items:center; gap:10px; padding:10px 14px; margin-bottom:18px; border-radius:12px; border:1px solid var(--border); background:var(--soft); font-size:11px; color:var(--muted) }
.live-banner strong { color:var(--text) }
.addr { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.92em }
.chain-dot.robinhood-testnet { background:#00c805; color:#062b0a }

/* Live market */
.market-grid { display:grid; grid-template-columns:minmax(230px,280px) minmax(0,1fr) minmax(240px,290px); gap:18px; align-items:start }
.market-col { position:sticky; top:calc(var(--header) + 20px) }
.market-scroll { max-height:calc(100vh - var(--header) - 230px); overflow-y:auto }
.market-strip { display:flex; flex-wrap:wrap; gap:22px; align-items:center; padding:11px 16px; margin:-6px 0 18px; border-radius:12px; background:linear-gradient(110deg,var(--accent-soft),var(--panel)); border:1px solid var(--border); font-size:11px; color:var(--muted) }
.market-strip b { color:var(--text); font-family:ui-monospace,SFMono-Regular,Consolas,monospace; margin-right:4px }
.swap-row { display:flex; align-items:center; gap:8px; padding:9px 14px; border-bottom:1px solid var(--border); font-size:11px }
.swap-row:hover { background:var(--soft) }
.swap-row .info { flex:1; min-width:0 }
.swap-row strong { display:block; font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.swap-row small { display:block; font-size:9px; color:var(--muted) }
.swap-row .tag { font-size:8px; padding:2px 5px }
.market-grid .data-table td, .market-grid .data-table th { padding:10px 8px; font-size:11px }
.market-grid .data-table td:first-child, .market-grid .data-table th:first-child { padding-left:14px }
.market-grid .data-table .person small { font-size:9px }
.market-grid .data-table tbody tr[data-href]:hover { background:var(--soft) }
@media(max-width:1350px){ .market-grid { grid-template-columns:minmax(220px,260px) minmax(0,1fr) } .market-grid > section:last-child { grid-column:1 / -1; position:static } }
@media(max-width:850px){ .market-grid { grid-template-columns:1fr } .market-col { position:static } .market-scroll { max-height:none } }

/* Live market: token + wallet detail pages */
.mk-stack { display:flex; flex-direction:column; gap:18px; min-width:0 }
.mk-stack > .panel { margin:0 }
.mk-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(118px,1fr)); border-top:1px solid var(--border) }
.mk-kpi { padding:15px 18px; border-right:1px solid var(--border); border-bottom:1px solid var(--border); min-width:0 }
.mk-kpi label { display:block; font-size:10px; color:var(--muted); text-transform:uppercase; letter-spacing:.4px }
.mk-kpi strong { display:block; font-size:17px; margin-top:5px; letter-spacing:-.4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.mk-kpi small { display:block; font-size:10px; color:var(--muted); margin-top:3px }
.mk-hero-price { margin-left:auto; text-align:right; flex-shrink:0 }
.mk-hero-price .big { font-size:26px; font-weight:800; letter-spacing:-.8px }
.mk-bio { margin-top:10px }
.mk-chart-frame { display:block; width:100%; height:440px; border:0; border-top:1px solid var(--border); border-radius:0 0 16px 16px; background:var(--soft) }
.mk-side-body { padding:16px 18px }
.mk-btns { display:flex; flex-wrap:wrap; gap:8px }
.mk-btns .btn { flex:1; justify-content:center }
.mk-change-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; text-align:center }
.mk-change-grid > div { background:var(--soft); border:1px solid var(--border); border-radius:10px; padding:8px 4px; font-size:11px }
.mk-change-grid label { display:block; font-size:9px; color:var(--muted); margin-bottom:3px }
.mk-bar-legend { display:flex; justify-content:space-between; font-size:11px; margin-top:14px }
.mk-bars { display:flex; height:7px; border-radius:99px; overflow:hidden; margin-top:6px; background:var(--soft) }
.mk-bars span:first-child { background:var(--green) }
.mk-bars span:last-child { background:var(--red) }
.mk-facts { display:grid; grid-template-columns:1fr auto; gap:7px 12px; margin-top:14px; font-size:11px }
.mk-facts span { color:var(--muted) }
.mk-facts b { text-align:right; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-weight:600 }
.mk-eq { position:relative }
.mk-eq svg { display:block; width:100%; height:auto; cursor:crosshair }
.mk-axis { font-size:10px; fill:var(--muted) }
.mk-tip { position:absolute; pointer-events:none; background:var(--text); color:var(--panel); font-size:11px; padding:6px 9px; border-radius:8px; white-space:nowrap; box-shadow:0 6px 18px rgba(0,0,0,.18) }
.swap-row a { color:inherit }
.swap-row a:hover { color:var(--accent) }
.swap-row .swap-tx { color:var(--muted); display:inline-flex }
.swap-row .swap-tx .icon { width:12px; height:12px }
.token-row .value small { display:block; font-size:9px }
@media (max-width:1100px) { .mk-chart-frame { height:360px } }
@media (max-width:640px) { .mk-hero-price { margin-left:0; text-align:left } .profile-banner .profile-info { flex-wrap:wrap } }

/* Terms & Conditions gate (blocking, cannot be dismissed) */
.terms-gate { z-index:200; backdrop-filter:blur(6px) }
.terms-modal { max-width:520px; width:100%; max-height:calc(100dvh - 32px); display:flex; flex-direction:column; overflow:hidden; padding:0 }
.terms-head { flex-shrink:0; padding:30px 28px 22px; text-align:center; border-bottom:1px solid var(--border); background:linear-gradient(180deg,var(--accent-soft),var(--panel)) }
.terms-icon { width:54px; height:54px; border-radius:50%; margin:0 auto 14px; display:flex; align-items:center; justify-content:center; background:var(--accent); color:#fff; box-shadow:0 8px 22px rgba(113,71,247,.35) }
.terms-icon .icon { width:26px; height:26px }
.terms-head h2 { font-size:22px; margin:0 0 6px }
.terms-head p { font-size:12px; color:var(--muted); margin:0 }
.terms-scroll { flex:1; min-height:0; max-height:260px; overflow-y:auto; overscroll-behavior:contain; padding:20px 28px; font-size:12.5px; line-height:1.6; color:var(--muted) }
.terms-scroll p { margin:0 0 12px }
.terms-foot { flex-shrink:0; padding:8px 28px 26px; display:flex; flex-direction:column; gap:10px; text-align:center }
.terms-accept { width:100%; justify-content:center; padding:12px }
.terms-accept[disabled] { opacity:.55; cursor:not-allowed }
.terms-foot small { font-size:10.5px; color:var(--muted) }
.terms-disconnect { align-self:center; background:none; border:0; box-shadow:none; color:var(--muted) }
.terms-disconnect:hover { color:var(--text) }
.terms-error { display:flex; gap:8px; align-items:flex-start; text-align:left; padding:9px 11px; border-radius:10px; background:color-mix(in srgb,var(--red) 10%,transparent); border:1px solid color-mix(in srgb,var(--red) 30%,transparent); color:var(--red); font-size:11.5px }
.terms-error .icon { width:14px; height:14px; flex-shrink:0; margin-top:1px }

/* Wallet privacy: masked addresses can't be selected or copied */
.masked { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.2px; user-select:none; -webkit-user-select:none; cursor:default; white-space:nowrap }
/* People: ranking + profiles + account wallets */
.data-table tr.row-me td { background:color-mix(in srgb,var(--accent) 7%,transparent) }
.link-steps { margin:0; padding-left:18px; font-size:12px; color:var(--muted); display:grid; gap:8px }
.link-steps b { color:var(--text) }
.notice.mt12 { margin-top:12px }
.notice .btn { margin-left:6px; vertical-align:middle }
.data-table .person small { display:block }
.link-wallets, .link-accounts { display:grid; gap:8px; margin-top:14px }
.link-wallet, .link-account { display:flex; align-items:center; gap:12px; width:100%; padding:12px 14px; border:1px solid var(--border); border-radius:12px; background:var(--panel); color:var(--text); font:inherit; font-size:13px; cursor:pointer; text-align:left; transition:border-color .15s, background .15s }
.link-wallet:hover:not([disabled]), .link-account:hover:not([disabled]) { border-color:var(--accent); background:var(--accent-soft) }
.link-wallet[disabled], .link-account[disabled] { opacity:.5; cursor:default }
.link-wallet img { border-radius:7px }
.link-wallet .spacer, .link-account .spacer { flex:1 }
.link-account .masked { font-size:13px }
.ranking-switch { display:inline-flex; gap:4px; padding:4px; margin:0 0 18px; border:1px solid var(--border); border-radius:12px; background:var(--panel); box-shadow:0 2px 0 var(--shadow) }
.ranking-switch a { display:inline-flex; align-items:center; gap:7px; padding:8px 14px; border-radius:9px; font-size:12.5px; font-weight:600; color:var(--muted) }
.ranking-switch a .icon { width:15px; height:15px }
.ranking-switch a:hover { color:var(--text) }
.ranking-switch a.active { background:var(--accent); color:#fff }
.insider-tag { display:inline-flex; align-items:center; gap:3px; vertical-align:middle; cursor:help; white-space:nowrap }
.insider-tag .icon { width:11px; height:11px }
.insider-tag.sm { font-size:8.5px; padding:1px 6px; margin-left:4px }
/* live search */
.search-results { max-height:min(70vh,560px); overflow-y:auto }
.search-group { padding:10px 16px 4px; font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--muted) }
.search-price { display:flex; flex-direction:column; align-items:flex-end; gap:2px; font-size:11px; margin-left:auto }
.search-foot { padding:9px 16px; border-top:1px solid var(--border); font-size:10px; color:var(--muted) }
.chain-tag { font-size:8.5px; padding:1px 6px; vertical-align:middle }
.search-result.unsupported { opacity:.85 }
.search-result.unsupported strong .icon { width:11px; height:11px; vertical-align:-1px }
.search-result > div { min-width:0; flex:1 }
.search-result strong, .search-result small { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.search-results { overflow-x:hidden }
/* swap table pager */
.pager { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:12px 16px; border-top:1px solid var(--border); font-size:11px }
.pager-btns { display:flex; align-items:center; gap:4px; flex-wrap:wrap }
.pager-btns .btn { min-width:32px; justify-content:center }

/* ---- Manual swap drawer (KolsPilot design) + compact pools in the Market panel ---- */
.sw-backdrop {position:fixed;inset:0;z-index:1100;display:flex;justify-content:flex-end;background:rgba(28,22,51,.24);backdrop-filter:blur(2px);animation:sw-fade .16s ease;}
.sw-drawer {width:464px;max-width:100%;height:100%;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--panel);border-left:1px solid var(--border);box-shadow:-16px 0 70px rgba(33,23,62,.13);color:var(--text);animation:sw-slide .2s ease;}
.sw-header {min-height:87px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px;border-bottom:1px solid var(--border);background:var(--surface);}
.sw-heading {display:flex;align-items:center;gap:12px;min-width:0;}
.sw-heading h2 {font-size:24px;line-height:1.2;letter-spacing:-.7px;outline:none;margin:0;}
.sw-heading small {font-size:11px;color:var(--muted);display:block;margin-top:4px;}
.sw-heading .title-icon {width:40px;height:40px;flex-shrink:0;}
.sw-header-tools {display:flex;gap:5px;align-items:center;}
.sw-header-tools .icon-btn {width:32px;height:32px;}
.sw-body {padding:22px 24px 16px;overflow:auto;overscroll-behavior:contain;flex:1;min-height:0;scrollbar-width:thin;}
.sw-footer {padding:14px 24px 16px;border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;}
.sw-intro {display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:8px;}
.sw-intro .tag {padding:5px 9px;}
.sw-muted {font-size:12px;line-height:1.6;color:var(--muted);}
.sw-context {display:grid;grid-template-columns:1.25fr 1fr;gap:10px;}
.sw-context label {font-size:11px;font-weight:650;line-height:1.4;color:var(--muted);display:flex;flex-direction:column;gap:7px;}
.sw-context select {width:100%;height:42px;background:var(--surface);border:1px solid var(--border);border-radius:10px;font-weight:650;font-size:12px;padding:8px 10px;color:var(--text);min-width:0;}
.sw-source-id {font-size:10px;color:var(--muted);display:flex;align-items:center;gap:5px;margin:10px 0 20px;}
.sw-source-id .icon {width:13px;height:13px;}
.sw-connection {margin-left:auto;color:var(--muted);font-size:10px;}
.sw-connection.on {color:var(--green);}
.sw-amount-box {border:1px solid var(--border);background:var(--soft);border-radius:18px;padding:16px;}
.sw-amount-box.receive {background:var(--surface);}
.sw-amount-top {display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);gap:8px;}
.sw-amount-top label,.sw-amount-top>span:first-child {font-weight:650;color:var(--text);font-size:12px;}
.sw-amount-top b {font-weight:500;}
.sw-amount-main {display:flex;align-items:center;gap:12px;margin:12px 0 9px;}
.sw-amount-main input,.sw-amount-main output {display:block;width:100%;min-width:0;flex:1;padding:0;background:transparent;border:0;outline:none;box-shadow:none;border-radius:0;letter-spacing:-1px;font-family:var(--font);font-size:31px;line-height:1.3;font-weight:650;color:var(--text);}
.sw-amount-main input::placeholder {color:var(--faint);}
.sw-amount-main input:focus {box-shadow:0 2px 0 var(--accent);}
.sw-amount-main output {font-size:29px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sw-token {display:flex;gap:7px;align-items:center;flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-radius:30px;padding:6px 10px 6px 6px;color:var(--text);cursor:pointer;box-shadow:0 2px 0 var(--shadow);}
.sw-token .avatar {width:25px;height:25px;font-size:14px;}
.sw-token strong {font-size:14px;}
.sw-token .icon {width:14px;height:14px;color:var(--muted);}
.sw-token:hover {border-color:var(--accent);}
.sw-amount-bottom {font-size:11px;color:var(--muted);display:flex;align-items:center;justify-content:space-between;min-height:22px;gap:8px;}
.sw-presets {display:flex;gap:5px;}
.sw-presets button {color:var(--accent);background:var(--surface);border:1px solid var(--border);padding:3px 7px;border-radius:5px;font-weight:600;font-size:10px;cursor:pointer;}
.sw-direction-wrap {position:relative;height:13px;display:flex;justify-content:center;align-items:center;z-index:1;}
.sw-direction {width:33px;height:33px;display:grid;place-items:center;border:4px solid var(--panel);border-radius:10px;background:var(--accent-soft);color:var(--accent);cursor:pointer;}
.sw-direction .icon {width:17px;height:17px;}
.sw-rate {display:flex;gap:8px;justify-content:space-between;align-items:center;font-size:11px;font-weight:600;padding:14px 1px 12px;border-bottom:1px dashed var(--border);}
.sw-rate .sw-muted {font-size:10px;font-weight:400;}
.sw-details-toggle {display:flex;justify-content:space-between;gap:10px;width:100%;padding:14px 0;border:0;background:transparent;cursor:pointer;color:var(--muted);font-size:11px;}
.sw-details-toggle span {display:flex;align-items:center;gap:6px;}
.sw-details-toggle .icon {width:14px;height:14px;}
.sw-details {background:var(--soft);border-radius:12px;padding:8px 13px;margin:0 0 13px;}
.sw-line {display:flex;justify-content:space-between;gap:18px;align-items:center;padding:9px 0;font-size:11px;line-height:1.4;}
.sw-line+.sw-line {border-top:1px solid var(--border);}
.sw-line>span {color:var(--muted);}
.sw-line strong {text-align:right;font-size:11px;font-weight:650;overflow-wrap:anywhere;}
.sw-line strong .network-label {font-size:11px;}
.sw-rule {display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.6;color:var(--muted);padding:14px 0 0;border-top:1px solid var(--border);}
.sw-rule .icon {color:var(--accent);flex-shrink:0;width:17px;height:17px;margin-top:2px;}
.sw-rule strong {color:var(--text);font-weight:600;}
.sw-notice {display:flex;align-items:flex-start;gap:8px;padding:12px;border-radius:10px;background:var(--soft);border:1px solid var(--border);color:var(--muted);font-size:11px;line-height:1.6;margin-bottom:12px;}
.sw-notice .icon {width:16px;height:16px;flex-shrink:0;margin-top:1px;}
.sw-notice.error {color:var(--red);background:var(--red-soft);border-color:color-mix(in srgb,var(--red) 25%,transparent);}
.sw-notice.warning {color:var(--gold);background:var(--yellow);}
.sw-fee-summary {display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:12px;}
.sw-fee-summary strong {color:var(--text);font-size:12px;}
.sw-main-btn {min-height:48px;font-size:13px;justify-content:center;border-radius:11px;}
.sw-demo-caption {color:var(--muted);font-size:10px;text-align:center;line-height:1.5;margin:12px 0 0;}
.sw-search {display:flex;align-items:center;gap:9px;border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin:20px 0 12px;background:var(--surface);}
.sw-search .icon {color:var(--muted);width:17px;height:17px;}
.sw-search input {width:100%;background:transparent;outline:none;border:0;color:var(--text);font-size:13px;padding:0;}
.sw-token-row {width:100%;border:0;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;background:transparent;padding:14px 6px;color:var(--text);text-align:left;cursor:pointer;border-radius:9px;}
.sw-token-row:hover {background:var(--soft);}
.sw-token-row:disabled {opacity:.4;cursor:not-allowed;}
.sw-token-row>span:not(.avatar) {display:flex;flex-direction:column;gap:5px;}
.sw-token-row strong {font-size:13px;}
.sw-token-row small {font-size:11px;color:var(--muted);}
.sw-token-balance {margin-left:auto;text-align:right;}
.sw-empty {padding:36px 12px;color:var(--muted);text-align:center;font-size:13px;}
.sw-text {color:var(--accent);font-size:11px;font-weight:600;display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;cursor:pointer;padding:8px 0;}
.sw-text .icon {width:14px;height:14px;}
.sw-setting-label {margin:24px 0 10px;display:block;font-size:12px;font-weight:600;}
.sw-slip-options {display:flex;gap:8px;margin-bottom:20px;}
.sw-slip-options>button {background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 14px;cursor:pointer;font-size:12px;color:var(--text);}
.sw-slip-options>button.active {background:var(--accent-soft);color:var(--accent);border-color:var(--accent);}
.sw-slip-options>div {display:flex;align-items:center;flex:1;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:6px 10px;}
.sw-slip-options input {border:0;background:transparent;min-width:0;width:100%;color:var(--text);font-size:12px;outline:none;padding:0;}
.sw-slip-options>div>span {font-size:12px;color:var(--muted);}
.sw-small-note {font-size:11px;color:var(--muted);line-height:1.65;margin-top:17px;}
.sw-review-pair {background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px;margin:0 0 16px;position:relative;}
.sw-review-pair>div {display:grid;grid-template-columns:48px 1fr;column-gap:12px;align-items:center;}
.sw-review-pair .avatar {grid-row:span 2;width:43px;height:43px;font-size:20px;}
.sw-review-pair div>span:not(.avatar) {font-size:11px;color:var(--muted);}
.sw-review-pair strong {font-size:23px;letter-spacing:-.5px;line-height:1.6;}
.sw-review-arrow {display:block;margin:6px 0 6px 12px;color:var(--muted);}
.sw-approval {display:flex;align-items:center;gap:11px;margin:16px 0;}
.sw-step-number {width:28px;height:28px;border-radius:9px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex-shrink:0;font-size:12px;font-weight:700;}
.sw-step-number.done {background:var(--green-soft);color:var(--green);}
.sw-step-number .icon {width:16px;height:16px;}
.sw-approval strong {display:block;font-size:12px;font-weight:600;}
.sw-approval small {display:block;font-size:10px;color:var(--muted);margin-top:5px;line-height:1.5;}
.sw-expiry {display:flex;justify-content:center;gap:6px;align-items:center;font-size:11px;color:var(--muted);margin-bottom:12px;}
.sw-expiry .icon {width:14px;height:14px;}
.sw-expiry button {border:0;background:transparent;color:var(--accent);font-weight:600;cursor:pointer;}
.sw-cancel {display:block;width:100%;border:0;background:transparent;color:var(--muted);font-size:12px;font-weight:600;padding:12px 0 0;cursor:pointer;}
.sw-cancel:disabled {opacity:.4;}
.sw-success-mark {display:grid;place-items:center;width:70px;height:70px;margin:28px auto 20px;border-radius:50%;background:var(--green-soft);color:var(--green);box-shadow:0 0 0 10px color-mix(in srgb,var(--green-soft) 45%,transparent);}
.sw-success-mark .icon {width:32px;height:32px;}
.sw-success-title {text-align:center;font-size:25px;letter-spacing:-.6px;margin:0 0 10px;}
.sw-success-text {text-align:center;font-size:15px;font-weight:600;line-height:1.8;margin:0 0 28px;}
.sw-success-text .sw-muted {margin:0 4px;}
@keyframes sw-fade {from{opacity:0}to{opacity:1}}
@keyframes sw-slide {from{transform:translateX(30px)}to{transform:translateX(0)}}
.sw-presets button:disabled {opacity:.45;cursor:not-allowed;}
.sw-amount-main output .spinner {width:22px;height:22px;}
.sw-main-btn .spinner {margin-right:8px;}
.sw-token img {width:24px;height:24px;}
.sw-token-row img, .sw-token-row .avatar {flex-shrink:0;}
.sw-review-pair img {grid-row:span 2;}
body.sw-lock {overflow:hidden;}
.sw-card {display:flex;flex-direction:column;gap:10px;}
.sw-card .tag {align-self:flex-start;}
.sw-card h3 {margin:2px 0 0;}
.sw-card p {margin:0;font-size:12px;color:var(--muted);line-height:1.6;}
.mk-pools {margin-top:14px;border-top:1px dashed var(--border);padding-top:10px;}
.mk-pools-head {display:flex;justify-content:space-between;align-items:baseline;font-size:12px;font-weight:650;margin-bottom:4px;}
.mk-pools-head small {font-weight:400;font-size:10px;}
.mk-pool {display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 0;font-size:12px;color:var(--text);text-decoration:none;}
.mk-pool+.mk-pool {border-top:1px solid var(--border);}
.mk-pool:hover b {color:var(--accent);}
.mk-pool small {display:block;font-size:10px;color:var(--muted);font-weight:400;}
.mk-pool>span:last-child {text-align:right;}
@media (max-width:760px) {.sw-header{padding:17px 20px;}.sw-body{padding:20px 20px 14px;}.sw-footer{padding:14px 20px 18px;}}
@media (max-width:520px) {.sw-drawer{width:100%;border-left:0;}.sw-header{min-height:76px;}.sw-body{padding:18px 16px 12px;}.sw-footer{padding:12px 16px max(16px,env(safe-area-inset-bottom));}.sw-amount-main input{font-size:26px;}.sw-amount-main output{font-size:24px;}.sw-heading h2{font-size:21px;}.sw-context{grid-template-columns:1fr;}}
/* one-token trade window */
.header-swap {gap:8px;flex-shrink:0;}
.sw-badge {padding:4px 8px;font-size:10px;}
.sw-badge .icon {width:12px;height:12px;}
.sw-token.static {cursor:default;box-shadow:none;padding-right:12px;}
.sw-token.static:hover {border-color:var(--border);}
.sw-field-label {font-size:11px;font-weight:650;color:var(--muted);margin:0 0 7px;}
.sw-search .spinner {width:16px;height:16px;flex-shrink:0;}
.sw-suggest {margin:-4px 0 10px;}
.sw-suggest .sw-token-row {padding:9px 6px;}
.sw-token-picked {display:flex;align-items:center;gap:11px;border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:10px 12px;margin-bottom:12px;}
.sw-token-picked>div {flex:1;min-width:0;}
.sw-token-picked strong {display:block;font-size:14px;}
.sw-token-picked small {display:block;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sw-side {display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--soft);border:1px solid var(--border);border-radius:12px;padding:4px;margin:4px 0 12px;}
.sw-side button {border:0;background:transparent;border-radius:9px;padding:9px;font-weight:700;font-size:13px;color:var(--muted);cursor:pointer;}
.sw-side button.active.buy {background:var(--green-soft);color:var(--green);}
.sw-side button.active.sell {background:var(--red-soft);color:var(--red);}
.sw-amount-box.off {opacity:.55;}
.sw-receive {display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 2px 0;font-size:12px;color:var(--muted);}
.sw-receive strong {font-size:17px;color:var(--text);font-weight:650;}
.sw-receive .spinner {width:16px;height:16px;}
.sw-main-btn.sell:not(:disabled) {background:var(--red);border-color:var(--red);}
.sw-card-btns {display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.sw-card-btns .btn {justify-content:center;}
.sw-notice a {color:inherit;text-decoration:underline;}
/* Positions: Wallet | Safe wallet sections */
.pos-sections {display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 18px;}
.pos-sections button {display:flex;align-items:center;gap:12px;text-align:left;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:14px 16px;cursor:pointer;color:var(--text);}
.pos-sections button:hover {border-color:var(--accent);}
.pos-sections button.active {border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent);}
.pos-sections strong {display:block;font-size:15px;}
.pos-sections small {display:block;font-size:11px;color:var(--muted);margin-top:3px;line-height:1.4;}
.pos-sections .title-icon {flex-shrink:0;}
@media (max-width:640px) {.pos-sections{grid-template-columns:1fr;}}
/* Community feed (live) inside the design's feed: real composer, untagged personal trade line */
.feed-composer.lv-composer {align-items:flex-start;}
.composer-input {resize:none;font:inherit;line-height:1.5;min-height:0;cursor:text;text-align:left;}
.composer-input:focus {outline:none;border-color:var(--accent);}
.lv-composer-meta {display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 20px 12px 64px;margin-top:-6px;}
.lv-composer-meta .icon {width:12px;height:12px;vertical-align:-2px;}
.feed-post .post-header .icon-btn {width:28px;height:28px;margin-left:auto;}
.post-header .tag + .tag {margin-left:6px;}
.feed-trade {display:flex;align-items:center;gap:10px;padding-top:12px;padding-bottom:12px;font-size:13px;}
.feed-trade-body {flex:1;min-width:0;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
.feed-trade-body a {color:inherit;text-decoration:none;}
.feed-token {display:inline-flex;align-items:center;gap:5px;vertical-align:middle;}
.feed-token img, .feed-token .avatar {width:18px;height:18px;}
.owner-follow {display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);}
.owner-follow a {color:inherit;text-decoration:none;}
/* Terms & Conditions page */
.terms-page {padding:8px 24px 24px;max-width:760px;}
.terms-page p {display:flex;gap:12px;font-size:14px;line-height:1.75;margin:16px 0;}
.terms-num {font-weight:700;color:var(--accent);min-width:18px;}
.notice.terms-ok {color:var(--green);}
.sidebar-sandbox a {color:inherit;text-decoration:underline;}
.list-controls > span .icon {width:12px;height:12px;vertical-align:-2px;opacity:.7;}
.risk-line {display:flex;flex-wrap:wrap;gap:4px;margin:3px 0 2px;}
.risk-line .insider-tag {margin-left:0;}
/* Top users panel: your spot + add-wallet nudge */
.rank-cta {display:flex;flex-direction:column;gap:10px;margin:0 16px 12px;padding:12px 14px;border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:12px;background:var(--accent-soft);}
.rank-cta strong {font-size:13px;}
.rank-cta p {margin:4px 0 0;font-size:11px;line-height:1.55;color:var(--muted);}
.rank-cta p b {color:var(--text);}
.rank-cta .btn {align-self:flex-start;}
.cashed {color:var(--gold);font-weight:700;display:block;}
.leader-row .right small, .token-row .value small.muted {display:block;font-size:10px;}

/* ---- Collapsible sidebar: the user can shrink it to an icon rail (html.rail), like the compact layout ---- */
.rail-toggle {width:100%;border:0;background:transparent;cursor:pointer;font:inherit;text-align:left;margin-top:4px;}
.rail-toggle .icon {width:17px;height:17px;}
:root.rail {--sidebar:74px;}
:root.rail .sidebar {padding:24px 10px 14px;}
:root.rail .brand {margin:0 9px 25px;}
:root.rail .brand-wordmark,:root.rail .sidebar-section,:root.rail .nav-link .nav-label,:root.rail .sidebar-create .btn span,:root.rail .sidebar-foot .nav-label,:root.rail .theme-control>span,:root.rail .sidebar-sandbox,:root.rail .nav-count {display:none!important;}
:root.rail .nav-link {justify-content:center;padding:11px 8px;}
:root.rail .nav-link .icon {width:20px;height:20px;}
:root.rail .sidebar-create .btn {padding:10px;width:100%;}
:root.rail .sidebar-create .btn .icon {width:20px;height:20px;}
:root.rail .theme-control {padding:10px 0;justify-content:center;}
:root.rail .theme-buttons {flex-direction:column;gap:5px;}
:root.rail .sidebar-foot .nav-link {padding:10px;}
:root.rail .rail-toggle {justify-content:center;}
/* small screens are already a rail / off-canvas: the toggle isn't needed there */
@media(max-width:850px) {.rail-toggle {display:none!important;}}
/* trade window: pay with / receive in selector */
.sw-token.sw-pay {padding-right:4px;}
.sw-token.sw-pay select {border:0;background:transparent;font:inherit;font-weight:700;font-size:14px;color:var(--text);cursor:pointer;padding:0 2px;}
.sw-receive .sw-token.sw-pay {display:inline-flex;margin-left:6px;vertical-align:middle;padding:3px 4px 3px 3px;}
.sw-picking {display:flex;align-items:center;gap:8px;margin:0 0 10px;}
.sw-picking .spinner {width:14px;height:14px;}

/* Live feed token card: one row, same height as the original post-card */
.post-card.tc {gap:0;flex-wrap:nowrap;min-width:0;}
.post-card.tc > * {flex-shrink:0;}
.tc-token {display:flex;align-items:center;gap:9px;min-width:0;flex:1 1 auto;color:inherit;text-decoration:none;padding-right:12px;}
.tc-logo {position:relative;display:inline-flex;flex-shrink:0;}
.tc-chain {position:absolute;right:-3px;bottom:-3px;width:15px;height:15px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--soft);box-sizing:content-box;}
.tc-chain svg {width:9px;height:9px;}
.tc-name {min-width:0;display:flex;flex-direction:column;}
.tc-name strong,.tc-name small {white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px;}
.tc-stat,.tc-trend,.tc-amount {padding:0 12px;border-left:1px solid var(--border);}
.tc-stat strong {font-variant-numeric:tabular-nums;}
.tc-trend {display:flex;align-items:center;gap:6px;}
.tc-trend .sparkline {width:58px;height:22px;}
.tc-trend small {font-weight:700;font-size:11px;}
.tc-amount {text-align:right;margin-left:auto;}
.tc-amount strong {white-space:nowrap;}
.tc-buy {margin-left:10px;padding:6px 14px;}
@media (max-width:1200px) {.tc-trend {display:none;}}
@media (max-width:640px) {.tc-mcap {display:none;} .tc-name strong,.tc-name small {max-width:80px;} .tc-stat,.tc-amount {padding:0 8px;}}
.tc-sell {margin-left:6px;padding:6px 12px;}
@media (max-width:640px) {.tc-buy {margin-left:6px;padding:6px 10px;} .tc-sell {padding:6px 9px;}}

/* Swap drawer: USD value next to amounts */
.sw-usd {font-size:12px;font-weight:500;color:var(--muted);margin-left:7px;letter-spacing:0;}
/* Feed: personal trade line + the same one-row token card as strategy posts */
.feed-trade.has-card {flex-direction:column;align-items:stretch;gap:0;}
.feed-trade-head {display:flex;align-items:center;gap:10px;}
.feed-trade .post-card.tc {margin:10px 0 0;}
.tc-trend .muted {font-size:10px;}
.post-card.tc > .tc-token {flex-shrink:1;}
.tc-name {overflow:hidden;}
@media (max-width:1500px) {.tc-trend .muted {display:none;}}
.tc-name {min-width:58px;}
.post-card.tc > .tc-amount {flex-shrink:1;min-width:0;}
.tc-amount strong {display:block;overflow:hidden;text-overflow:ellipsis;}
/* Token card actions: compact "B" / "S"; the pair widens to "Buy" / "Sell" as the cursor reaches it */
.post-card.tc {position:relative;}
/* Fixed slot in the row; the buttons live in a layer that widens over the 24h / amount columns on hover,
   so nothing in the card moves or wraps. */
.tc-acts {flex:0 0 73px;height:30px;margin-left:10px;}
.tc-acts-in {position:absolute;right:12px;top:50%;transform:translateY(-50%);z-index:1;display:flex;gap:6px;width:73px;background:var(--soft);transition:width .18s ease,box-shadow .18s ease;}
.tc-acts-in .btn {flex:1 1 0;min-width:0;margin:0;padding:6px 0;justify-content:center;gap:0;transition:padding .18s ease;}
.tc-more {display:inline-block;max-width:0;overflow:hidden;opacity:0;white-space:nowrap;vertical-align:bottom;transition:max-width .18s ease,opacity .18s ease;}
@media (hover:hover) {
  .tc-acts-in:hover,.tc-acts-in:focus-within {width:var(--tc-wide,215px);box-shadow:-14px 0 12px -2px var(--soft);}
  .tc-acts-in:hover .btn,.tc-acts-in:focus-within .btn {padding:9px 0;font-size:13px;}
  .tc-acts-in:hover .tc-more,.tc-acts-in:focus-within .tc-more {max-width:3em;opacity:1;}
}
@media (max-width:1200px) {.tc-acts-in {--tc-wide:170px;}}
.tc-stat,.tc-trend,.tc-amount {padding:0 10px;}
.tc-trend .sparkline {width:48px;}
@media (hover:hover) {.tc-acts-in:hover,.tc-acts-in:focus-within {box-shadow:-22px 0 10px -4px var(--soft);}}
.tc-acts-in {--tc-wide:232px;}
@media (max-width:1200px) {.tc-acts-in {--tc-wide:170px;}}
/* Stats follow the token name directly; the spare width goes to the Buy / Sell area on the right */
.post-card.tc > .tc-token {flex:0 1 auto;}
.post-card.tc > .tc-amount {margin-left:0;}
.post-card.tc > .tc-acts {margin-left:auto;padding-left:10px;}
/* Enough room in the card: full "Buy" / "Sell" all the time; narrower cards keep B / S (widen on hover). */
.post-card.tc {container-type:inline-size;}
@container (min-width:620px) {
  .tc-acts {flex-basis:150px;}
  .tc-acts-in {width:150px;}
  .tc-acts-in .tc-more {max-width:3em;opacity:1;}
}

/* Coming soon: sidebar tag, buttons, ranking tab, placeholder page */
.nav-soon,.soon-tag {margin-left:auto;font-size:9.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;padding:2px 6px;border-radius:999px;background:#fdf3d6;color:#a86a12;}
.btn .soon-tag {margin-left:8px;background:rgba(255,255,255,.22);color:inherit;}
.rail .nav-soon {display:none;}
.soon-tab {display:inline-flex;align-items:center;gap:6px;opacity:.6;cursor:not-allowed;padding:8px 14px;}
.soon-tab .soon-tag {margin-left:4px;}
.soon-panel {padding:36px 28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;}
.soon-panel h3 {margin:6px 0 0;font-size:20px;}
.soon-panel p {max-width:520px;line-height:1.6;margin:0;}
.soon-actions {display:flex;gap:10px;margin-top:10px;flex-wrap:wrap;justify-content:center;}
/* Swap: any token as the other side of a wallet trade */
.sw-base-ask {display:flex;flex-direction:column;gap:6px;margin:0 0 12px;padding:12px;border:1px dashed var(--border);border-radius:12px;background:var(--surface);}
.sw-base-ask label {font-size:12px;color:var(--muted);font-weight:600;}
.sw-base-row {display:flex;gap:8px;}
.sw-base-row input {flex:1;min-width:0;border:1px solid var(--border);border-radius:8px;padding:8px 10px;background:var(--soft);color:var(--text);font-size:13px;}
.sw-base-ask small {font-size:11.5px;display:flex;align-items:center;gap:6px;}
.sw-base-ask .spinner {width:12px;height:12px;}
.nav-link .nav-label {white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
.nav-soon {flex-shrink:0;font-size:8.5px;padding:2px 5px;}
.sidebar-create .btn {white-space:nowrap;}
.sidebar-create .btn .soon-tag {font-size:8.5px;padding:2px 5px;margin-left:6px;}
.nav-link {position:relative;}
.nav-link .nav-label {overflow:visible;text-overflow:clip;}
.nav-soon {position:absolute;right:6px;top:3px;margin:0;font-size:7.5px;padding:1px 5px;line-height:1.4;}

/* ---------- Login gate (live app) ---------- */
.gate-splash {min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:var(--bg);}
.login-page {min-height:100vh;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);background:var(--bg);}
.login-hero {display:flex;flex-direction:column;justify-content:space-between;gap:40px;padding:40px 56px;border-right:1px solid var(--border);}
.login-copy {max-width:620px;}
.login-copy h1 {font-size:clamp(34px,4.2vw,54px);line-height:1.08;letter-spacing:-1.5px;margin:12px 0 18px;}
.login-copy > p {font-size:16px;line-height:1.65;color:var(--muted);max-width:540px;margin:0;}
.login-cards {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:34px;}
.login-card {background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px 20px;box-shadow:var(--shadow);}
.login-card h3 {margin:8px 0 4px;font-size:19px;}
.login-side {display:flex;align-items:center;justify-content:center;padding:32px;}
.login-auth {width:100%;max-width:420px;padding:32px;}
.login-auth h2 {font-size:28px;margin:8px 0 6px;letter-spacing:-.5px;}
.login-auth > p {margin:0 0 22px;line-height:1.6;}
.login-steps {list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:12px;}
.login-steps li {display:flex;gap:12px;align-items:flex-start;opacity:.55;}
.login-steps li.current,.login-steps li.done {opacity:1;}
.login-steps strong {display:block;font-size:14px;}
.login-steps small {color:var(--muted);font-size:12px;}
.login-step-n {flex:0 0 26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;border:1px solid var(--border);background:var(--soft);}
.login-steps li.current .login-step-n {background:var(--accent);border-color:var(--accent);color:#fff;}
.login-steps li.done .login-step-n {background:var(--green-soft);border-color:transparent;color:var(--green);}
.login-step-n svg {width:13px;height:13px;}
.login-cta {width:100%;justify-content:center;padding:13px 16px;font-size:14px;}
.login-alt {width:100%;justify-content:center;margin-top:8px;}
.login-foot {font-size:11.5px;color:var(--muted);line-height:1.6;margin:18px 0 0;}
.login-foot a {color:var(--accent);}
@media (max-width:900px) {
  .login-page {grid-template-columns:1fr;}
  .login-hero {border-right:0;border-bottom:1px solid var(--border);padding:28px 20px;gap:26px;}
  .login-side {padding:20px 16px 36px;}
  .login-auth {padding:24px 20px;}
}

/* ---------- First sign-in setup ---------- */
.onboard-modal {max-width:480px;padding:28px;}
.onboard-head h2 {font-size:24px;margin:6px 0 6px;letter-spacing:-.4px;}
.onboard-head p {margin:0 0 18px;line-height:1.6;}
.onboard-steps {display:flex;gap:6px;margin-bottom:14px;}
.onboard-steps span {height:4px;flex:1;border-radius:4px;background:var(--border);}
.onboard-steps span.on {background:var(--accent);}
.ob-handle {display:flex;align-items:center;border:1px solid var(--border);border-radius:10px;background:var(--surface);overflow:hidden;}
.ob-handle span {padding:0 4px 0 12px;color:var(--muted);font-weight:700;}
.ob-handle input {border:0 !important;box-shadow:none !important;flex:1;min-width:0;background:transparent;}
.ob-note {margin-top:6px;min-height:18px;}
.ob-note small {display:inline-flex;align-items:center;gap:6px;font-size:12px;}
.ob-note .spinner {width:12px;height:12px;}
.ob-people {display:flex;flex-direction:column;gap:8px;max-height:340px;overflow:auto;}
.ob-person {display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);}
.ob-person .info {flex:1;min-width:0;display:flex;flex-direction:column;}
.ob-person .info small {color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.btn.full {width:100%;justify-content:center;}

/* ---------- Settings: category menu + content ---------- */
.settings-wrap {display:grid;grid-template-columns:240px minmax(0,1fr);gap:18px;align-items:start;}
.settings-menu {display:flex;flex-direction:column;gap:4px;padding:10px;position:sticky;top:90px;}
.settings-menu button {display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;border-radius:10px;background:transparent;color:var(--text);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;text-align:left;}
.settings-menu button svg {width:17px;height:17px;color:var(--muted);}
.settings-menu button:hover {background:var(--soft);}
.settings-menu button.active {background:var(--accent-soft);color:var(--accent);}
.settings-menu button.active svg {color:var(--accent);}
.settings-menu .settings-signout {margin-top:8px;border-top:1px solid var(--border);border-radius:0 0 10px 10px;padding-top:14px;color:var(--red);}
.settings-menu .settings-signout svg {color:var(--red);}
.settings-content {padding:0;overflow:hidden;}
.settings-top {padding:22px 26px;border-bottom:1px solid var(--border);}
.settings-top h2 {margin:0 0 4px;font-size:20px;}
.settings-top p {margin:0;color:var(--muted);font-size:13px;}
.settings-body {padding:6px 26px 24px;}
.settings-body .setting-row:last-child {border-bottom:0;}
.settings-note {color:var(--muted);font-size:13px;line-height:1.6;margin:14px 0 4px;}
.settings-value {display:flex;flex-direction:column;align-items:flex-end;gap:2px;}
.settings-value small {color:var(--muted);font-size:12px;}
.settings-actions {display:flex;justify-content:flex-end;align-items:center;gap:12px;padding-top:18px;}
.switch-row {cursor:pointer;}
.switch {position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0;}
.switch input {opacity:0;width:0;height:0;position:absolute;}
.switch span {position:absolute;inset:0;border-radius:999px;background:var(--border);transition:background .18s;}
.switch span::after {content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .18s;}
.switch input:checked + span {background:var(--accent);}
.switch input:checked + span::after {transform:translateX(18px);}
.switch input:focus-visible + span {outline:2px solid var(--accent);outline-offset:2px;}
@media (max-width:900px) {
  .settings-wrap {grid-template-columns:1fr;}
  .settings-menu {position:static;flex-direction:row;overflow-x:auto;padding:6px;}
  .settings-menu button {white-space:nowrap;width:auto;flex-shrink:0;}
  .settings-menu .settings-signout {display:none;}
  .settings-top,.settings-body {padding-left:16px;padding-right:16px;}
}

/* Add a phone wallet by QR */
.link-scan small {margin-left:8px;}
.scan-qr {display:flex;justify-content:center;margin:14px 0 8px;}
.scan-qr img {border-radius:12px;border:1px solid var(--border);background:#fff;padding:8px;}
.scan-actions {display:flex;justify-content:center;}
.mk-hero-price .hero-pct {font-size:.5em;margin-left:8px;vertical-align:middle;}
.pos-sections button.pos-soon {opacity:.6;cursor:not-allowed;}
.pos-sections button.pos-soon .soon-tag {margin-left:6px;vertical-align:middle;}
/* Sign-in progress: a popup after the wallet connects (the welcome card itself only has the button) */
.login-progress-backdrop {position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(20,16,40,.35);backdrop-filter:blur(3px);}
.login-progress {width:100%;max-width:400px;padding:28px;}
.login-progress h3 {font-size:22px;margin:6px 0 4px;}
.login-progress > p {margin:0 0 20px;}
.leader-row .value {display:flex;flex-direction:column;align-items:flex-end;}
.leader-row .value .value-pct {font-size:11px;line-height:1.3;}

/* Profile photos */
img.avatar.avatar-photo {object-fit:cover;padding:0;background:var(--soft);}
.avatar-edit {display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.avatar-edit label.btn {cursor:pointer;}

/* Your activity: compact rows + View more */
.panel-bottom .btn.full {width:100%;justify-content:center;}
/* Community card illustration */
.cta-art.cta-photo {height:auto;margin:-6px -8px 10px;}
.cta-art.cta-photo img {display:block;width:100%;height:auto;max-width:360px;margin:0 auto;}
/* Tighter top of every page */
.main {padding-top:calc(var(--header) + 14px);}
.page-head {margin-bottom:16px;}
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
/* Settings → Wallets: a clear "add another wallet" box above the list */
.wallet-add {display:flex;align-items:center;gap:16px;margin:14px 0 20px;padding:18px;border:1px dashed var(--accent);border-radius:14px;background:var(--accent-soft);}
.wallet-add-icon {flex:0 0 44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--accent);color:#fff;}
.wallet-add-icon svg {width:22px;height:22px;}
.wallet-add-text {flex:1;min-width:0;}
.wallet-add-text h4 {margin:0 0 4px;font-size:15px;}
.wallet-add-text p {margin:0 0 6px;font-size:12.5px;line-height:1.55;color:var(--muted);}
.wallet-add-text small {font-size:11.5px;font-weight:700;color:var(--accent);}
.wallet-add .btn {flex-shrink:0;padding:10px 18px;}
.wallet-list-title {margin:4px 0 2px;font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);}
@media (max-width:640px) {.wallet-add {flex-wrap:wrap;} .wallet-add .btn {width:100%;justify-content:center;}}
.settings-note svg {width:13px;height:13px;vertical-align:-2px;margin-right:4px;}


/* AlphaBros logo */
.brand-logo .brand-wordmark img {display:block;height:34px;width:auto;max-width:176px;}
.brand-logo .brand-symbol {width:34px;height:34px;object-fit:contain;display:none;}
.brand-logo .logo-dark {display:none !important;}
:root[data-theme="dark"] .brand-logo .brand-wordmark .logo-light {display:none !important;}
:root[data-theme="dark"] .brand-logo .brand-wordmark .logo-dark {display:block !important;}
/* icons-only sidebar (collapsed, or tablet width): the mark instead of the full logo */
:root.rail .brand-logo .brand-symbol.logo-light {display:block;}
:root.rail[data-theme="dark"] .brand-logo .brand-symbol.logo-light {display:none;}
:root.rail[data-theme="dark"] .brand-logo .brand-symbol.logo-dark {display:block !important;}
@media (max-width:850px) {
  .brand-logo .brand-symbol.logo-light {display:block;}
  :root[data-theme="dark"] .brand-logo .brand-symbol.logo-light {display:none;}
  :root[data-theme="dark"] .brand-logo .brand-symbol.logo-dark {display:block !important;}
  .sidebar.open .brand-logo .brand-symbol {display:none !important;}
}
.gate-splash .brand-logo .brand-wordmark img {height:44px;max-width:240px;}
.login-hero .brand-logo .brand-wordmark img {height:40px;max-width:220px;}
/* Empty feed: how to get it going */
.feed-empty {display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:34px 24px 38px;}
.feed-empty h3 {margin:6px 0 0;font-size:18px;}
.feed-empty p {margin:0;max-width:440px;color:var(--muted);font-size:13px;line-height:1.6;}
.feed-empty-actions {display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:8px;}
.feed-empty small {font-size:11.5px;margin-top:4px;}
/* Beta tag: next to the logo everywhere, and a note on the welcome card */
.beta-tag {display:inline-flex;align-items:center;flex-shrink:0;font-size:9.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);line-height:1.5;}
.brand-logo {position:relative;}
.brand-logo .beta-tag {margin-left:2px;}
:root.rail .brand-logo {flex-direction:column;gap:4px;}
:root.rail .brand-logo .beta-tag {font-size:7.5px;padding:1px 5px;margin:0;}
@media (max-width:850px) {.brand-logo {flex-direction:column;gap:4px;} .brand-logo .beta-tag {font-size:7.5px;padding:1px 5px;margin:0;} .sidebar.open .brand-logo {flex-direction:row;} .sidebar.open .brand-logo .beta-tag {font-size:9.5px;padding:2px 7px;}}
.beta-note {display:flex;gap:10px;align-items:flex-start;margin:0 0 18px;padding:10px 12px;border-radius:10px;background:var(--accent-soft);font-size:12px;line-height:1.5;color:var(--muted);}
.beta-note .beta-tag {margin-top:1px;}
/* logo + Beta pill must fit the sidebar width */
.sidebar .brand-logo .brand-wordmark img {height:28px;max-width:150px;}
.sidebar .brand-logo .beta-tag {font-size:8.5px;padding:1px 6px;}
.sidebar .brand-logo {gap:8px;}
/* Terms on first sign-in: links + agree checkbox */
.terms-scroll a,.terms-check a {color:var(--accent);font-weight:700;}
.terms-check {display:flex;gap:10px;align-items:flex-start;margin:14px 0 0;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);font-size:13px;font-weight:600;line-height:1.5;cursor:pointer;}
.terms-check input {width:18px;height:18px;margin:1px 0 0;flex-shrink:0;accent-color:var(--accent);cursor:pointer;}
.terms-check {margin:12px 28px 4px;text-align:left;}
@media (max-width:520px) {.terms-check {margin:10px 18px 4px;}}

/* Positions: pick "All wallets" or one wallet of the account */
.wallet-picker {display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;}

/* ---- Community (part 2a): feed tabs, composer, post cards, discussion page */
.feed-panel .panel-header {gap:10px;}
.feed-tabs {padding:0 20px;border-bottom:1px solid var(--border);}
.feed-more {padding:14px;text-align:center;}
.cm-item .post-header {align-items:flex-start;}
.post-head-right {margin-left:auto;display:flex;align-items:center;gap:8px;}
.vis-tag {display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:2px 8px;}
.vis-tag .icon {width:11px;height:11px;}
.follow-inline {padding:3px 9px;font-size:11px;}
.post-menu {position:relative;}
.menu-dots {font-weight:800;letter-spacing:1px;line-height:1;}
.menu-pop {position:absolute;right:0;top:calc(100% + 4px);z-index:30;min-width:180px;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);padding:4px;display:flex;flex-direction:column;}
.menu-pop button,.menu-pop a {display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:7px;font-size:12px;color:var(--text);text-align:left;background:none;border:0;cursor:pointer;}
.menu-pop button:hover,.menu-pop a:hover {background:var(--soft);}
.menu-pop .icon {width:14px;height:14px;color:var(--muted);}
.chips {display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.chip {display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:3px 9px;border-radius:999px;background:var(--soft);border:1px solid var(--border);color:var(--text);cursor:default;}
button.chip {cursor:pointer;}
button.chip:hover,.chip.on {border-color:var(--accent);color:var(--accent);background:var(--accent-soft);}
.chip.sent-bullish {background:var(--green-soft);color:var(--green);border-color:transparent;font-weight:700;}
.chip.sent-bearish {background:var(--red-soft);color:var(--red);border-color:transparent;font-weight:700;}
.trade-line {font-size:14px;}
.attached-trade {display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--soft);}
.at-token {display:flex;align-items:center;gap:8px;color:var(--text);}
.at-token small,.at-change small {display:block;font-size:10px;color:var(--muted);}
.at-change {font-weight:700;font-size:13px;text-align:right;}
.post-actions .pa {display:inline-flex;align-items:center;gap:5px;font-size:12px;background:none;border:0;cursor:pointer;color:var(--muted);}
.post-actions .pa .icon {width:16px;height:16px;}
.post-actions .pa.on {color:var(--accent);}
.post-actions .pa.on .icon {fill:currentColor;}
.post-actions .pa-link {font-size:11px;}
.composer-box {padding:14px 20px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:10px;}
.composer-box .feed-composer {padding:0;border:0;}
.composer-tools {display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-left:44px;}
.ct-vis,.ct-trade {display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:9px;padding:0 8px;background:var(--panel);font-size:12px;}
.ct-vis select,.ct-trade select {border:0;background:transparent;padding:6px 2px;font-size:12px;color:var(--text);max-width:260px;}
.ct-vis .icon,.ct-trade .icon {width:14px;height:14px;color:var(--muted);}
.ct-sent button.active.bullish {background:var(--green-soft);color:var(--green);}
.ct-sent button.active.bearish {background:var(--red-soft);color:var(--red);}
.composer-tags {display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding-left:44px;}
.composer-tags input {border:1px dashed var(--border);border-radius:999px;padding:4px 10px;font-size:11px;background:transparent;color:var(--text);width:190px;}
.composer-foot {display:flex;align-items:center;gap:8px;padding-left:44px;}
.post-page {display:flex;flex-direction:column;gap:16px;max-width:760px;}
.comments-panel .cm-compose {display:flex;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border);}
.cm-compose-in {flex:1;display:flex;flex-direction:column;gap:8px;}
.cm-compose-in textarea {width:100%;border:1px solid var(--border);border-radius:10px;padding:10px;background:var(--panel);color:var(--text);resize:vertical;font:inherit;font-size:13px;}
.cm-compose-foot {display:flex;}
.cm {display:flex;gap:10px;padding:14px 20px;border-bottom:1px solid var(--border);}
.cm:last-child {border-bottom:0;}
.cm-body {flex:1;min-width:0;}
.cm-head {display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.cm-head a {color:var(--text);}
.cm-body p {margin:4px 0 6px;font-size:13px;overflow-wrap:anywhere;}
.cm-actions {display:flex;gap:12px;font-size:11px;}
@media (max-width:640px) {
  .composer-tools,.composer-tags,.composer-foot {padding-left:0;}
  .feed-tabs {padding:0 12px;overflow-x:auto;}
}

/* ---- Community feed, card design (fx) */
.fx {padding:0;overflow:visible;}
.fx-bar {display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);}
.fx-tabs {display:flex;gap:4px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;}
.fx-tabs::-webkit-scrollbar {display:none;}
.fx-tab {display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:10px;border:1px solid transparent;background:none;color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;position:relative;}
.fx-tab .icon {width:16px;height:16px;}
.fx-tab:hover {color:var(--text);}
.fx-tab.active {color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 25%,transparent);}
.fx-tab.active::after {content:"";position:absolute;left:12px;right:12px;bottom:-13px;height:2px;border-radius:2px;background:var(--accent);}
.fx-sort select {border:1px solid var(--border);border-radius:9px;padding:7px 28px 7px 12px;font-size:12px;font-weight:600;background:var(--panel);color:var(--text);cursor:pointer;}
.fx .composer-box,.fx > .feed-composer {border-bottom:1px solid var(--border);}
.fx-card {display:flex;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border);}
.fx-card:last-child {border-bottom:0;}
.fx-avatar {flex:none;}
.fx-main {flex:1;min-width:0;}
.fx-head {display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:28px;}
.fx-name {font-weight:700;font-size:14px;color:var(--text);}
.fx-name:hover {color:var(--accent);}
.fx-time {font-size:12px;color:var(--muted);}
.fx-label {font-size:11px;font-weight:600;color:var(--accent);background:var(--accent-soft);border-radius:6px;padding:2px 8px;}
.fx-vis {display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--muted);background:var(--soft);border-radius:6px;padding:2px 8px;}
.fx-vis .icon {width:11px;height:11px;}
.fx-follow {font-size:11px;font-weight:700;color:var(--accent);background:var(--accent-soft);border:0;border-radius:6px;padding:3px 10px;cursor:pointer;}
.fx-follow:hover {background:var(--accent);color:#fff;}
.fx-head .menu-dots {border:0;background:none;color:var(--muted);}
.fx-text {margin:6px 0 0;font-size:14px;line-height:1.55;color:var(--text);overflow-wrap:anywhere;}
.fx-chips {display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.fx-chip {font-size:11px;padding:3px 10px;border-radius:6px;background:var(--soft);border:1px solid var(--border);color:var(--muted);}
.fx-chip.sent-bullish {background:var(--green-soft);color:var(--green);border-color:transparent;font-weight:600;}
.fx-chip.sent-bearish {background:var(--red-soft);color:var(--red);border-color:transparent;font-weight:600;}
.fx-trade {display:flex;align-items:center;gap:10px;margin-top:12px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--panel);}
.fx-tok {display:flex;align-items:center;gap:10px;color:var(--text);min-width:0;flex:1;}
.fx-tok > span {min-width:0;}
.fx-tok small {white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fx-ex {display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid var(--border);color:var(--muted);flex:none;}
.fx-ex:hover {color:var(--accent);border-color:var(--accent);}
.fx-ex .icon {width:14px;height:14px;}
.fx-tok strong {font-size:14px;}
.fx-tok small {display:block;font-size:12px;color:var(--muted);margin-top:2px;}
.fx-pill {font-size:12px;font-weight:700;border-radius:7px;padding:3px 9px;}
.fx-pill.up {background:var(--green-soft);color:var(--green);}
.fx-pill.down {background:var(--red-soft);color:var(--red);}
.fx-link {display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--accent);}
.fx-link .icon {width:12px;height:12px;}
.fx-link:hover {text-decoration:underline;}
.fx-acts {display:inline-flex;gap:6px;}
.fx-acts .btn {padding:5px 12px;}
.fx-group {margin-top:12px;border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.fx-group-head {display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--soft);border-bottom:1px solid var(--border);}
.fx-group-head strong {font-size:14px;}
.fx-group-head small {display:block;font-size:12px;color:var(--muted);}
.fx-row {display:grid;grid-template-columns:minmax(0,1fr) auto 58px auto;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);font-size:12px;}
.fx-row:last-child {border-bottom:0;}
.fx-row .fx-tok strong {font-size:13px;}
.fx-row-sub {color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fx-row-time {color:var(--muted);text-align:right;}
.fx-actions {display:flex;align-items:center;gap:18px;margin-top:12px;}
.fx-act {display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);background:none;border:0;padding:0;cursor:pointer;}
.fx-act .icon {width:18px;height:18px;}
.fx-act:hover {color:var(--accent);}
.fx-act.on {color:var(--accent);}
.fx-act.on .icon {fill:currentColor;}
.fx-act.like.on,.fx-act.like:hover {color:#e0245e;}
.fx-preview {display:flex;gap:10px;margin-top:12px;padding:12px 14px;border-radius:12px;background:var(--soft);color:var(--text);}
.fx-preview:hover {background:var(--accent-soft);}
.fx-preview > div {min-width:0;flex:1;}
.fx-preview-head {display:flex;align-items:baseline;gap:8px;}
.fx-preview-head strong {font-size:13px;}
.fx-preview-head small {font-size:11px;color:var(--muted);}
.fx-preview p {margin:3px 0 0;font-size:13px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.fx-more {margin-top:8px;}
@media (max-width:640px) {
  .fx-card {padding:14px 12px;gap:10px;}
  .fx-avatar .avatar {width:36px!important;height:36px!important;}
  .fx-tab {padding:8px 10px;}
  .fx-tab span {display:none;}
  .fx-tab.active span {display:inline;}
  .fx-row {grid-template-columns:minmax(0,1fr) auto auto;}
  .fx-row-time {display:none;}
  .fx-trade {flex-wrap:wrap;}
  .fx-trade .fx-tok {flex-basis:100%;}
}

/* ---- Feed side columns (sx): Trending Traders, Your spot, Invite, Live Market, Active Now, Live Activity */
.sx {padding:0 0 6px;}
.sx-head {display:flex;align-items:flex-start;gap:10px;padding:16px 18px 10px;}
.sx-head h2 {margin:0;font-size:15px;font-weight:700;}
.sx-head small {display:block;font-size:11px;color:var(--muted);margin-top:2px;}
.sx-head > div {flex:1;min-width:0;}
.sx-all {display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--accent);white-space:nowrap;margin-top:3px;}
.sx-all .icon {width:11px;height:11px;}
.sx-trader,.sx-token,.sx-act {display:flex;align-items:center;gap:10px;padding:9px 18px;color:var(--text);}
.sx-trader:hover,.sx-token:hover,.sx-act:hover {background:var(--soft);}
.sx-rank {flex:none;width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font-size:11px;font-weight:800;background:var(--soft);color:var(--muted);}
.sx-rank.r1 {background:#fdf1c7;color:#a16207;}
.sx-rank.r2 {background:#e6e9f0;color:#475569;}
.sx-rank.r3 {background:#fbe2d3;color:#b45309;}
.sx-who {flex:1;min-width:0;}
.sx-who strong {display:flex;align-items:center;gap:4px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sx-who strong .icon {width:13px;height:13px;color:var(--accent);flex:none;}
.sx-who small {display:block;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sx-tags {display:flex;gap:4px;margin-top:4px;overflow:hidden;}
.sx-tags span {white-space:nowrap;font-size:10px;padding:1px 7px;border-radius:5px;background:var(--soft);border:1px solid var(--border);color:var(--muted);}
.sx-val {text-align:right;flex:none;}
.sx-val strong {display:block;font-size:13px;}
.sx-val small {font-size:10px;color:var(--muted);}
.sx-join {padding:0 18px 14px;}
.sx-join p {font-size:12px;color:var(--muted);margin:0 0 10px;}
.sx-me {display:flex;align-items:center;gap:10px;padding:2px 18px 12px;}
.sx-me strong {display:block;font-size:14px;}
.sx-me small {font-size:11px;color:var(--muted);}
.sx-stats {display:grid;grid-template-columns:repeat(3,1fr);margin:0 18px 12px;border-top:1px solid var(--border);padding-top:12px;}
.sx-stats > div {text-align:center;padding:0 4px;}
.sx-stats > div + div {border-left:1px solid var(--border);}
.sx-stats strong {display:block;font-size:15px;font-weight:800;}
.sx-stats small {display:block;font-size:10px;color:var(--muted);margin-top:2px;}
.sx-stats-icons .icon {width:16px;height:16px;color:var(--accent);display:block;margin:0 auto 4px;}
.sx-link {display:flex;align-items:center;gap:6px;margin:0 18px 10px;padding:0;border:0;background:none;color:var(--accent);font-size:11px;font-weight:600;cursor:pointer;text-align:left;}
.sx-link .icon {width:12px;height:12px;flex:none;}
.sx-invite {position:relative;padding:20px 18px 18px;background:linear-gradient(160deg,var(--accent-soft),var(--panel) 70%);}
.sx-invite .title-icon {margin-bottom:10px;}
.sx-invite h3 {margin:0 0 6px;font-size:17px;font-weight:800;}
.sx-invite p {margin:0 0 14px;font-size:12px;color:var(--muted);line-height:1.5;}
.sx-close {position:absolute;top:10px;right:10px;border:0;background:none;color:var(--muted);}
.sx-token .sx-val small {font-weight:700;}
.sx-spark {width:56px;height:22px;flex:none;display:block;}
.sx-spark.up {color:var(--green);}
.sx-spark.down {color:var(--red);}
.sx-live {width:9px;height:9px;border-radius:50%;background:var(--green);margin-top:5px;box-shadow:0 0 0 4px var(--green-soft);flex:none;}
.sx-active {padding:0 0 4px;}
.sx-faces {display:flex;align-items:center;padding:0 18px 12px;}
.sx-faces > a + a,.sx-faces .sx-more {margin-left:-8px;}
.sx-faces .avatar {box-shadow:0 0 0 2px var(--panel);}
.sx-more {display:grid;place-items:center;height:30px;min-width:30px;padding:0 6px;border-radius:15px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:700;box-shadow:0 0 0 2px var(--panel);}
.sx-act {padding:7px 18px;font-size:12px;}
.sx-act-text {flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sx-act small {font-size:10px;color:var(--muted);flex:none;}
.sx-dot {width:7px;height:7px;border-radius:50%;flex:none;}
.sx-dot.green {background:var(--green);}
.sx-dot.red {background:var(--red);}
.sx-dot.purple {background:var(--accent);}

/* the taller designed side columns scroll with the page (sticky would hide their lower panels) */
@media(min-width:1351px) {.feed-grid {grid-template-columns:minmax(240px,.86fr) minmax(365px,1.6fr) minmax(250px,.9fr);}}
.feed-grid>.stack {position:static;}
@media(min-width:1650px) {.feed-grid {grid-template-columns:minmax(285px,.9fr) minmax(490px,1.75fr) minmax(300px,.95fr);}}

.sx-fold {display:none;}
@media(max-width:1350px) {.sx-fold {display:contents;}}

/* Invite referrals */
.sx-invited {display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:12px;color:var(--muted);}
.sx-invited .sx-faces {padding:0;}
.sx-invited strong {color:var(--text);}
.sx-invite-link {display:flex;gap:6px;margin:0 0 10px;}
.sx-invite-link input {flex:1;min-width:0;font-size:11px;padding:7px 9px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--muted);}
.sx-invite-note {font-size:11px!important;margin:0 0 10px!important;}
.invited-by {display:flex;align-items:center;gap:8px;margin:0 0 14px;padding:10px 12px;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:13px;}
.invited-by .icon {width:16px;height:16px;flex:none;}

/* swap review: raise slippage after a too-little-received failure */
.sw-slip-up {display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;font-size:12px;color:var(--muted);}

/* swap form: slippage shown with its own Edit button, editor inline */
.sw-slip-row {display:flex;align-items:center;justify-content:space-between;gap:10px;}
.sw-slip-row .sw-details-toggle {width:auto;}
.sw-slip-inline {display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);}
.sw-slip-inline b {color:var(--text);}
.sw-slip-edit {display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:8px;border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:700;cursor:pointer;}
.sw-slip-edit .icon {width:13px;height:13px;}
.sw-slip-edit:hover {background:var(--accent);color:#fff;}
.sw-slip-editor {margin:0 0 12px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--soft);}
.sw-slip-editor .sw-slip-options {margin:0 0 10px;}
.sw-slip-editor-foot {display:flex;align-items:center;justify-content:space-between;gap:10px;}

/* ---- Communities (brosRun step 1): discovery, create wizard, community page */
.cm-access {display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:6px;background:var(--soft);color:var(--muted);white-space:nowrap;}
.cm-access .icon {width:11px;height:11px;}
.cm-access.public {background:var(--green-soft);color:var(--green);}
.cm-access.invite,.cm-access.approval {background:var(--accent-soft);color:var(--accent);}
.cm-access.token {background:#fdf1c7;color:#a16207;}
.cm-logo {border-radius:10px;object-fit:cover;flex:none;display:inline-block;}
.cm-logo-letter {display:inline-grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:800;}
.cm-tabs {display:flex;gap:6px;margin:0 0 12px;}
.cm-tabs a {padding:7px 14px;border-radius:9px;font-size:13px;font-weight:600;color:var(--muted);border:1px solid transparent;}
.cm-tabs a.active {color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 25%,transparent);}
.cm-list {padding:0;}
.cm-filters {display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--border);}
.cm-search {flex:1;min-width:200px;margin:0;}
.cm-filters select {border:1px solid var(--border);border-radius:9px;padding:7px 10px;font-size:12px;background:var(--panel);color:var(--text);}
.cm-row {display:grid;grid-template-columns:28px minmax(200px,2.2fr) minmax(110px,1fr) 80px 100px 80px 110px;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border);}
.cm-row:last-child {border-bottom:0;}
.cm-row:hover {background:var(--soft);}
.cm-rank {font-size:12px;font-weight:700;color:var(--muted);text-align:center;}
.cm-id {display:flex;align-items:center;gap:10px;min-width:0;color:var(--text);}
.cm-id > div {min-width:0;}
.cm-id strong {display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cm-id small {display:block;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cm-cell.num {text-align:right;}
.cm-cell.num strong {display:block;font-size:13px;}
.cm-cell.num small {font-size:10px;color:var(--muted);}
.cm-cell.act {text-align:right;}
.cw {padding:0;}
.cw-steps {display:flex;gap:6px;list-style:none;margin:0;padding:14px 18px;border-bottom:1px solid var(--border);flex-wrap:wrap;}
.cw-steps li {display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--muted);padding:4px 10px 4px 4px;border-radius:999px;}
.cw-steps li span {display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--soft);font-size:11px;}
.cw-steps li span .icon {width:12px;height:12px;}
.cw-steps li.current {color:var(--accent);background:var(--accent-soft);}
.cw-steps li.current span {background:var(--accent);color:#fff;}
.cw-steps li.done span {background:var(--green-soft);color:var(--green);}
.cw-body {padding:18px;display:flex;flex-direction:column;gap:14px;max-width:720px;}
.cw-body .field {margin:0;}
.cw-body .field small {display:block;margin-top:5px;font-size:11px;}
.cw-handle {display:flex;align-items:center;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--panel);}
.cw-handle span {padding:0 4px 0 12px;color:var(--muted);font-size:13px;}
.cw-handle input {border:0;flex:1;padding:10px 12px 10px 0;background:transparent;}
.cw-two {display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.cw-cards {display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.cw-card {display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--panel);cursor:pointer;color:var(--text);}
.cw-card .icon {width:18px;height:18px;color:var(--accent);}
.cw-card strong {font-size:14px;}
.cw-card small {font-size:12px;color:var(--muted);}
.cw-card.active {border-color:var(--accent);background:var(--accent-soft);}
.cw-token {display:grid;grid-template-columns:1fr 2fr 1fr;gap:10px;}
.cw-toggle {display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--border);border-radius:12px;cursor:pointer;}
.cw-toggle input {margin-top:3px;}
.cw-toggle strong {display:block;font-size:14px;}
.cw-toggle small {font-size:12px;color:var(--muted);}
.cw-foot {display:flex;align-items:center;gap:10px;padding:14px 18px;border-top:1px solid var(--border);}
.cw-done {text-align:center;padding:32px 20px;}
.cw-done h2 {margin:10px 0 4px;}
.cw-done-actions {display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:16px 0;}
.cm-head {padding:0;margin-bottom:16px;}
.cm-head-main {display:flex;gap:16px;align-items:flex-start;padding:18px 20px;}
.cm-head-text {flex:1;min-width:0;}
.cm-head-text h1 {margin:0;font-size:24px;}
.cm-head-sub {display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0 8px;font-size:12px;}
.cm-head-text p {margin:0;font-size:14px;color:var(--muted);line-height:1.5;}
.cm-head-actions {display:flex;gap:8px;flex:none;}
.cm-you {font-size:12px;font-weight:700;color:var(--accent);background:var(--accent-soft);border-radius:8px;padding:6px 12px;}
.cm-stats {display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--border);}
.cm-stats > div {padding:12px 16px;}
.cm-stats > div + div {border-left:1px solid var(--border);}
.cm-stats strong {display:block;font-size:17px;font-weight:800;}
.cm-stats small {font-size:11px;color:var(--muted);}
.cm-layout {display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start;}
.cm-layout > .cm-main:only-child {grid-column:1 / -1;}
.cm-page-tabs {padding:12px 16px;border-bottom:1px solid var(--border);align-items:center;}
.cm-pending {margin-left:auto;font-size:11px;font-weight:700;color:#a16207;background:#fdf1c7;border-radius:6px;padding:3px 8px;}
.cm-locked {text-align:center;padding:40px 20px;}
.cm-locked h3 {margin:10px 0 6px;}
.cm-locked p {color:var(--muted);font-size:14px;margin:0 0 14px;}
.cm-composer {padding:14px 20px;border-bottom:1px solid var(--border);}
.cm-members {padding:6px 0;}
.cm-member {display:flex;align-items:center;gap:10px;padding:10px 20px;border-bottom:1px solid var(--border);}
.cm-member:last-child {border-bottom:0;}
.cm-member .person {flex:1;min-width:0;}
.cm-member.small {padding:8px 0;border:0;}
.cm-role {font-size:11px;font-weight:700;text-transform:capitalize;padding:2px 8px;border-radius:6px;background:var(--soft);color:var(--muted);}
.cm-role.owner {background:#fdf1c7;color:#a16207;}
.cm-role.admin {background:var(--accent-soft);color:var(--accent);}
.cm-member-acts {display:flex;gap:6px;}
.cm-about {padding:18px 20px;}
.cm-about h3 {font-size:15px;margin:18px 0 6px;}
.cm-rules {font-size:14px;line-height:1.6;}
.cm-manage {display:flex;flex-direction:column;gap:10px;padding:0 18px 14px;}
.cm-manage h4 {margin:6px 0 0;font-size:13px;}
.cm-logo-btn {cursor:pointer;justify-content:center;}
.cm-sugg .cm-id {flex:1;}
@media (max-width:1100px) {
  .cm-layout {grid-template-columns:1fr;}
  .cm-row {grid-template-columns:24px minmax(0,1fr) auto 90px;}
  .cm-row .cm-cell:nth-child(4),.cm-row .hide-sm {display:none;}
}
@media (max-width:640px) {
  .cm-row {grid-template-columns:minmax(0,1fr) auto;}
  .cm-rank,.cm-row .cm-cell:nth-child(3),.cm-row .cm-cell:nth-child(5) {display:none;}
  .cm-head-main {flex-direction:column;}
  .cm-stats {grid-template-columns:repeat(2,1fr);}
  .cw-two,.cw-cards,.cw-token {grid-template-columns:1fr;}
}
.cm-head {display:block;}
.cm-head-main,.cm-stats {width:100%;box-sizing:border-box;}

/* sign-in hand-off to bros.run */
.sso-box {max-width:560px;padding:28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;}
.sso-box h2 {margin:6px 0 0;}
.sso-actions {display:flex;gap:8px;margin-top:8px;}

/* swap: honeypot acknowledgement */
.sw-risk {display:flex;gap:8px;align-items:flex-start;margin:0 0 12px;font-size:12px;font-weight:600;color:var(--red);}
.sw-risk input {margin-top:2px;}

/* token page: honeypot warning */
.hp-warn {border:1px solid var(--red);background:var(--red-soft);padding:14px 16px;}
.hp-warn strong {display:flex;align-items:center;gap:6px;color:var(--red);font-size:14px;}
.hp-warn strong .icon {width:16px;height:16px;}
.hp-warn p {margin:6px 0 0;font-size:12px;line-height:1.5;color:var(--text);}

/* community header: cover banner + logo over it (owner/admin can change both) */
.cm-head {overflow:hidden;}
.cm-cover {position:relative;height:180px;background:linear-gradient(120deg,#5b36e8 0%,#8a5cff 45%,#2f7fd6 100%);}
.cm-cover img {width:100%;height:100%;object-fit:cover;display:block;}
.cm-cover-acts {position:absolute;right:14px;top:14px;display:flex;gap:8px;}
.cm-cover-acts .btn {background:rgba(10,12,20,.62);color:#fff;border-color:rgba(255,255,255,.25);backdrop-filter:blur(6px);cursor:pointer;}
.cm-cover-acts .btn:hover {background:rgba(10,12,20,.8);}
.cm-head .cm-head-main {padding-top:0;}
.cm-logo-wrap {position:relative;flex:none;margin-top:-44px;}
.cm-logo-wrap .cm-logo {border:4px solid var(--panel, #fff);border-radius:18px;box-shadow:0 6px 18px rgba(20,10,60,.18);background:var(--panel, #fff);}
.cm-logo-edit {position:absolute;right:-6px;bottom:-6px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;border:3px solid var(--panel, #fff);cursor:pointer;}
.cm-logo-edit .icon {width:15px;height:15px;}
.cm-head-main .cm-head-text {padding-top:12px;}
.cm-head-main .cm-head-actions {padding-top:12px;}
@media (max-width: 700px) {
  .cm-cover {height:120px;}
  .cm-logo-wrap {margin-top:-36px;}
  .cm-cover-acts {right:10px;top:10px;}
}
/* header v2: the 3:1 cover is the background of logo, name, details and actions (down to the stats) */
.cm-cover {height:auto;aspect-ratio:3/1;min-height:250px;max-height:420px;display:flex;align-items:flex-end;overflow:hidden;}
.cm-cover > img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.cm-cover::after {content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(12,8,30,0) 28%,rgba(12,8,30,.5) 60%,rgba(12,8,30,.9) 100%);}
.cm-cover-acts {z-index:3;}
.cm-cover .cm-head-main {position:relative;z-index:2;width:100%;box-sizing:border-box;padding:0 24px 20px;align-items:flex-end;gap:18px;}
.cm-cover .cm-logo-wrap {margin-top:0;}
.cm-cover .cm-logo-wrap .cm-logo {border:3px solid rgba(255,255,255,.92);box-shadow:0 8px 24px rgba(0,0,0,.4);}
.cm-cover .cm-logo-edit {border-color:rgba(255,255,255,.92);}
.cm-cover .cm-head-text {padding-top:0;}
.cm-cover .cm-head-text h1 {color:#fff;font-size:30px;line-height:1.1;letter-spacing:-.02em;text-shadow:0 2px 12px rgba(0,0,0,.5);}
.cm-cover .cm-head-sub {color:#e4e1f4;margin:7px 0 0;font-size:12.5px;}
.cm-cover .cm-head-sub .mono {color:#fff;font-weight:700;}
.cm-dot {width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.55);display:inline-block;}
.cm-cover .cm-head-text p {color:#eeecf7;margin-top:8px;max-width:680px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 6px rgba(0,0,0,.55);}
.cm-cover .cm-head-actions {padding-top:0;align-self:flex-end;}
.cm-cover .cm-head-actions .btn:not(.primary), .cm-cover .cm-you {background:rgba(10,12,20,.55);color:#fff;border-color:rgba(255,255,255,.3);backdrop-filter:blur(6px);}
@media (max-width: 700px) {
  .cm-cover {aspect-ratio:auto;min-height:300px;}
  .cm-cover .cm-head-main {flex-direction:column;align-items:flex-start;padding:0 16px 16px;gap:10px;}
  .cm-cover .cm-head-text h1 {font-size:22px;}
}

.chg-note {display:block;font-size:10px;font-weight:600;line-height:1.2;}
/* Live market on six chains: chain badge in the corner of a token's logo, and the chain selector */
.tok-logo-wrap { position: relative; display: inline-flex; flex-shrink: 0; }
.tok-logo-wrap > img, .tok-logo-wrap > .avatar { width: 100% !important; height: 100% !important; }
.tok-logo-wrap .tc-chain { width: 12px; height: 12px; right: -3px; bottom: -3px; }
.tok-logo-wrap .tc-chain svg { width: 8px; height: 8px; }
.chain-seg-row { padding: 0 16px 12px; }
.chain-seg { flex-wrap: wrap; height: auto; }
.chain-seg button { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.chain-seg .tc-chain { position: static; border: 0; width: 14px; height: 14px; }
/* On-chain traders listed in the rankings (Robinhood Chain wallets that aren't AlphaBros members) */
.onchain-tag { display: inline-block; font-size: 9px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding: 1px 6px; border-radius: 999px; border: 1px solid var(--border); color: var(--muted); margin-right: 4px; vertical-align: 1px; }
/* compact side panels: Your spot, Active now */
.sx-compact { padding: 0 0 4px; }
.sx-head-row { align-items: center; padding: 12px 16px 8px; }
.sx-head-row h2 { font-size: 13px; flex: 1; min-width: 0; }
.sx-head-row small { margin: 0; flex: none; }
.sx-head-row .sx-live { margin-top: 0; }
.title-icon.sm { width: 24px; height: 24px; }
.title-icon.sm .icon { width: 13px; height: 13px; }
.sx-me-row { display: flex; align-items: center; gap: 8px; padding: 0 16px 8px; }
.sx-me-id { min-width: 0; flex: 1; }
.sx-me-id strong { display: block; font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sx-me-id small { font-size: 10px; color: var(--muted); }
.sx-mini { display: flex; gap: 10px; flex: none; }
.sx-mini > div { text-align: center; }
.sx-mini strong { display: block; font-size: 12px; font-weight: 800; }
.sx-mini small { display: block; font-size: 9px; color: var(--muted); white-space: nowrap; }
.sx-compact .sx-link { margin: 0 16px 8px; }
.sx-pulse { display: flex; align-items: center; gap: 10px; padding: 0 16px 10px; flex-wrap: wrap; }
.sx-pulse .sx-faces { padding: 0; }
.sx-pulse .sx-faces > a + a, .sx-pulse .sx-faces .sx-more { margin-left: -6px; }
.sx-pulse .sx-more { height: 24px; min-width: 24px; font-size: 10px; }
.sx-pulse-stats { display: flex; gap: 10px; font-size: 11px; color: var(--muted); flex-wrap: wrap; }
.sx-pulse-stats b { color: var(--text, inherit); font-weight: 800; }
/* right column: Live market | Positions tabs */
.sx-tabs { display: flex; gap: 4px; margin: 0 16px 8px; padding: 3px; border-radius: 10px; background: var(--soft, rgba(127,127,127,.08)); }
.sx-tabs button { flex: 1; border: 0; background: none; padding: 6px 8px; border-radius: 8px; font: inherit; font-size: 12px; font-weight: 700; color: var(--muted); cursor: pointer; }
.sx-tabs button.on { background: var(--panel); color: var(--text, inherit); box-shadow: 0 1px 3px rgba(0,0,0,.12); }
.sx .token-row { padding: 8px 16px; }
.sx-more-link { display: flex; align-items: center; gap: 6px; justify-content: flex-end; padding: 6px 16px 10px; font-size: 11px; font-weight: 700; color: var(--accent); }
.sx-more-link .icon { width: 12px; height: 12px; }

/* community announcements in the feed: the community it's from, a title, a gold edge */
.fx-card.fx-ann {box-shadow:inset 3px 0 0 var(--gold);}
.fx-ann-comm {display:inline-flex;align-items:center;gap:8px;margin:4px 0 6px;font-size:12px;color:var(--muted);text-decoration:none;}
.fx-ann-comm strong {color:var(--text);}
.fx-ann-comm:hover strong {text-decoration:underline;}
.fx-ann-title {margin:2px 0 4px;font-size:15px;font-weight:700;text-wrap:balance;}

/* Live market v2: tokens are the page; one side panel (Top traders | Live swaps) that can be hidden */
.market-grid.v2 { grid-template-columns:minmax(0,1fr) minmax(280px,340px); }
.market-grid.v2.full { grid-template-columns:minmax(0,1fr); }
.mk-side-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.mk-head-tools { display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.mk-more { display:flex; justify-content:center; padding:10px 16px 4px; }
.market-grid.v2 .data-table td { padding:7px 8px; }
.market-grid.v2 .data-table td:first-child { padding-left:14px; }
@media(max-width:1350px){ .market-grid.v2 { grid-template-columns:minmax(0,1fr) minmax(250px,300px); } .market-grid.v2.full { grid-template-columns:minmax(0,1fr); } }
@media(max-width:1000px){ .market-grid.v2 { grid-template-columns:minmax(0,1fr); } .market-grid.v2 > .mk-side { position:static; } .market-grid.v2 .market-scroll { max-height:none; } }
.fx-ann-media {display:grid;gap:6px;margin:6px 0 4px;border-radius:12px;overflow:hidden;max-width:560px;}
.fx-ann-media.n2,.fx-ann-media.n4 {grid-template-columns:1fr 1fr;}
.fx-ann-media.n3 {grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;}
.fx-ann-media.n3 a:first-child {grid-row:1 / 3;}
.fx-ann-media a {display:block;background:#000;min-height:0;}
.fx-ann-media img {width:100%;height:100%;max-height:420px;object-fit:cover;display:block;}
.fx-ann-media.n1 img {object-fit:contain;max-height:480px;}
.fx-ann-media video {width:100%;max-height:480px;background:#000;display:block;}

/* Coming-soon sidebar items: compact and quiet (still listed, still tagged "Soon"), so live pages stand out */
.nav-link.soon {min-height:28px;padding:4px 13px;margin:1px 0;font-size:11px;font-weight:560;opacity:.55;}
.nav-link.soon .icon {width:14px;height:14px;}
.nav-link.soon:hover {opacity:.85;background:transparent;}
.nav-link.soon.active {opacity:1;}
.nav-link.soon .nav-soon {position:static;margin-left:auto;font-size:7.5px;padding:1px 5px;background:transparent;border:1px solid var(--border);color:var(--muted);}
.soon-nav {margin:2px 0 6px;}
.soon-nav .nav-link {width:100%;background:none;border:1px solid transparent;cursor:pointer;text-align:left;font-family:inherit;}

/* Native dropdown lists take the theme's colours (a transparent select made Chrome draw them light-on-white in dark mode) */
select option, select optgroup {background-color:var(--panel);color:var(--text);}
select option:disabled {color:var(--muted);}
.ct-vis select,.ct-trade select {cursor:pointer;}
.ct-vis select:focus,.ct-trade select:focus {outline:none;}
.ct-vis:focus-within,.ct-trade:focus-within {border-color:var(--accent);}

/* Composer: attach photos / GIFs / a video, with upload tiles */
.ct-media {display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:9px;padding:6px 10px;background:var(--panel);font-size:12px;color:var(--text);cursor:pointer;}
.ct-media:hover {border-color:var(--accent);}
.ct-media .icon {width:14px;height:14px;color:var(--muted);}
.pm-tiles {display:flex;flex-wrap:wrap;gap:8px;padding-left:44px;margin:8px 0 2px;}
.pm-tile {position:relative;width:96px;height:96px;border-radius:10px;overflow:hidden;border:1px solid var(--border);background:#000;}
.pm-tile img,.pm-tile video {width:100%;height:100%;object-fit:cover;display:block;}
.pm-tile.busy img,.pm-tile.busy video {opacity:.45;}
.pm-tile em {position:absolute;left:0;right:0;bottom:6px;text-align:center;font-size:10px;font-style:normal;color:#fff;}
.pm-vid {position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-style:normal;font-size:22px;text-shadow:0 1px 6px #000;pointer-events:none;}
.pm-x {position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:0;background:rgba(0,0,0,.7);color:#fff;cursor:pointer;line-height:1;}
@media(max-width:700px){ .pm-tiles {padding-left:0;} }

/* Live Market side panel: the token name keeps its room; a long change label ("+292,999% since launch · 16h") wraps */
.sx-token .sx-who {min-width:68px;}
.sx-token .sx-val {flex:0 1 auto;min-width:0;max-width:58%;}
.sx-token .sx-val small {display:block;white-space:normal;line-height:1.25;overflow-wrap:anywhere;}
/* media tiles: checking → uploading n% (bar) → done; the limits next to the picker */
.pm-wait {display:grid;place-items:center;width:100%;height:100%;font-size:22px;font-weight:800;color:var(--muted);background:var(--soft);}
.pm-tile em {display:flex;align-items:center;justify-content:center;gap:5px;}
.pm-tile em .spinner {width:10px;height:10px;}
.pm-bar {position:absolute;left:0;bottom:0;height:3px;background:var(--accent);transition:width .2s;}
.ct-media-hint {font-size:10.5px;}

/* ---------- Community page: full width, every section as a tab (chat, announcements, trades, members, leaderboard, about, manage) */
.cm-full {margin-top:16px;}
.cm-full .cm-page-tabs {flex-wrap:wrap;overflow-x:auto;}
/* chat */
.cmc-pin {margin:12px 16px 0;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--soft);font-size:12px;}
.cmc-list {display:flex;flex-direction:column;gap:10px;padding:14px 16px;max-height:min(62vh,620px);overflow-y:auto;}
.cmc-msg {display:flex;gap:10px;align-items:flex-start;max-width:min(720px,100%);}
.cmc-msg.mine {align-self:flex-end;flex-direction:row-reverse;}
.cmc-bub {min-width:0;flex:1;background:var(--soft);border:1px solid var(--border);border-radius:12px;padding:8px 12px;}
.cmc-msg.mine .cmc-bub {background:var(--accent-soft);border-color:#bdabfb55;}
.cmc-head {display:flex;align-items:center;gap:8px;font-size:12px;}
.cmc-head a {font-weight:700;color:var(--text);}
.cmc-head small {color:var(--muted);font-size:10.5px;}
.cmc-del {margin-left:auto;border:0;background:none;color:var(--muted);cursor:pointer;padding:2px;opacity:.6;}
.cmc-del:hover {opacity:1;color:var(--red, #e5484d);}
.cmc-del .icon {width:12px;height:12px;}
.cmc-text {margin-top:4px;font-size:13px;line-height:1.5;overflow-wrap:anywhere;}
.cmc-gone {font-style:italic;font-size:12px;}
.cmc-quote {margin-top:4px;padding:4px 8px;border-left:3px solid var(--accent);background:var(--panel);border-radius:6px;font-size:11.5px;color:var(--muted);}
.cmc-imgs {display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;}
.cmc-imgs img {max-width:220px;max-height:220px;border-radius:8px;display:block;}
.cmc-acts {display:flex;gap:6px;margin-top:6px;flex-wrap:wrap;}
.cmc-like,.cmc-react {border:1px solid var(--border);background:var(--panel);border-radius:999px;padding:1px 8px;font-size:11px;color:var(--text);cursor:pointer;}
.cmc-like.on {border-color:var(--accent);background:var(--accent-soft);}
.cmc-react {cursor:default;}
.cmc-ann {align-self:center;width:min(640px,100%);border:1px solid var(--border);box-shadow:inset 3px 0 0 var(--gold);border-radius:12px;padding:10px 14px;background:var(--panel);}
.cmc-ann-tag {font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);}
.cmc-ann p {margin:4px 0 6px;font-size:13px;line-height:1.5;}
.cmc-msg .fx-trade {margin-top:6px;}
.cmc-compose {display:flex;gap:8px;align-items:flex-end;padding:10px 16px;border-top:1px solid var(--border);}
.cmc-compose textarea {flex:1;min-width:0;resize:vertical;min-height:40px;max-height:160px;border:1px solid var(--border);border-radius:10px;padding:9px 12px;background:var(--panel);color:var(--text);font:inherit;font-size:13px;}
.cmc-compose textarea:focus {outline:none;border-color:var(--accent);}
.cmc-foot {padding:0 16px 12px;}
/* announcements composer */
.cma-compose {display:grid;gap:8px;margin:14px 16px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--soft);}
.cma-compose input,.cma-compose textarea {width:100%;border:1px solid var(--border);border-radius:9px;padding:9px 12px;background:var(--panel);color:var(--text);font:inherit;font-size:13px;}
.cma-compose input:focus,.cma-compose textarea:focus {outline:none;border-color:var(--accent);}
.cma-row {display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.cma-tiles {padding-left:0;}
/* leaderboard */
.cmb-head {display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px 6px;}
.data-table tr.me-row {background:var(--accent-soft);}
/* manage */
.cmg {display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;padding:16px;}
.cmg-card {border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--soft);display:grid;gap:10px;align-content:start;}
.cmg-card h3 {margin:2px 0 0;font-size:14px;}
.cmg-card .field {display:grid;gap:5px;}
.cmg-card .field label {font-size:11.5px;font-weight:700;color:var(--muted);}
.cmg-card input:not([type=checkbox]),.cmg-card textarea,.cmg-card select {width:100%;border:1px solid var(--border);border-radius:9px;padding:8px 11px;background:var(--panel);color:var(--text);font:inherit;font-size:13px;}
.cmg-card .field input + input {margin-top:6px;}
.cmg-fixed {font-size:13px;padding:8px 11px;border:1px dashed var(--border);border-radius:9px;}
.cmg-check {display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;}
.cmg-save {grid-column:1 / -1;display:flex;align-items:center;gap:12px;}
@media(max-width:700px){ .cmg {grid-template-columns:1fr;padding:12px;} .cmc-list {max-height:none;} }

/* Trades in the background: a tray bottom-right while they run, a pop-up when one ends */
#tx-tray {position:fixed;right:max(16px, env(safe-area-inset-right, 0px));bottom:max(16px, env(safe-area-inset-bottom, 0px));z-index:1200;width:min(360px, calc(100vw - 32px));}
.txq {background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 40px rgba(20,10,50,.25);overflow:hidden;}
.txq-head {display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:12px;font-weight:800;border-bottom:1px solid var(--border);background:var(--soft);}
.txq-head .spinner,.txq-row .spinner {width:14px;height:14px;flex:none;}
.txq-row {display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:12px;}
.txq-row + .txq-row {border-top:1px solid var(--border);}
.txq-row > div {flex:1;min-width:0;}
.txq-row strong {display:block;font-size:12.5px;}
.txq-row small {display:block;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.txq-row a {flex:none;display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;color:var(--accent);}
.txq-row a .icon {width:11px;height:11px;}
.txq-ic {flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:900;}
.txq-row.done .txq-ic {background:rgba(30,180,110,.15);color:var(--green, #16a34a);}
.txq-row.failed .txq-ic {background:rgba(229,72,77,.14);color:var(--red, #e5484d);}
.txq-x {flex:none;border:0;background:none;color:var(--muted);font-size:16px;cursor:pointer;line-height:1;padding:2px 4px;}
.tx-pop {position:fixed;top:max(16px, env(safe-area-inset-top, 0px));right:16px;z-index:1300;width:min(380px, calc(100vw - 32px));background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:0 16px 48px rgba(20,10,50,.3);animation:txpop .2s ease;}
.tx-pop.done {border-color:rgba(30,180,110,.5);}
.tx-pop.failed {border-color:rgba(229,72,77,.5);}
@keyframes txpop {from{transform:translateY(-8px);opacity:0}to{transform:none;opacity:1}}
.sw-hide {color:var(--accent);font-weight:700;}

/* Sidebar collapse: a round « / » handle on the sidebar's edge, near the top (replaces the "Collapse" row) */
.rail-handle {position:absolute;top:58px;right:-13px;z-index:45;width:26px;height:26px;border-radius:50%;border:1px solid var(--border);background:var(--panel);color:var(--muted);font-size:15px;font-weight:800;line-height:1;display:grid;place-items:center;padding:0 0 2px;cursor:pointer;box-shadow:0 2px 8px rgba(20,10,50,.12);}
.rail-handle:hover {color:var(--accent);border-color:var(--accent);}
.rail-handle:focus-visible {outline:2px solid var(--accent);outline-offset:2px;}
@media(max-width:850px) {.rail-handle {display:none;}}
/* wallet page: 30-day summary of a scored wallet */
.wal-quiet {margin:12px 16px 0;}
.wal-top {padding:6px 16px 12px;}
.wal-top h3 {margin:6px 0;font-size:13px;}
/* daily leaderboard card in the community chat */
.cmc-lb {display:grid;gap:4px;}
.cmc-lb-row {display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:8px;color:var(--text);text-decoration:none;min-width:0;}
.cmc-lb-row:hover {background:var(--panel-2,rgba(127,127,127,.08));}
.cmc-lb-row.me {box-shadow:inset 3px 0 0 var(--accent,#7c6cff);}
.cmc-lb-row strong {flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cmc-lb-note {margin:4px 0;font-size:12.5px;line-height:1.5;}
.cmc-lb-acts {display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 4px;}
/* like: outlined and grey until you like it, in colour once you have */
.cmc-like {background:transparent;color:var(--muted);}
.cmc-like i {font-style:normal;}
.cmc-like:not(.on) i {filter:grayscale(1);opacity:.55;transition:filter .15s,opacity .15s;}
.cmc-like:hover:not(:disabled) i {opacity:.85;}
.cmc-like.on {color:var(--text);}
/* Solana trade card */
.solx {display:grid;gap:10px;}
.solx-wallets {display:grid;gap:8px;}
.solx-wallets .btn img, .solx-acct img {border-radius:5px;}
.solx-wallets .btn {justify-content:center;gap:8px;}
.solx-acct {display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);}
.solx-acct > span {flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.solx-side {display:grid;grid-template-columns:1fr 1fr;}
.solx-quick {display:flex;flex-wrap:wrap;gap:6px;}
.solx-row {display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;}
.solx-row > span:first-child {color:var(--muted);}
.solx-row .btn.sm {padding:3px 8px;}
#sol-live {display:grid;gap:8px;}
.solx-warn {display:flex;gap:6px;align-items:flex-start;font-size:12.5px;color:var(--gold);}
.solx-err {font-size:12.5px;color:var(--red, #e5484d);}
.solx-wait {display:flex;align-items:center;gap:8px;font-size:13px;}
.solx-note {margin:0;}
/* community chat: reply */
.cmc-reply {border:0;background:none;color:var(--muted);font-size:11.5px;cursor:pointer;padding:1px 6px;border-radius:999px;}
.cmc-reply:hover {color:var(--text);background:var(--panel);}
.cmc-replying {display:flex;align-items:center;gap:8px;padding:6px 10px;margin-bottom:6px;border-left:3px solid var(--accent);background:var(--panel);border-radius:8px;font-size:12.5px;color:var(--muted);}
.cmc-replying span {flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cmc-reply-x {border:0;background:none;color:var(--muted);cursor:pointer;display:inline-flex;}
/* sidebar footer: © AlphaBros · X · Community */
.sidebar-social {margin-bottom:4px;font-weight:600;letter-spacing:0;text-transform:none;}
.sidebar-social a {color:var(--accent);text-decoration:none;}
.sidebar-social a:hover {text-decoration:underline;}
/* sidebar groups: Common · Communities · Automation (folds) — headers keep the section-title look */
button.nav-group-head {display:flex;align-items:center;gap:6px;width:100%;border:0;background:none;cursor:pointer;text-align:left;font-family:inherit;}
.nav-group-head .nav-soon, .create-menu .nav-soon {position:static;font-size:7.5px;padding:1px 5px;line-height:1.4;background:transparent;border:1px solid var(--border);color:var(--muted);}
.nav-group-head .nav-soon {margin-left:2px;}
.nav-group-head .nav-caret {margin-left:auto;font-size:12px;line-height:1;opacity:.7;}
.nav-group-head:hover {color:var(--text);}
.nav-group.folded {display:none;}
:root.rail .nav-group.folded {display:block;} /* icon-only sidebar: no header to open it, so the icons stay */
/* "+ Create" with its small menu */
.create-wrap {position:relative;}
.create-menu {position:absolute;top:calc(100% + 6px);left:0;min-width:210px;z-index:40;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 18px 40px rgba(40,20,90,.18);padding:6px;display:grid;gap:2px;}
.create-menu a, .create-menu button {display:flex;align-items:center;gap:10px;padding:9px 10px;border:0;border-radius:8px;background:none;color:var(--text);font:600 13px var(--font, inherit);text-decoration:none;cursor:pointer;text-align:left;}
.create-menu a:hover, .create-menu button:hover {background:var(--panel-2, rgba(127,127,127,.08));}
.create-menu .nav-soon {margin-left:auto;}
.top-theme {align-self:center;flex-shrink:0;} .top-theme button {padding:6px 8px;} .top-theme .icon {width:15px;height:15px;}
/* the top-bar Appearance switch stays side by side (the old sidebar rules stacked it) */
.topbar .top-theme, :root.rail .topbar .top-theme {flex-direction:row;gap:0;}
@media (max-width:640px) { .topbar .top-theme button {padding:4px 5px;} .topbar .top-theme .icon {width:13px;height:13px;} }
.rank-asof {align-self:center;font-size:12px;}

/* a pool that only trades through the token's own router: a caution, not a honeypot */
.hp-warn.soft {border-color:var(--gold);background:color-mix(in srgb, var(--gold) 10%, transparent);}
.hp-warn.soft strong {color:var(--gold);}

/* honeypot: pools that drain a sale (fee or loss over 20%), always red */
.hp-drain {display:block;margin-top:6px;color:var(--red);font-weight:700;}

/* ---------- EVM trades in the Solana card's design: the token page's card and the Swap drawer's form ---------- */
.sw-inl-card {display:grid;gap:10px;}
.sw-inl .solx-side, .sw-drawer .sw-side2 {display:grid;grid-template-columns:1fr 1fr;width:100%;}
.sw-side2 button {font-size:12px;min-height:30px;}
.sw-side2 button.active[data-value="buy"] {background:var(--green, #16a34a);color:#fff;}
.sw-side2 button.active[data-value="sell"] {background:var(--red, #e5484d);color:#fff;}
.sw-pay-field {margin-bottom:0;}
.sw-pay-field.off {opacity:.6;}
.sw-pay-row {display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:10px;background:var(--panel);padding:4px 6px 4px 12px;}
.sw-pay-row:focus-within {border-color:var(--purple, #7c5cff);}
.sw-pay-row input {flex:1;min-width:0;border:0;background:transparent;color:var(--text);font:600 16px/1.4 inherit;padding:8px 0;outline:none;font-variant-numeric:tabular-nums;}
.sw-pay-field small {display:block;margin-top:5px;}
.sw-slips {display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end;}
.sw-slips .btn {min-width:0;}
.sw-recv strong {font-size:15px;font-variant-numeric:tabular-nums;text-align:right;}
.sw-recv strong .sw-usd {display:block;font-weight:500;}
.solx-row > span:last-child {text-align:right;}
.sw-fee-txt {font-size:12px;}
.sw-hint {margin:0;}
.sw-inl-back {justify-self:start;}
.sw-inl .sw-main-btn {margin-top:2px;}
.sw-inl .sw-review-pair, .sw-inl .sw-details {margin:0;}
.sw-drawer .sw-pay-field, .sw-drawer .solx-quick, .sw-drawer .solx-row, .sw-drawer .solx-note {margin-top:10px;}
.sw-inl .solx-row > span:first-child {white-space:nowrap;}
.sw-slips .btn {padding:3px 7px;font-size:11px;}
/* the page card never grows past its column: grid children may shrink, long lines wrap or ellipsize */
.sw-inl {min-width:0;overflow:hidden;}
.sw-inl-card {grid-template-columns:minmax(0,1fr);min-width:0;}
.sw-inl-card > * {min-width:0;}
.sw-inl .solx-acct > span {white-space:normal;}
.sw-inl .sw-pay-field small {overflow-wrap:anywhere;}
.sw-inl .solx-quick .btn {flex:1 1 auto;}
.sw-inl .solx-row {flex-wrap:wrap;}
.sw-inl .solx-row > span:last-child {margin-left:auto;}

/* trade cards: the token being traded, above Buy / Sell */
.trade-tok {display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--soft);min-width:0;}
.trade-tok-id {display:grid;min-width:0;flex:1;}
.trade-tok-id b {font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.trade-tok-id small {color:var(--muted);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.trade-tok-px {font-weight:700;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap;}

.trade-tok-change {flex:none;font-size:12px;}
.sw-inl .sw-search input {min-width:0;}
.sw-inl .sw-suggest {max-height:260px;overflow:auto;}
.sw-inl-net {width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:var(--panel);color:var(--text);font:inherit;}

/* Solana card: the amount shortcuts sit right under the balance (no gap), four even buttons */
.field .solx-amt-quick { margin-top: 6px; display: flex; gap: 6px; }
.field .solx-amt-quick .btn { flex: 1 1 0; min-width: 0; padding-inline: 4px; }

/* Swap review, compact: one pay → receive row, four lines, one approval line, one note */
.sw-rv-pair {display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin:0 0 10px;}
.sw-rv-pair>div {flex:1 1 0;min-width:0;display:flex;align-items:center;gap:8px;}
.sw-rv-pair>div>span {min-width:0;display:grid;line-height:1.25;}
.sw-rv-pair small {font-size:10px;color:var(--muted);}
.sw-rv-pair strong {font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sw-rv-pair .sw-usd {margin-left:0;font-size:11px;}
.sw-rv-pair img, .sw-rv-pair .avatar {width:28px;height:28px;flex:none;}
.sw-rv-arrow {color:var(--muted);display:inline-flex;flex:none;}
.sw-rv-arrow svg {width:14px;height:14px;}
.sw-rv-details {margin:0 0 10px;padding:4px 12px;}
.sw-rv-steps {display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;font-weight:600;}
.sw-rv-step {width:18px;height:18px;border-radius:50%;display:inline-grid;place-items:center;font-size:10px;border:1px solid var(--border);flex:none;}
.sw-rv-step.done {background:var(--accent);border-color:var(--accent);color:#fff;}
.sw-rv-step svg {width:11px;height:11px;}
.sw-rv-why {display:block;font-size:11px;color:var(--muted);margin-top:4px;line-height:1.45;}
.sw-rv-details + .sw-rv-why, .sw-rv-steps + .sw-rv-why {margin-bottom:2px;}
.sw-inl .sw-small-note, .sw-drawer .sw-small-note {margin-top:8px;line-height:1.5;}

/* trade card: the action sits under the estimate, details below it */
.sw-inl .sw-inl-main {margin:10px 0 6px;}
.sw-inl .sw-inl-main .sw-main-btn {margin:0;}
.sw-inl .sw-inl-main .sw-cancel {margin-top:6px;}

/* Settings → Referrals: one status table (EVM / Solana), one action, earnings and claims */
.rf-link {min-width:0;flex:1 1 320px;max-width:460px;}
.rf-head h4 {display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.rf-rate {margin-top:4px;max-width:62ch;}
.rf-box {display:grid;gap:10px;padding:4px 0 14px;border-bottom:1px solid var(--border);}
.rf-grid {border:1px solid var(--border);border-radius:10px;overflow:hidden;}
.rf-row {display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:center;padding:9px 14px;border-top:1px solid var(--border);font-size:13px;}
.rf-row:first-child {border-top:0;}
.rf-hd {background:var(--soft);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700;padding-block:7px;}
.rf-row > span:first-child {font-weight:600;}
.rf-hd > span:first-child {font-weight:700;}
.rf-st {display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;}
.rf-st i {width:8px;height:8px;border-radius:50%;}
.rf-st.ok {color:var(--green);} .rf-st.ok i {background:var(--green);}
.rf-st.todo {color:var(--yellow);} .rf-st.todo i {border:2px solid var(--yellow);}
.rf-st.off {color:var(--muted);} .rf-st.off i {background:var(--border);}
.rf-form {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.rf-form small {color:var(--muted);font-weight:500;}
.rf-action {display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px 14px;border-radius:10px;background:var(--accent-soft);border:1px solid var(--border);}
.rf-action p {margin:0;font-size:13px;}
.rf-acts, .rf-solw, .rf-claims {display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.rf-steps {display:grid;gap:8px;}
.rf-step {display:flex;gap:10px;align-items:center;font-size:13px;color:var(--muted);}
.rf-step .n {width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;border:1px solid var(--border);flex:none;}
.rf-step .n svg {width:12px;height:12px;}
.rf-step.done, .rf-step.now {color:var(--text);}
.rf-step.done .n {background:var(--green);border-color:var(--green);color:#fff;}
.rf-step.now .n {border-color:var(--accent);color:var(--accent);}
@media (max-width:760px) {
  .rf-row {grid-template-columns:1fr 1fr;}
  .rf-row > span:first-child {grid-column:1 / -1;}
  .rf-form {grid-template-columns:1fr;}
}
.rf-st.todo {color:color-mix(in srgb, var(--yellow) 55%, var(--text));} .rf-st.todo i {border-color:currentColor;}
.linkish-btn {border:0;background:none;padding:0;cursor:pointer;font:inherit;text-decoration:underline;}

/* Referrals, two steps (EVM, then Solana) in rows; the rate text uses the full width */
.rf-head {display:grid;gap:4px;}
.rf-title {display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.rf-title h4 {margin:0;}
.rf-head .rf-rate {margin:0;max-width:none;font-size:12px;color:var(--muted);}
.rf-step-row {display:grid;grid-template-columns:210px minmax(0,1fr);gap:14px;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:10px;}
.rf-step-row.off {opacity:.6;}
.rf-step-lab {display:flex;gap:10px;align-items:center;}
.rf-step-lab small {display:block;color:var(--muted);font-size:11px;}
.rf-n {width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;border:1px solid var(--border);flex:none;}
.rf-n.done {background:var(--green);border-color:var(--green);color:#fff;}
.rf-n svg {width:12px;height:12px;}
.rf-step-body {display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end;min-width:0;}
.rf-in {flex:1 1 260px;min-width:0;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:500 12px ui-monospace, SFMono-Regular, Menlo, monospace;}
.rf-money {display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;}
@media (max-width:760px) { .rf-step-row {grid-template-columns:1fr;} .rf-step-body {justify-content:flex-start;} }

.rf-people {align-items:flex-start;}
.rf-faces {display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:520px;}
.rf-face {display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 3px;border:1px solid var(--border);border-radius:999px;font-size:12px;font-weight:600;color:var(--text);text-decoration:none;}
.rf-face:hover {border-color:var(--accent);}

/* Referrals: the invite link follows the earnings block */
.rf-box + .setting-row {margin-top:6px;}

/* Referrals: earnings first, as a panel (earned, ready to claim, claim buttons) */
.rf-money {display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:10px;align-items:stretch;}
.rf-stat {display:grid;gap:2px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--soft);}
.rf-stat span {font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:700;}
.rf-stat b {font-size:20px;font-variant-numeric:tabular-nums;}
.rf-stat small {color:var(--muted);font-size:11px;}
.rf-money .rf-claims {flex-direction:column;justify-content:center;align-items:stretch;}
@media (max-width:760px) { .rf-money {grid-template-columns:1fr;} }

/* ================================================================== NEW UI (beta2): the AlphaBros Live design
   Palette and type from the design; the shell is an icon rail (bottom tab bar on phones), a top bar and a live ticker.
   Every existing screen keeps its markup and picks the palette up through the tokens. */
:root {
  --font:"Geist", Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono:"Geist Mono", ui-monospace, Menlo, Consolas, monospace;
  --sidebar:76px; --header:62px; --ticker:38px;
}
:root.rail { --sidebar:76px; }
[data-theme="dark"] {
  --bg:#0a0b0f; --surface:#101218; --panel:#101218; --soft:#161922;
  --text:#eef0f5; --muted:#8a91a3; --faint:#5d6475;
  --border:#1f2330; --shadow:#05060a;
  --accent:#9b87ff; --accent-hover:#b3a3ff; --accent-soft:#1b1730;
  --green:#3ddc97; --green-soft:#0f1a15; --red:#ff5c74; --red-soft:#1a1013;
  --yellow:#241c0a; --gold:#f5c451;
}
body { font-family:var(--font); }
.mono, .num, code, kbd { font-family:var(--mono); font-variant-numeric:tabular-nums; }

/* rail */
.nx-rail { position:fixed; left:0; top:0; bottom:0; width:var(--sidebar); z-index:40; display:flex; flex-direction:column; align-items:center; gap:4px; padding:14px 0 12px; background:var(--bg); border-right:1px solid var(--border); }
.nx-logo { width:44px; height:44px; border-radius:12px; display:grid; place-items:center; margin-bottom:6px; }
.nx-logo img { width:40px; height:40px; border-radius:11px; }
.nx-create-wrap, .nx-auto-wrap { position:relative; }
.nx-create { width:44px; height:44px; border-radius:12px; border:0; cursor:pointer; display:grid; place-items:center; margin-bottom:10px; background:var(--accent); color:#0a0b0f; box-shadow:0 6px 18px rgba(155,135,255,.3); }
.nx-create span { display:none; }
.nx-create .icon { width:20px; height:20px; }
.nx-nav { position:relative; width:64px; padding:8px 0 6px; border:0; border-radius:11px; background:transparent; color:#7d8496; display:flex; flex-direction:column; align-items:center; gap:4px; font:600 10px var(--font); text-decoration:none; cursor:pointer; }
.nx-nav .icon { width:20px; height:20px; }
.nx-nav:hover { color:var(--text); background:var(--soft); }
.nx-nav.on { color:var(--text); background:var(--soft); box-shadow:inset 0 0 0 1px var(--border); }
.nx-nav.on::before { content:""; position:absolute; left:-6px; top:10px; bottom:10px; width:3px; border-radius:3px; background:var(--accent); }
.nx-nav.soon { opacity:.6; }
.nx-soon { position:absolute; top:2px; right:2px; font:800 7.5px var(--font); letter-spacing:.04em; color:var(--gold); border:1px solid #5a4614; border-radius:999px; padding:0 4px; font-style:normal; background:var(--bg); }
.nx-grow { flex:1; }
.nx-pop { position:absolute; left:calc(100% + 10px); top:0; z-index:60; min-width:220px; padding:6px; border-radius:14px; border:1px solid var(--border); background:var(--surface); box-shadow:0 18px 40px rgba(0,0,0,.5); display:grid; gap:2px; }
.nx-pop a { display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:9px; color:var(--text); text-decoration:none; font-size:13px; font-weight:600; }
.nx-pop a:hover { background:var(--soft); }
.nx-pop a .icon { width:17px; height:17px; color:var(--accent); }
.nx-pop .nav-link { margin:0; }
.nx-pop em { margin-left:auto; font-style:normal; font-size:10px; color:var(--gold); }
.nx-legal { padding:8px; font-size:11px; color:var(--muted); text-align:center; }
.nx-legal a { color:var(--accent); }

/* top bar */
.topbar.nx-top { left:var(--sidebar); height:var(--header); background:var(--bg); border-bottom:1px solid var(--border); padding:0 24px; gap:12px; }
.nx-top .search-box { flex:1 1 240px; max-width:520px; height:40px; border-radius:10px; background:var(--panel); border-color:var(--border); }
.nx-live { display:inline-flex; align-items:center; gap:7px; font-size:12.5px; color:var(--muted); white-space:nowrap; }
.nx-dot { width:7px; height:7px; border-radius:50%; display:inline-block; background:var(--green); flex:none; }
.nx-live .nx-dot { animation:nx-pulse 1.6s ease-in-out infinite; }
.nx-dot.down { background:var(--red); }
@keyframes nx-pulse { 50% { box-shadow:0 0 9px var(--green); } }
.nx-bell { position:relative; }

/* live ticker */
.nx-ticker { position:fixed; top:var(--header); left:var(--sidebar); right:0; height:var(--ticker); z-index:29; overflow:hidden; display:flex; align-items:center; background:var(--surface); border-bottom:1px solid var(--border); font-size:12.5px; }
.nx-track { display:flex; gap:26px; padding-left:24px; white-space:nowrap; animation:nx-scroll 70s linear infinite; }
.nx-ticker:hover .nx-track { animation-play-state:paused; }
@keyframes nx-scroll { to { transform:translateX(-50%); } }
.nx-tk { display:inline-flex; align-items:center; gap:6px; color:#a3a9b8; text-decoration:none; flex:none; }
.nx-tk b { color:var(--text); font-weight:600; }
.nx-tk b.up { color:var(--green); font-family:var(--mono); } .nx-tk b.down { color:var(--red); font-family:var(--mono); }
.nx-tk small { color:var(--faint); font-family:var(--mono); }
.nx-tk:hover b { text-decoration:underline; }

/* content area */
.main { margin-left:var(--sidebar); padding:calc(var(--header) + var(--ticker) + 22px) 24px 40px; background-image:none; }
.main { padding-top:calc(var(--header) + var(--ticker) + 22px); }

/* phones: the rail becomes a bottom tab bar; "More" (menu) opens the full list */
@media (max-width: 760px) {
  .nx-rail { top:auto; bottom:0; right:0; width:auto; height:calc(62px + env(safe-area-inset-bottom, 0px)); flex-direction:row; justify-content:space-around; padding:6px 4px calc(6px + env(safe-area-inset-bottom, 0px)); border-right:0; border-top:1px solid var(--border); }
  .nx-rail .nx-logo, .nx-rail .nx-create-wrap, .nx-rail .nx-grow, .nx-rail .m-hide { display:none; }
  .nx-rail .nx-nav { width:auto; flex:1; }
  .nx-rail .nx-nav.on::before { display:none; }
  .nx-rail.open { top:0; height:auto; flex-direction:column; justify-content:flex-start; align-items:stretch; padding:20px 16px; overflow:auto; }
  .nx-rail.open .nx-logo, .nx-rail.open .nx-create-wrap, .nx-rail.open .m-hide { display:flex; }
  .nx-rail.open .nx-nav { flex-direction:row; width:100%; flex:none; padding:12px; font-size:14px; gap:12px; }
  .nx-rail.open .nx-create { width:100%; display:flex; gap:8px; justify-content:center; } .nx-rail.open .nx-create span { display:inline; }
  .nx-rail.open .nx-pop { position:static; box-shadow:none; }
  .topbar.nx-top { left:0; padding:0 12px; }
  .nx-live { display:none; }
  .nx-ticker { left:0; }
  .main { margin-left:0; padding:calc(var(--header) + var(--ticker) + 14px) 14px calc(84px + env(safe-area-inset-bottom, 0px)); }
}
@media (prefers-reduced-motion: reduce) { .nx-track { animation:none; } .nx-live .nx-dot { animation:none; } }
@media (max-width: 760px) { .nx-top .nx-bell { display:none; } .nx-top .search-box { min-width:0; } }

/* new UI, Market: top mover + token cards (the table stays as "Table") */
.nx-mover { display:flex; align-items:center; gap:16px; padding:16px 18px; margin:4px 0 14px; border:1px solid #2b2550; border-radius:12px; background:#14111f; color:var(--text); text-decoration:none; flex-wrap:wrap; }
.nx-mover .eyebrow { font-size:11px; font-weight:700; letter-spacing:.08em; color:#b9a6ff; }
.nx-mover strong { display:block; font-size:22px; font-weight:800; } .nx-mover strong small { font-size:13px; font-weight:500; color:var(--muted); }
.nx-mover .mono { color:var(--muted); font-size:12.5px; }
.nx-mover-chg { margin-left:auto; font:700 26px var(--mono); }
.nx-tgrid { display:grid; grid-template-columns:repeat(auto-fill, minmax(250px, 1fr)); gap:12px; }
.nx-tcard { display:flex; flex-direction:column; gap:10px; padding:14px; border-radius:12px; border:1px solid var(--border); background:var(--panel); cursor:pointer; min-width:0; transition:border-color .2s, background .2s; }
.nx-tcard:hover { border-color:#3a3360; background:#13151d; }
.nx-tc-head { display:flex; align-items:center; gap:10px; min-width:0; }
.nx-tc-name { min-width:0; flex:1; } .nx-tc-name strong { display:block; font-size:15px; } .nx-tc-name small { display:block; font-size:12px; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nx-tc-chg { font:700 13px var(--mono); }
.nx-tc-spark { height:42px; display:flex; align-items:center; }
.nx-tc-spark .sx-spark { width:100%; height:42px; } .nx-tc-spark .sx-spark.up { color:var(--green); } .nx-tc-spark .sx-spark.down { color:var(--red); }
.nx-tc-bar { display:block; width:100%; height:2px; border-radius:2px; background:linear-gradient(90deg, transparent, var(--green)); opacity:.6; } .nx-tc-bar.down { background:linear-gradient(90deg, transparent, var(--red)); }
.nx-kv { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:6px; font-size:11px; color:#7d8496; }
.nx-kv2 { grid-template-columns:repeat(2, minmax(0,1fr)); }
.nx-kv span { display:block; } .nx-kv b { display:block; font:600 12.5px var(--mono); color:var(--text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .nx-kv b small { color:var(--muted); font-weight:500; }
.nx-tc-acts { display:flex; gap:8px; margin-top:auto; }
.nx-tc-acts .btn { flex:none; } .nx-tc-acts .nx-buy { flex:1; justify-content:center; background:var(--green); border-color:var(--green); color:#06140d; font-weight:800; }
@media (max-width: 760px) { .mk-tokens .panel-header, .mk-tokens .mk-head-tools { flex-wrap:wrap; gap:8px; } .mk-tokens .mk-head-tools .segmented { max-width:100%; overflow-x:auto; } .nx-mover-chg { margin-left:0; } }

/* new UI, Feed: stories row */
.nx-stories { display:flex; gap:14px; overflow-x:auto; padding:4px 2px 14px; scrollbar-width:thin; }
.nx-story { flex:none; width:76px; display:flex; flex-direction:column; align-items:center; gap:5px; text-decoration:none; color:#c5cad6; font-size:11.5px; }
.nx-story b { max-width:76px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:600; }
.nx-story em { font:600 10.5px var(--mono); font-style:normal; }
.nx-ring { width:60px; height:60px; border-radius:50%; padding:3px; display:grid; place-items:center; background:conic-gradient(var(--green), var(--accent), var(--green)); }
.nx-ring.down { background:conic-gradient(var(--red), var(--accent), var(--red)); }
.nx-ring .avatar { width:54px !important; height:54px !important; border-radius:50%; border:3px solid var(--bg); }

/* new UI, Leaderboard: podium */
.nx-podium { display:grid; grid-template-columns:1fr 1.15fr 1fr; gap:12px; align-items:end; padding:16px; }
.nx-pod { display:flex; flex-direction:column; align-items:center; gap:6px; padding:16px 10px; border-radius:14px; border:1px solid var(--border); background:var(--soft); text-decoration:none; color:var(--text); text-align:center; min-width:0; }
.nx-pod.p1 { padding-top:22px; border-color:#3a3360; background:linear-gradient(180deg, #1b1730, var(--soft)); box-shadow:0 0 30px rgba(155,135,255,.15); }
.nx-pod .avatar { border-radius:50%; }
.nx-pod b { font-size:14px; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nx-pod small { color:var(--muted); font-size:11.5px; }
.nx-pod-pnl { font:700 16px var(--mono); }
.nx-pod-rank { font:800 12px var(--mono); width:24px; height:24px; border-radius:50%; display:grid; place-items:center; color:#0a0b0f; background:#c9ccd6; }
.nx-pod.p1 .nx-pod-rank { background:var(--gold); } .nx-pod.p3 .nx-pod-rank { background:#d1884f; }

/* new UI, Profile: the P&L card */
.profile-banner { border-radius:14px; padding:6px; background:radial-gradient(120% 90% at 0% 0%, #2a2160, var(--panel) 60%); }
.mk-hero-price .big { font-family:var(--mono); }

/* new UI, Token page on phones: Buy / Sell bar */
.nx-mbar { display:none; }
@media (max-width: 760px) {
  .nx-mbar { display:grid; grid-template-columns:1fr 1fr; gap:8px; position:fixed; left:0; right:0; bottom:calc(62px + env(safe-area-inset-bottom, 0px)); z-index:24; padding:8px 14px; background:var(--bg); border-top:1px solid var(--border); }
  .nx-mbar .btn { height:46px; justify-content:center; font-weight:800; font-size:15px; border:0; }
  .nx-mb-buy { background:var(--green) !important; color:#06140d !important; } .nx-mb-sell { background:var(--red) !important; color:#1a0509 !important; }
  .nx-podium { grid-template-columns:1fr; } .nx-pod.p1 { order:-1; }
}
.cm-cover { max-height:320px; min-height:220px; }
/* comments opened in place under a feed post */
.fx-thread { margin-top:10px; padding:10px 12px; border-radius:12px; background:var(--soft); border:1px solid var(--border); display:grid; gap:8px; }
.fx-thread .cm-compose { margin:0; padding:0; border:0; }
button.fx-link { background:none; border:0; cursor:pointer; font:inherit; }
.fx-preview[role=button] { cursor:pointer; }
/* the rail logo (white + purple): no rounding; on the light theme it sits on a dark tile so the white half shows */
.nx-logo img { border-radius:0; width:38px; height:38px; object-fit:contain; }
:root:not([data-theme="dark"]) .nx-logo { background:#15131f; }

/* feed top row: tokens smart money is buying */
.nx-smart { margin-bottom:14px; border:1px solid var(--border); border-radius:14px; background:var(--panel); padding:10px 12px; }
.nx-smart-head { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:8px; }
.nx-smart-head b { font-size:14px; } .nx-smart-head small { color:var(--muted); font-size:12px; }
.nx-smart-list { display:flex; gap:10px; overflow-x:auto; padding-bottom:4px; scrollbar-width:thin; }
.nx-sm { flex:none; display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:12px; border:1px solid var(--border); background:var(--soft); color:var(--text); text-decoration:none; min-width:220px; }
.nx-sm:hover { border-color:#3a3360; }
.nx-sm > div { min-width:0; flex:1; display:grid; }
.nx-sm b { font-size:14px; } .nx-sm small { font-size:11.5px; color:var(--muted); white-space:nowrap; } .nx-sm em { font-style:normal; color:var(--gold); font-weight:700; }
.nx-sm-buy { border:0; border-radius:8px; padding:7px 12px; font-weight:800; font-size:12px; background:var(--green); color:#06140d; cursor:pointer; }
.nx-smart-empty { color:var(--muted); font-size:13px; padding:6px 2px; }
/* proven traders: win multiples, the wallet's Wins card */
.pv-x { font:700 12px var(--mono); padding:2px 7px; border-radius:7px; border:1px solid var(--border); margin-left:auto; }
.pv-x.x2 { color:var(--green); border-color:rgba(61,220,151,.4); } .pv-x.x6 { color:var(--gold); border-color:rgba(245,196,81,.45); } .pv-x.x11 { color:#ff8fe0; border-color:rgba(255,143,224,.45); box-shadow:0 0 12px rgba(255,143,224,.2); }
.pv-kpis { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:8px; padding:0 16px 12px; }
.pv-kpis div { padding:10px; border-radius:10px; background:var(--soft); text-align:center; } .pv-kpis b { display:block; font:700 18px var(--mono); } .pv-kpis span { font-size:11.5px; color:var(--muted); }
.th-sort { background:none; border:0; padding:0; font:inherit; color:inherit; text-transform:inherit; letter-spacing:inherit; cursor:pointer; } .th-sort.on { color:var(--accent); }
.tw-tabs { display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:3px; margin:0 14px 8px; border-radius:10px; background:var(--soft); }
.tw-tabs button { border:0; border-radius:8px; padding:6px; background:transparent; color:var(--muted); font:700 12.5px var(--font); cursor:pointer; }
.tw-tabs button.on { background:var(--accent-soft); color:var(--text); box-shadow:inset 0 0 0 1px #3a3360; }
.sx-trader .sx-who small .pv-x { margin-left:0; font-size:10.5px; padding:0 5px; }
.sx-val { text-align:right; } .sx-val strong { display:block; font:700 13px var(--mono); } .sx-val small { font-size:10.5px; color:var(--muted); }
/* a wallet's public name (Swift Otter #482) */
.wtag { font-weight:700; white-space:nowrap; }
/* token chart: own candles + top-wallet trade markers */
.oc-bar { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; padding:0 16px 8px; }
.oc-tf { display:flex; gap:2px; padding:3px; border-radius:9px; background:var(--soft); }
.oc-tf button { border:0; border-radius:7px; padding:4px 9px; background:transparent; color:var(--muted); font:700 12px var(--mono); cursor:pointer; }
.oc-tf button.on { background:var(--accent-soft); color:var(--text); }
.oc-legend { display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:12px; color:var(--muted); }
.oc-legend span { display:inline-flex; align-items:center; gap:4px; }
.oc-legend i { width:0; height:0; border-left:5px solid transparent; border-right:5px solid transparent; border-bottom:8px solid #3ddc97; }
.oc-legend i.pbuy { border-bottom-color:#f5c451; } .oc-legend i.sell { border-bottom:0; border-top:8px solid #ff5c7a; }
.oc-slot { height:420px; padding:0 8px; } .oc-chart { width:100%; height:100%; } .oc-wait { height:100%; display:grid; place-items:center; }
.oc-trades { padding:8px 16px 14px; display:grid; gap:2px; } .oc-th { font-size:12px; color:var(--muted); font-weight:700; margin-bottom:4px; }
.oc-tr { display:flex; align-items:center; gap:8px; padding:6px 8px; border-radius:8px; color:var(--text); text-decoration:none; font-size:13px; }
.oc-tr:hover { background:var(--soft); } .oc-tr small { margin-left:auto; color:var(--muted); }
.oc-none { padding:8px 16px 14px; font-size:12.5px; color:var(--muted); }
@media (max-width: 700px) { .oc-slot { height:320px; } }
/* chart trades: round profile icons over the candles, details on hover / tap */
.oc-chart { position:relative; }
.oc-dots { position:absolute; inset:0; pointer-events:none; z-index:3; }
.oc-dot { position:absolute; left:0; top:0; width:22px; height:22px; border-radius:50%; pointer-events:auto; cursor:pointer; box-shadow:0 0 0 2px var(--ring, #3ddc97), 0 2px 8px rgba(0,0,0,.5); outline:none; }
.oc-dot.buy { --ring:#3ddc97; } .oc-dot.pbuy { --ring:#f5c451; } .oc-dot.sell { --ring:#ff5c7a; }
.oc-dot > .avatar { width:22px !important; height:22px !important; font-size:8.5px !important; border:0; }
.oc-dot > i { position:absolute; right:-7px; top:-7px; min-width:14px; height:14px; padding:0 3px; border-radius:7px; background:var(--ring); color:#08080f; font:800 9px/14px var(--mono); font-style:normal; text-align:center; }
.oc-dot:hover, .oc-dot.open, .oc-dot:focus { z-index:5; }
.oc-tip { display:none; position:absolute; left:28px; top:-8px; width:230px; padding:8px; border-radius:12px; background:var(--panel); border:1px solid var(--border); box-shadow:0 10px 30px rgba(0,0,0,.45); }
.oc-dot:hover .oc-tip, .oc-dot.open .oc-tip { display:grid; gap:2px; }
.oc-dot.flip .oc-tip { left:auto; right:28px; } .oc-dot.below .oc-tip { top:auto; } .oc-dot:not(.below) .oc-tip { top:auto; bottom:-8px; }
.oc-dot.below .oc-tip { top:-8px; bottom:auto; }
.oc-tipr { display:flex; gap:8px; align-items:flex-start; padding:6px; border-radius:8px; color:var(--text); text-decoration:none; }
.oc-tipr:hover { background:var(--soft); } .oc-tipr span { display:grid; gap:1px; min-width:0; } .oc-tipr b { font-size:12.5px; } .oc-tipr small { font-size:11.5px; color:var(--muted); } .oc-tipr small.positive { color:var(--green); } .oc-tipr small.negative { color:var(--red, #ff5c7a); }
.oc-legend i { border:0 !important; width:10px; height:10px; border-radius:50%; box-shadow:0 0 0 2px #3ddc97 inset; }
.oc-legend i.pbuy { box-shadow:0 0 0 2px #f5c451 inset; } .oc-legend i.sell { box-shadow:0 0 0 2px #ff5c7a inset; }

/* feed right column: live trades (smart money + members) */
.lt-tabs { grid-template-columns:repeat(3, 1fr) !important; }
.lt-row { display:flex; align-items:center; gap:10px; padding:8px 14px; color:var(--text); text-decoration:none; }
.lt-row:hover { background:var(--soft); }
.lt-main { flex:1; min-width:0; display:grid; gap:1px; } .lt-l1 { display:flex; align-items:center; gap:6px; min-width:0; }
.lt-l1 strong { font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .lt-main small { font-size:12px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lt-main small b { color:var(--text); } .lt-ago { font:600 11px var(--mono); color:var(--muted); flex:none; }
.lt-b { flex:none; font-size:10px; font-weight:800; padding:1px 6px; border-radius:999px; border:1px solid var(--border); color:var(--muted); }
.lt-b.pv { color:var(--gold); border-color:rgba(245,196,81,.45); } .lt-b.top { color:#3ddc97; border-color:rgba(61,220,151,.4); } .lt-b.us { color:var(--accent); border-color:#3a3360; }

/* account menu (top right) */
.acct-wrap { position:relative; }
.acct-btn .avatar { margin-right:2px; } .acct-btn.on { border-color:var(--accent); }
.acct-menu { position:absolute; right:0; top:calc(100% + 8px); z-index:60; width:290px; max-height:min(76vh, 640px); overflow:auto; padding:6px; border-radius:14px; border:1px solid var(--border); background:var(--panel); box-shadow:0 18px 40px rgba(0,0,0,.55); display:grid; gap:1px; }
.am-h { display:flex; align-items:center; gap:10px; padding:10px; } .am-h b { display:block; font-size:14px; } .am-h small { color:var(--muted); font-size:12px; }
.am-i { display:flex; align-items:center; gap:10px; width:100%; padding:9px 10px; border:0; border-radius:9px; background:transparent; color:var(--text); font:600 13.5px var(--font); text-decoration:none; text-align:left; cursor:pointer; }
.am-i:hover { background:var(--soft); } .am-i .icon { width:17px; height:17px; color:var(--muted); } .am-i em { margin-left:auto; font-style:normal; color:var(--muted); }
.am-i span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.am-sep { height:1px; background:var(--border); margin:4px 6px; } .am-s { padding:6px 10px 2px; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
.am-none { margin:0; padding:4px 10px 6px; font-size:12.5px; color:var(--muted); } .am-out, .am-out .icon { color:#ff7a8e !important; }
@media (max-width: 700px) { .acct-menu { position:fixed; left:12px; right:12px; top:64px; width:auto; } }

/* your profile (#/me) */
.me-hero { display:flex; align-items:center; gap:20px; flex-wrap:wrap; padding:22px; background:radial-gradient(120% 140% at 0% 0%, rgba(155,135,255,.16), transparent 60%), var(--panel); }
.me-av .avatar { border-radius:22px; } .me-id { flex:1 1 320px; min-width:0; display:grid; gap:6px; } .me-id h1 { margin:0; font-size:28px; letter-spacing:-.02em; }
.me-meta { display:flex; gap:14px; flex-wrap:wrap; font-size:13px; color:var(--muted); } .me-meta b { color:var(--text); }
.me-chips { display:flex; gap:6px; flex-wrap:wrap; } .me-chip { display:inline-flex; align-items:center; gap:6px; height:28px; padding:0 10px; border-radius:999px; border:1px solid var(--border); background:var(--soft); font-size:12px; color:var(--text); }
.me-chip i { width:8px; height:8px; border-radius:50%; background:#c6f432; } .me-chip i.sol { background:#14f195; } .me-chip-btn { cursor:pointer; color:var(--accent); font-weight:700; }
.me-acts { display:flex; gap:8px; flex-wrap:wrap; }
.me-tabs { display:flex; gap:4px; margin:16px 0; border-bottom:1px solid var(--border); overflow-x:auto; }
.me-tabs button { display:inline-flex; align-items:center; gap:7px; height:42px; padding:0 14px; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--muted); font:700 13.5px var(--font); white-space:nowrap; cursor:pointer; }
.me-tabs button .icon { width:16px; height:16px; } .me-tabs button.on { color:var(--text); border-bottom-color:var(--accent); }
.me-tabs em { font-style:normal; font:700 11px var(--mono); padding:0 6px; border-radius:999px; background:var(--soft); color:var(--muted); }
.me-body { display:grid; gap:16px; }
.me-kpis { display:grid; grid-template-columns:repeat(auto-fit, minmax(160px, 1fr)); border:1px solid var(--border); border-radius:14px; background:var(--panel); overflow:hidden; }
.me-kpi { padding:14px 16px; border-left:1px solid var(--border); display:grid; gap:2px; } .me-kpi:first-child { border-left:0; }
.me-kpi span { font-size:11.5px; color:var(--muted); } .me-kpi b { font:700 20px var(--mono); } .me-kpi small { font-size:11.5px; color:var(--muted); }
.me-grid2 { display:grid; grid-template-columns:minmax(0, 1.6fr) minmax(280px, 1fr); gap:16px; align-items:start; }
@media (max-width: 1000px) { .me-grid2 { grid-template-columns:minmax(0, 1fr); } }
.me-cgrid { display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:10px; padding:0 16px 16px; }
.me-comm { display:flex; align-items:center; gap:12px; padding:12px; border-radius:12px; border:1px solid var(--border); background:var(--soft); color:var(--text); text-decoration:none; }
.me-comm:hover { border-color:#3a3360; } .me-comm div { display:grid; min-width:0; } .me-comm small { color:var(--muted); font-size:12px; }

/* token page: your position */
.pc-kv { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:6px; font-size:11px; color:var(--muted); }
.pc-kv b { display:block; font:600 13px var(--mono); color:var(--text); } .pc-kv b small { font-size:11px; }
.tp-kv { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; padding:0 16px 16px; }

/* positions: filters, cards, trending when empty */
.pf-bar { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; padding:0 0 12px; }
.pf-bar .chips { display:flex; gap:6px; flex-wrap:wrap; }
.pf-bar .chip { height:30px; padding:0 11px; border-radius:8px; border:1px solid var(--border); background:transparent; color:var(--muted); font:700 12.5px var(--font); display:inline-flex; align-items:center; gap:6px; cursor:pointer; }
.pf-bar .chip.on { border-color:#3a3360; background:var(--accent-soft); color:var(--text); }
.pf-bar .seg { display:flex; gap:2px; padding:3px; border-radius:9px; background:var(--soft); }
.pf-bar .seg button { border:0; border-radius:7px; padding:4px 10px; background:transparent; color:var(--muted); font:700 12px var(--font); cursor:pointer; } .pf-bar .seg button.on { background:var(--accent-soft); color:var(--text); }
.pc-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:12px; }
.pc-card { display:grid; gap:12px; padding:14px; border-radius:12px; border:1px solid var(--border); background:var(--soft); min-width:0; }
.pc-top { display:flex; align-items:center; gap:10px; } .pc-top .person { flex:1; min-width:0; }
.pc-res { display:grid; justify-items:end; } .pc-res b { font:700 19px var(--mono); } .pc-res small { font:600 12px var(--mono); }
.pc-acts { display:flex; gap:6px; } .pc-acts .btn { flex:1; justify-content:center; }
.pc-buy { background:var(--green) !important; color:#06140d !important; border-color:transparent !important; font-weight:800; }
.pc-sell { color:#ff8a9b !important; border-color:#5a2430 !important; background:#1a1013 !important; }
.pc-trend { display:grid; grid-template-columns:repeat(auto-fill, minmax(170px, 1fr)); gap:10px; padding:4px 16px 16px; }
.pc-tcard { display:grid; gap:4px; padding:10px 12px; border-radius:12px; border:1px solid var(--border); background:var(--soft); color:var(--text); text-decoration:none; }
.pc-tt { display:flex; align-items:center; gap:8px; } .pc-tt span { margin-left:auto; font:700 12px var(--mono); } .pc-tcard .sx-spark { width:100%; height:28px; }
.me-kpi b * { font:inherit; }
.pv-chains { display:inline-flex; gap:3px; vertical-align:middle; margin-left:4px; }
/* chain badges next to a wallet's name (Proven table, Top wallets): inline, not pinned to a logo's corner (they floated out
   to the page edge) */
.ins-body { padding:4px 16px 12px; display:grid; gap:8px; }
.ins-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:13px; } .ins-row > span:first-child { color:var(--muted); min-width:170px; } .ins-row strong { font:700 16px var(--mono); }
.ins-facts { display:flex; flex-wrap:wrap; gap:6px 16px; font-size:12px; color:var(--muted); } .ins-facts b { color:var(--text); }
.ins-note { font-size:11.5px; }
.ins-tag { display:inline-block; font-size:10px; font-weight:800; border-radius:999px; padding:0 6px; border:1px solid color-mix(in srgb, var(--red) 50%, transparent); color:var(--red); background:var(--red-soft); white-space:nowrap; margin:1px 0; }
.ins-tag.creator, .ins-tag.creatorFunded { color:var(--accent); border-color:color-mix(in srgb, var(--accent) 50%, transparent); background:var(--accent-soft); }
.pv-updated { font-size:12px; margin:-6px 0 12px; }
.tok-chain { margin-left:4px; vertical-align:middle; } .wal-chains { display:block; margin-top:4px; }
.pv-chains .tc-chain { position:static; width:14px; height:14px; border-width:1px; }
.pv-chains .tc-chain svg { width:8px; height:8px; }

.pv-hist { display:flex; align-items:center; gap:8px; margin:0 16px 10px; padding:8px 10px; border-radius:9px; background:var(--soft); font-size:12px; color:var(--muted); } .pv-hist .icon { width:15px; height:15px; flex:none; }

/* smart-money cards: token | who bought (proven in gold) | Buy */
.nx-sm { flex-wrap:wrap; text-decoration:none; }
.nx-sm-tok { display:flex; align-items:center; gap:10px; flex:1; min-width:0; color:var(--text); text-decoration:none; }
.nx-sm-tok > div { min-width:0; display:grid; } .nx-sm-tok b small { font-weight:600; color:var(--muted); font-size:10.5px; }
.nx-sm-who { display:flex; align-items:center; order:3; flex-basis:100%; padding-left:44px; }
.nx-sm-who:empty { display:none; }
.nx-sm-av { margin-left:-6px; border-radius:50%; box-shadow:0 0 0 2px var(--soft); line-height:0; }
.nx-sm-av:first-child { margin-left:0; }
.nx-sm-av.pv { box-shadow:0 0 0 2px #f5c451; }
.nx-sm-av:hover { transform:translateY(-1px); z-index:1; }
/* live trades: trader and token as separate links */
.lt-row { cursor:default; }
.lt-av { line-height:0; flex:none; } .lt-name { color:var(--text); font-weight:700; font-size:13px; text-decoration:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lt-name:hover { color:var(--accent); }
.lt-tok { display:inline-flex; align-items:center; gap:4px; margin-left:5px; padding:1px 6px 1px 2px; border-radius:999px; background:var(--soft); color:var(--text); text-decoration:none; vertical-align:middle; }
.lt-tok:hover { box-shadow:0 0 0 1px var(--accent); } .lt-tok b { font-size:11.5px; }
.nx-sm > .nx-sm-who { flex:0 0 100%; display:flex; order:3; min-width:0; }
.nx-sm > .nx-sm-tok { flex:1 1 auto; }
.nx-sm-av { display:inline-flex; width:24px; height:24px; flex:none; }
.nx-sm-av .avatar { width:24px !important; height:24px !important; }
/* an error the person must act on: red, in both themes */
.notice.error { background:var(--red-soft); border-color:color-mix(in srgb, var(--red) 45%, transparent); color:var(--red); font-weight:600; }
.notice.error .icon { color:var(--red); }
.tw-check { font-size:10px; font-weight:800; color:var(--muted); border:1px dashed var(--border); border-radius:999px; padding:0 6px; }
/* the post box: what you type in the normal text colour; only the hint stays faint */
.composer-input { color:var(--text); font-size:14px; }
.composer-input::placeholder { color:var(--faint); opacity:1; }
/* token names in lists: at most ~22 characters wide, then … (full name on hover); a copy-contract button beside */
.tok-name { display:inline-block; max-width:180px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; vertical-align:bottom; }
.ca-copy { display:inline-grid; place-items:center; width:22px; height:22px; margin-left:4px; padding:0; border:0; border-radius:6px; background:transparent; color:var(--muted); cursor:pointer; vertical-align:middle; flex:none; }
.ca-copy .icon { width:13px; height:13px; } .ca-copy:hover { background:var(--soft); color:var(--text); }
.profile-info h1, .profile-info .handle { overflow-wrap:anywhere; }
.ca-note { position:fixed; left:50%; bottom:28px; transform:translateX(-50%); z-index:200; padding:9px 14px; border-radius:10px; background:var(--panel); border:1px solid var(--border); color:var(--text); font-size:13px; font-weight:600; box-shadow:0 10px 30px rgba(0,0,0,.4); }
.pv-tag { display:inline-block; margin-left:6px; font-size:10px; font-weight:800; border-radius:999px; padding:0 6px; vertical-align:middle; white-space:nowrap; border:1px solid; }
.pv-tag.sniper { color:var(--red); border-color:color-mix(in srgb, var(--red) 55%, transparent); background:var(--red-soft); }
.pv-tag.cluster { color:var(--accent); border-color:color-mix(in srgb, var(--accent) 55%, transparent); background:var(--accent-soft); }
.pv-note { margin:12px 16px 0; }
.hist-mark { display:inline-block; margin-left:6px; font-size:10px; font-weight:800; color:var(--gold); border:1px dashed color-mix(in srgb, var(--gold) 55%, transparent); border-radius:999px; padding:0 6px; vertical-align:middle; white-space:nowrap; }
.xfer-row .info small .tag { font-size:9px; padding:0 5px; margin-right:2px; vertical-align:1px; }
.xfer-row .value .pos { color:var(--green); } .xfer-row .value .neg { color:var(--red); }
.nx-sm-safe { display:flex; flex-wrap:wrap; gap:4px; margin:4px 0 2px; }
.nx-sm-safe span { display:inline-flex; align-items:center; gap:3px; font-size:10px; font-weight:700; border-radius:999px; padding:1px 7px; white-space:nowrap; }
.nx-sm-safe span svg { width:10px; height:10px; }
.nx-sm-safe .ok { color:var(--green); background:color-mix(in srgb, var(--green) 12%, transparent); }
.nx-sm-safe .warn { color:var(--gold); background:color-mix(in srgb, var(--gold) 14%, transparent); }
/* chart markers: tokens a top wallet received (in) or sent (out) by transfer */
.oc-dot.xin { --ring:#5aa9ff; } .oc-dot.xout { --ring:#b48cff; }
.oc-legend i.xin { box-shadow:0 0 0 2px #5aa9ff inset; } .oc-legend i.xout { box-shadow:0 0 0 2px #b48cff inset; }
.oc-tip small.xin, .oc-tr .xin { color:#5aa9ff; } .oc-tip small.xout, .oc-tr .xout { color:#b48cff; }
/* Smart money strip: no scrollbar; round arrows at the edges (only where there is more to see), swipe on phones */
.nx-smart-list { scrollbar-width:none; scroll-behavior:smooth; }
.nx-smart-list::-webkit-scrollbar { display:none; }
.nx-smart-wrap { position:relative; }
.nx-sm-arrow { position:absolute; top:50%; z-index:2; width:30px; height:30px; margin-top:-15px; display:grid; place-items:center; border-radius:50%; border:1px solid var(--border); background:var(--panel); color:var(--text); box-shadow:0 4px 14px rgba(0,0,0,.35); cursor:pointer; }
.nx-sm-arrow svg { width:16px; height:16px; }
.nx-sm-arrow[hidden] { display:none; }
.nx-sm-arrow.left { left:-15px; } .nx-sm-arrow.left svg { transform:rotate(180deg); }
.nx-sm-arrow.right { right:-15px; }
.nx-sm-arrow:hover { border-color:var(--accent, #7147f7); }
/* swap panel: Solana chosen with no Solana token in the box: the address prompt under the pickers */
.sw-sol-ask { display:grid; gap:8px; margin:6px 0 12px; }

/* chart markers: the inner ring is the side (buy / sell / transfer), the outer ring who traded: smart money (gold),
   you (blue), someone you follow (purple), another AlphaBros member (grey) */
.tag.blue { background:rgba(77,163,255,.14); color:#4da3ff; border-color:rgba(77,163,255,.35); }
.oc-dot.p-smart { --party:#f5c451; } .oc-dot.p-you { --party:#4da3ff; } .oc-dot.p-following { --party:#a77bff; } .oc-dot.p-member { --party:#8b8aa0; }
.oc-dot[class*=" p-"] { box-shadow:0 0 0 2px var(--ring, #3ddc97), 0 0 0 4px var(--party, transparent), 0 2px 8px rgba(0,0,0,.5); }
.oc-legend .oc-lp i.ring { border:0 !important; width:10px; height:10px; border-radius:50%; box-shadow:0 0 0 2px #8b8aa0 inset; }
.oc-legend .oc-lp i.ring.smart { box-shadow:0 0 0 2px #f5c451 inset; } .oc-legend .oc-lp i.ring.you { box-shadow:0 0 0 2px #4da3ff inset; }
.oc-legend .oc-lp i.ring.following { box-shadow:0 0 0 2px #a77bff inset; }
.oc-ptag { font-size:10px; padding:1px 6px; margin-left:4px; }
.oc-loading { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:var(--surface); z-index:3; }

/* ---------------------------------------------------------------- setup walkthroughs (Create Safe · Deploy strategy)
   steps on the left, the form, and what happens on-chain on the right; one column on phones */
.wz { display:grid; grid-template-columns:230px minmax(0,1fr) 300px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; min-height:620px; }
.wz-steps { border-right:1px solid var(--border); padding:24px 14px; }
.wz-steps ol { list-style:none; margin:8px 0 0; padding:0; display:flex; flex-direction:column; gap:4px; }
.wz-kicker { font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); font-weight:600; }
.wz-steps > .wz-kicker { padding:0 10px 6px; }
.wz-step { display:flex; gap:12px; padding:10px; border-radius:10px; align-items:flex-start; }
.wz-step b { display:block; font-size:13.5px; }
.wz-step small { font-size:12px; color:var(--muted); }
.wz-n { width:26px; height:26px; flex:none; border-radius:50%; border:1px solid var(--border); display:grid; place-items:center; font-size:12px; font-weight:600; color:var(--muted); }
.wz-n .icon { width:14px; height:14px; }
.wz-step.done .wz-n { background:var(--green-soft); border-color:var(--green); color:var(--green); }
.wz-step.cur { background:var(--soft); }
.wz-step.cur .wz-n { background:var(--accent); border-color:var(--accent); color:var(--bg); }
.wz-main { padding:26px 32px; display:flex; flex-direction:column; gap:14px; min-width:0; }
.wz-main h1 { margin:4px 0 0; font-size:24px; letter-spacing:-.01em; text-wrap:balance; }
.wz-sub { margin:0; color:var(--muted); max-width:64ch; }
.wz-form { display:flex; flex-direction:column; gap:14px; }
.wz-foot { margin-top:auto; padding-top:8px; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.wz-side { border-left:1px solid var(--border); padding:24px 20px; display:flex; flex-direction:column; gap:12px; background:var(--panel); font-size:13px; }
.wz-side h3 { margin:0; font-size:14px; }
.wz-side p { margin:0; color:var(--muted); font-size:12.5px; line-height:1.5; }
.wz-card { background:var(--panel); border:1px solid var(--border); border-radius:14px; padding:14px 16px; display:flex; flex-direction:column; gap:10px; }
.wz-card .field { margin:0; }
.wz-card-head { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; }
.wz-lab { font-size:12.5px; font-weight:600; }
.wz-grid2, .wz-grid3, .wz-grid4 { display:grid; gap:12px; }
.wz-grid2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.wz-grid3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.wz-grid4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.wz-opt { border:1px solid var(--border); border-radius:12px; padding:12px 14px; display:flex; gap:12px; align-items:flex-start; cursor:pointer; background:var(--surface); }
.wz-opt.col { flex-direction:column; gap:6px; }
.wz-opt-top { display:flex; gap:10px; align-items:center; }
.wz-opt.sel { border-color:var(--accent); background:var(--accent-soft); }
.wz-opt input, .wz-ven input, .wz-chip input, .wz-check input { accent-color:var(--accent); width:16px; height:16px; margin:2px 0 0; flex:none; }
.wz-opt b { display:block; font-size:14px; }
.wz-opt small { font-size:12.5px; color:var(--muted); }
.wz-owner { display:flex; justify-content:space-between; align-items:center; gap:10px; border:1px solid var(--border); border-radius:10px; padding:10px 12px; }
.wz-unit { position:relative; }
.wz-unit input { padding-right:64px; font-family:var(--mono); }
.wz-unit em { position:absolute; right:12px; top:50%; transform:translateY(-50%); font-style:normal; font-size:12px; color:var(--muted); pointer-events:none; }
.wz-ven { display:flex; gap:14px; align-items:center; border:1px solid var(--border); border-radius:12px; padding:12px 14px; cursor:pointer; background:var(--surface); }
.wz-ven > div { flex:1; }
.wz-ven.sel { border-color:var(--accent); background:var(--accent-soft); }
.wz-ven-top { display:flex; justify-content:space-between; }
.wz-parts { display:flex; gap:6px; flex-wrap:wrap; margin-top:4px; }
.wz-chip { display:flex; gap:10px; align-items:center; border:1px solid var(--border); border-radius:11px; padding:10px 12px; font-weight:600; cursor:pointer; }
.wz-chip.sel { border-color:var(--accent); background:var(--accent-soft); }
.wz-check { display:flex; gap:10px; align-items:center; font-size:13px; align-self:end; min-height:40px; }
.wz-kv { display:flex; justify-content:space-between; gap:12px; font-size:13px; padding:7px 0; border-bottom:1px solid var(--border); }
.wz-kv:last-child { border-bottom:0; }
.wz-kv span { color:var(--muted); }
.wz-kv b { font-weight:600; text-align:right; }
.wz-call, .wz-mono { font-family:var(--mono); font-size:11.5px; color:var(--accent); background:var(--soft); border-radius:8px; padding:8px 10px; word-break:break-word; line-height:1.6; }
.wz-info, .wz-warn { border-radius:11px; padding:10px 13px; font-size:12.5px; }
.wz-info { background:var(--accent-soft); color:var(--text); border:1px solid var(--border); }
.wz-warn { background:var(--yellow); color:var(--gold); }
.wz-sig { display:flex; gap:12px; align-items:flex-start; padding:8px 0; border-bottom:1px solid var(--border); }
.wz-sig:last-child { border-bottom:0; }
.wz-sig > span { width:24px; height:24px; flex:none; border-radius:50%; background:var(--accent-soft); color:var(--accent); display:grid; place-items:center; font-size:12px; font-weight:700; }
.wz-sig b { display:block; font-size:13px; }
.wz-sig small { font-size:12px; color:var(--muted); }
.wz-fund { display:grid; grid-template-columns:200px minmax(0,1fr); gap:14px; align-items:center; }
.wz-chk { display:flex; gap:12px; align-items:center; padding:9px 0; border-bottom:1px solid var(--border); }
.wz-chk:last-child { border-bottom:0; }
.wz-chk > div { flex:1; min-width:0; }
.wz-chk b { display:block; font-size:13px; }
.wz-chk small { font-size:12px; color:var(--muted); }
.wz-chk > i { width:24px; height:24px; flex:none; border-radius:50%; display:grid; place-items:center; font-style:normal; font-size:12px; font-weight:700; background:var(--green-soft); color:var(--green); }
.wz-chk > i .icon { width:14px; height:14px; }
.wz-chk.warn > i { background:var(--yellow); color:var(--gold); }
.wz-chk.todo > i, .wz-chk.wait > i { background:var(--soft); color:var(--muted); border:1px solid var(--border); }
.wz-chk.opt > i { background:var(--soft); color:var(--muted); border:1px dashed var(--border); }
.wz-next { display:flex; flex-direction:column; gap:8px; background:var(--panel); border:1px solid var(--border); border-radius:14px; padding:14px; }
.wz-next small { color:var(--muted); font-size:12.5px; }
.wz-next .btn { align-self:flex-start; }
.wz-preview { border:1px solid var(--border); border-radius:14px; padding:14px; display:flex; flex-direction:column; gap:8px; background:var(--surface); }
.wz-preview p { color:var(--text); }
.wz-pv-top { display:flex; gap:10px; align-items:center; }
.wz-pv-top small { display:block; color:var(--muted); font-size:12px; }
.wz-av { width:40px; height:40px; border-radius:12px; background:var(--accent-soft); color:var(--accent); display:grid; place-items:center; font-weight:800; }
.wz-flow { display:flex; align-items:center; gap:8px; font-size:12px; }
.wz-flow span { flex:1; border:1px solid var(--border); border-radius:9px; padding:7px 9px; text-align:center; background:var(--surface); }
.wz-prog { display:flex; gap:12px; align-items:center; }
.wz-prog .mg-bar { flex:1; }
@media (max-width:1100px) { .wz { grid-template-columns:200px minmax(0,1fr); } .wz-side { grid-column:1 / -1; border-left:0; border-top:1px solid var(--border); } }
@media (max-width:760px) {
  .wz { grid-template-columns:1fr; }
  .wz-steps { border-right:0; border-bottom:1px solid var(--border); padding:14px; }
  .wz-steps ol { flex-direction:row; overflow-x:auto; }
  .wz-step { flex:none; }
  .wz-step small { display:none; }
  .wz-main { padding:18px 16px; }
  .wz-grid2, .wz-grid3, .wz-grid4, .wz-fund { grid-template-columns:1fr; }
}

/* ---------------------------------------------------------------- Manage Safe · Manage strategy */
.mg-head { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; flex-wrap:wrap; margin:6px 0 14px; }
.mg-title { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.mg-title h1 { margin:0; font-size:26px; letter-spacing:-.01em; }
.mg-sub { margin-top:6px; color:var(--muted); font-size:13px; display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.mg-acts { display:flex; gap:8px; flex-wrap:wrap; }
.mg-tabs { display:flex; gap:4px; border-bottom:1px solid var(--border); margin-bottom:18px; overflow-x:auto; }
.mg-tabs button { background:none; border:0; border-bottom:2px solid transparent; padding:11px 14px; font:600 13.5px var(--font); color:var(--muted); cursor:pointer; white-space:nowrap; }
.mg-tabs button:hover { color:var(--text); }
.mg-tabs button.on { color:var(--text); border-color:var(--accent); }
.mg-tiles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:16px; }
.mg-tiles.four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.mg-tiles.inner { margin:8px 0 12px; }
.mg-tile { background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:14px 16px; display:flex; flex-direction:column; gap:6px; }
.mg-tile label { font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); font-weight:600; }
.mg-tile strong { font-size:20px; font-family:var(--mono); font-variant-numeric:tabular-nums; }
.mg-tile strong small { font-size:13px; color:var(--muted); }
.mg-tile span { font-size:12px; color:var(--muted); }
.mg-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:start; margin-bottom:16px; }
.mg-grid.one { grid-template-columns:minmax(0,1fr); }
.mg-col { display:flex; flex-direction:column; gap:16px; min-width:0; }
.mg-sec { background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:4px 18px 12px; min-width:0; margin-bottom:16px; }
.mg-grid .mg-sec, .mg-col .mg-sec { margin-bottom:0; }
.mg-sec h2 { margin:12px 0 6px; font-size:15px; display:flex; justify-content:space-between; align-items:center; gap:10px; }
.mg-desc { margin:0 0 6px; font-size:12.5px; color:var(--muted); line-height:1.5; }
.mg-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:14px; align-items:center; padding:11px 0; border-top:1px solid var(--border); }
.mg-row b { display:block; font-size:13.5px; }
.mg-row small { font-size:12px; color:var(--muted); }
.mg-val { font-size:13px; text-align:right; }
.mg-call { margin:8px 0 0; font-family:var(--mono); font-size:11px; color:var(--accent); word-break:break-word; }
.mg-note { display:flex; gap:10px; align-items:flex-start; background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:14px 16px; font-size:13px; color:var(--muted); }
.mg-note b { color:var(--text); }
.mg-bar { height:6px; border-radius:3px; background:var(--border); overflow:hidden; min-width:110px; margin-top:6px; }
.mg-bar i { display:block; height:100%; background:var(--accent); }
.mg-bar.green i { background:var(--green); }
.mg-chk { display:flex; gap:10px; align-items:center; font-size:13px; padding:7px 0; }
.mg-chk > i { width:20px; height:20px; border-radius:50%; display:grid; place-items:center; font-style:normal; font-size:11px; font-weight:700; background:var(--green-soft); color:var(--green); flex:none; }
.mg-chk > i .icon { width:12px; height:12px; }
.mg-chk.warn > i { background:var(--yellow); color:var(--gold); }
.mg-pause { display:flex; justify-content:space-between; align-items:center; gap:12px; border:1px solid var(--red); background:var(--red-soft); border-radius:12px; padding:12px 14px; margin:6px 0 8px; }
.mg-pause.on { border-color:var(--border); background:var(--soft); }
.mg-pause b { display:block; }
.mg-pause small { font-size:12px; color:var(--muted); }
.mg-filters { display:flex; gap:6px; margin:-4px 0 14px; flex-wrap:wrap; }
.mg-filter { height:32px; padding:0 12px; border-radius:9px; border:1px solid var(--border); background:transparent; color:var(--muted); font:600 12.5px var(--font); cursor:pointer; }
.mg-filter.on { background:var(--soft); color:var(--text); }
.mg-cmp { display:grid; grid-template-columns:minmax(0,1.4fr) 110px 150px; gap:8px; font-size:13px; padding:9px 0; border-top:1px solid var(--border); align-items:center; }
.mg-cmp.head { border-top:0; font-size:12px; color:var(--muted); }
.mg-claim { display:flex; justify-content:space-between; align-items:center; gap:12px; background:var(--accent-soft); border:1px solid var(--border); border-radius:12px; padding:14px 16px; margin:6px 0 10px; }
.mg-claim strong { display:block; font-size:22px; font-family:var(--mono); }
.mg-claim small { font-size:12px; color:var(--muted); }
@media (max-width:900px) { .mg-grid, .mg-tiles, .mg-tiles.four { grid-template-columns:1fr; } .mg-row { grid-template-columns:1fr; } .mg-val { text-align:left; } }

/* the walkthrough keeps the design's proportions on wide screens: centred, not stretched */
.wz { max-width:1180px; margin:0 auto; }
.breadcrumb + .wz { margin-top:4px; }
.wz-prof { display:grid; grid-template-columns:104px minmax(0,1fr); gap:16px; align-items:start; }
.wz-prof-main { display:flex; flex-direction:column; gap:12px; min-width:0; }
.wz-avbox { width:96px; height:96px; border-radius:18px; background:var(--accent-soft); color:var(--accent); display:grid; place-items:center; font-size:30px; font-weight:800; overflow:hidden; }
.wz-avbox img, .wz-av img { width:100%; height:100%; object-fit:cover; }
.wz-av { overflow:hidden; flex:none; }
.wz-avacts { display:flex; flex-direction:column; align-items:flex-start; gap:2px; margin-top:6px; font-size:12.5px; }
.wz-avacts .text-link { background:none; border:0; padding:0; cursor:pointer; font:inherit; }
.wz-prof input[name="avatar"] { margin-top:6px; width:100%; }
.wz-prof textarea { min-height:84px; }
.wz-tags { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.wz-tag { display:inline-flex; align-items:center; gap:6px; height:30px; padding:0 6px 0 10px; border-radius:8px; background:var(--accent-soft); color:var(--accent); font-size:12.5px; font-weight:600; }
.wz-tag button { background:none; border:0; color:inherit; cursor:pointer; font-size:15px; line-height:1; padding:0 2px; opacity:.75; }
.wz-tag button:hover { opacity:1; }
.wz-tag-input { border:0 !important; background:transparent !important; padding:0 4px !important; height:30px; min-width:110px; width:auto !important; color:var(--accent); font:600 12.5px var(--font); box-shadow:none !important; }
.wz-tag-input::placeholder { color:var(--accent); opacity:.9; }
@media (max-width:760px) { .wz-prof { grid-template-columns:1fr; } }
.tr-why { display:inline-flex; gap:6px; align-items:center; color:var(--gold); }
.tr-why .icon { width:14px; height:14px; }

/* ===== BrosRun v2: Discover-first shell (rail sections, no ticker), Strategies & AI tabs, Discover cards ===== */
:root.no-ticker { --ticker:0px; }
.nx-rail.v2 { overflow:visible; }
.nx-rail.v2 .nx-create { text-decoration:none; }
.nx-sec { width:64px; margin:10px 0 2px; padding-top:10px; border-top:1px solid var(--border); text-align:center; font:700 9px var(--font); letter-spacing:.12em; text-transform:uppercase; color:var(--faint); }
.nx-sep { width:40px; height:1px; margin:8px 0; background:var(--border); }
.st-hub { display:grid; gap:18px; margin-bottom:22px; }
.st-hub-head { display:flex; align-items:center; gap:16px; }
.st-hub-head h1 { margin:0; font-size:30px; letter-spacing:-.02em; }
.st-hub-head p { margin:4px 0 0; color:var(--muted); font-size:14px; }
.st-hub-icon { width:56px; height:56px; flex:none; border-radius:16px; display:grid; place-items:center; background:var(--accent-soft); color:var(--accent); border:1px solid var(--border); }
.st-hub-icon .icon { width:28px; height:28px; }
.st-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; padding:5px; border-radius:14px; background:var(--panel); border:1px solid var(--border); }
.st-tabs a { display:flex; align-items:center; justify-content:center; gap:8px; height:44px; border-radius:10px; color:var(--muted); font-weight:600; font-size:14.5px; text-decoration:none; }
.st-tabs a .icon { width:17px; height:17px; }
.st-tabs a:hover { color:var(--text); background:var(--soft); }
.st-tabs a.on { color:#fff; background:var(--accent); box-shadow:0 6px 18px rgba(122,77,255,.28); }
.st-hub-body > .page-head h1 { font-size:20px; }
.st-hub-body > .page-head .eyebrow { display:none; }
@media (max-width:760px) { .st-hub-head h1 { font-size:22px; } .st-hub-icon { width:44px; height:44px; } .st-tabs a { font-size:12.5px; height:40px; gap:5px; } .st-tabs a .icon { display:none; } }

.dv-head { margin:2px 0 14px; }
.dv-head .eyebrow { margin-bottom:6px; }
.dv-head h1 { margin:0; font-size:26px; letter-spacing:-.02em; }
.dv-head p { margin:4px 0 0; color:var(--muted); font-size:14px; }
.dv-cats { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px; }
.dv-cats button { height:32px; padding:0 13px; border-radius:999px; border:1px solid var(--border); background:var(--panel); color:var(--muted); font:600 12.5px var(--font); cursor:pointer; }
.dv-cats button:hover { color:var(--text); }
.dv-cats button.on { background:var(--accent); border-color:var(--accent); color:#fff; }
.dv-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:14px; }
.dv-card { position:relative; display:flex; flex-direction:column; gap:10px; padding:16px; border-radius:var(--radius); border:1px solid var(--border); background:var(--panel); color:inherit; text-decoration:none; transition:border-color .15s, transform .15s; }
.dv-card:hover { border-color:var(--accent); transform:translateY(-1px); }
.dv-top { display:flex; align-items:center; gap:12px; min-width:0; }
.dv-top .cm-logo { border-radius:12px; flex:none; }
.dv-top strong { display:block; font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dv-top small { color:var(--muted); font-size:12px; }
.dv-top > div { min-width:0; flex:1; }
.dv-trend { flex:none; align-self:flex-start; font:800 9.5px var(--font); letter-spacing:.08em; color:var(--gold); border:1px solid currentColor; border-radius:999px; padding:2px 7px; }
.dv-desc { margin:0; color:var(--muted); font-size:13px; line-height:1.45; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.9em; }
.dv-stats { display:flex; flex-wrap:wrap; gap:6px 14px; font-size:12.5px; color:var(--muted); }
.dv-stats b { color:var(--text); font-weight:700; }
.dv-on { color:var(--green); }
.dv-on::before { content:""; display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--green); margin-right:5px; vertical-align:1px; }
.dv-foot { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:auto; padding-top:10px; border-top:1px solid var(--border); }
.dv-foot .btn { margin-left:auto; }
.dv-earn { font-size:11px; color:var(--muted); }
.dv-rank { display:flex; align-items:center; gap:10px; padding:8px 18px; color:inherit; text-decoration:none; }
.dv-rank:hover { background:var(--soft); }
.dv-rank > span:first-child { width:16px; color:var(--faint); font:700 12px var(--mono); }
.dv-rank > div { flex:1; min-width:0; }
.dv-rank strong { display:block; font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dv-rank small { color:var(--muted); font-size:11.5px; }
.dv-rank em { font-style:normal; font:700 12px var(--mono); color:var(--green); }
.dv-browse { display:grid; padding:4px 10px 12px; }
.dv-browse button { display:flex; justify-content:space-between; align-items:center; padding:8px 10px; border:0; border-radius:9px; background:transparent; color:var(--muted); font:600 13px var(--font); cursor:pointer; text-align:left; }
.dv-browse button:hover, .dv-browse button.on { background:var(--soft); color:var(--text); }
.dv-empty { padding:40px 20px; text-align:center; color:var(--muted); border:1px dashed var(--border); border-radius:var(--radius); }
.search-result .cm-logo { border-radius:9px; flex:none; }

/* ===== BrosRun v2 Discover: bros.run's landing design (community.bros.run styles.css .lp-*), inside the app shell ===== */
.lp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid #2a3150; background: rgba(255,255,255,.03); color: #fff !important; padding: 9px 14px; border-radius: 10px; font: 700 13px var(--font); cursor: pointer; white-space: nowrap; transition: transform .15s, box-shadow .15s, border-color .15s; }
.lp-btn:hover { border-color: #4a4f80; }
.lp-btn.primary { background: linear-gradient(135deg, #6a3dff, #a46bff); border-color: rgba(200,170,255,.45); box-shadow: 0 6px 22px rgba(122,77,255,.35), inset 0 1px 0 rgba(255,255,255,.2); }
.lp-btn.primary:hover { transform: translateY(-1px); box-shadow: 0 10px 28px rgba(122,77,255,.5), inset 0 1px 0 rgba(255,255,255,.25); }
.lp-btn svg { width: 16px; height: 16px; flex: none; }
.lp-hero { position: relative; isolation: isolate; overflow: hidden; background: #000; }
.lp-hero-bg { position: absolute; inset: 0; z-index: -3; pointer-events: none; background: #000 url("/assets/hero-bg.webp") center 62% / cover no-repeat; filter: brightness(.62) saturate(.85); transform-origin: 50% 70%; animation: lp-drift 38s ease-in-out infinite alternate; }
@keyframes lp-drift { from { transform: scale(1); } to { transform: scale(1.07) translateY(-6px); } }
.lp-fx { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -2; pointer-events: none; mask-image: radial-gradient(ellipse 34% 40% at 50% 40%, rgba(0,0,0,.18), #000 90%); -webkit-mask-image: radial-gradient(ellipse 34% 40% at 50% 40%, rgba(0,0,0,.18), #000 90%); }
.lp-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(ellipse 46% 50% at 50% 42%, rgba(0,0,0,.62), transparent 75%), linear-gradient(rgba(0,0,0,.35), transparent 22%, transparent 78%, #000); }
.lp-hero-in { display: grid; grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; gap: 16px; padding-block: 72px 64px; }
.lp-hero h1 { font-size: clamp(32px, 5.4vw, 62px); line-height: 1.03; margin: 0; letter-spacing: -.03em; font-weight: 800; text-wrap: balance; max-width: 18ch; }
.lp-grad { background: linear-gradient(92deg, #8f6bff 0%, #c7a6ff 50%, #8fd0ff 100%); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 0 22px rgba(143,107,255,.35)); }
.lp-search { width: min(800px, 100%); margin: 8px 0 0; display: flex; align-items: center; gap: 12px; padding: 8px 8px 8px 20px; border-radius: 18px;
  background: linear-gradient(#0a0b12, #0a0b12) padding-box, linear-gradient(120deg, rgba(160,120,255,.85), rgba(80,90,170,.4) 40%, rgba(160,120,255,.7)) border-box;
  border: 1.5px solid transparent; box-shadow: 0 18px 60px rgba(104,65,255,.28), 0 0 0 6px rgba(122,77,255,.06); }
.lp-search:focus-within { box-shadow: 0 18px 70px rgba(104,65,255,.45), 0 0 0 6px rgba(122,77,255,.14); }
.lp-search > svg { flex: none; color: #b7a8ff; width: 21px; height: 21px; }
.lp-search input { flex: 1; min-width: 0; background: transparent; border: 0; color: var(--text); font: 500 16.5px var(--font); padding: 12px 0; outline: none; box-shadow: none; }
.lp-search input::placeholder { color: #6b7391; }
.lp-kbd { font: 600 11px var(--font); color: var(--muted); border: 1px solid #2a3150; border-radius: 6px; padding: 2px 7px; }
.lp-search .lp-btn.primary { padding: 12px 22px; border-radius: 12px; font-size: 14px; }
.lp-hint { font-size: 12.5px; color: var(--muted); min-height: 1.5em; }
.lp-hint button { background: none; border: 0; padding: 0; color: #aca2ff; font: 700 12.5px var(--font); cursor: pointer; }
.lp-ctrls { display: flex; gap: 10px 14px; flex-wrap: wrap; justify-content: center; align-items: center; }
.lp-ctrl { max-width: 100%; display: inline-flex; gap: 8px; align-items: center; flex-wrap: wrap; justify-content: center; }
.lp-ctrl > span { font-size: 11px; color: #c9c2ec; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-shadow: 0 1px 6px #000; }
.lp-seg { max-width: 100%; display: inline-flex; background: rgba(8,9,18,.88); border: 1px solid #2a3150; border-radius: 11px; padding: 3px; gap: 2px; flex-wrap: wrap; justify-content: center; }
.lp-seg button { border: 0; background: transparent; color: var(--muted); font: 700 12.5px var(--font); padding: 6px 11px; border-radius: 8px; cursor: pointer; }
.lp-seg button:hover { color: var(--text); }
.lp-seg button.on { background: rgba(122,77,255,.28); color: #fff; box-shadow: inset 0 0 0 1px rgba(172,140,255,.5); }
.lp-results { margin-top: 0; min-width: 0; }
.lp-head { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.lp-head h2 { margin: 0; font-size: 22px; font-weight: 800; letter-spacing: -.01em; display: flex; align-items: center; gap: 10px; }
.lp-fl { color: #ff8a3d; } .lp-fl svg { width: 22px; height: 22px; }
.lp-head p { margin: 3px 0 0; color: var(--muted); font-size: 13px; }
.lp-count { color: var(--muted); font-size: 13px; font-variant-numeric: tabular-nums; }
.lp-loading { color: var(--muted); }
.lp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(272px, 1fr)); gap: 18px; }
.lp-card { position: relative; border-radius: 18px; overflow: hidden; display: flex; flex-direction: column; min-width: 0;
  background: linear-gradient(180deg, #121527, #0b0e18) padding-box, linear-gradient(160deg, var(--edge), rgba(40,46,72,.6) 45%, rgba(40,46,72,.4)) border-box;
  border: 1px solid transparent; transition: transform .2s, box-shadow .2s; }
.lp-card:hover { transform: translateY(-3px); box-shadow: 0 18px 44px rgba(0,0,0,.5), 0 0 34px var(--glow); }
.lp-cover { display: block; height: 118px; position: relative; overflow: hidden; background: #0b0e18; }
.lp-cover svg, .lp-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* a dark fade at the cover foot keeps the name readable over a bright photo */
.lp-cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 50%, rgba(11,14,24,.92)); pointer-events: none; }
.lp-rank { z-index: 1;  position: absolute; top: 10px; left: 10px; font-weight: 800; font-size: 12px; border-radius: 8px; padding: 2px 8px; color: #06070c; background: var(--accent); box-shadow: 0 0 14px var(--accent); }
.lp-body { padding: 0 16px 16px; display: flex; flex-direction: column; gap: 12px; flex: 1; min-width: 0; }
.lp-id { display: flex; gap: 12px; align-items: flex-end; margin-top: -26px; min-width: 0; position: relative; z-index: 1; }
.lp-av { width: 58px; height: 58px; border-radius: 50%; flex: none; display: grid; place-items: center; overflow: hidden; font-weight: 800; font-size: 19px; color: #fff !important; border: 3px solid #0e1120; box-shadow: 0 0 0 2px var(--accent), 0 0 20px var(--glow); text-shadow: 0 1px 4px rgba(0,0,0,.5); }
.lp-av img { width: 100%; height: 100%; object-fit: cover; }
.lp-who { min-width: 0; flex: 1; padding-bottom: 3px; }
.lp-who a { color: var(--text); }
.lp-who b { text-shadow: 0 1px 8px rgba(0,0,0,.7); display: block; font-size: 16px; font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lp-who span { display: block; color: var(--muted); font-size: 12.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lp-ret { text-align: right; flex: none; padding-bottom: 3px; }
.lp-ret b { font-size: 14px; font-variant-numeric: tabular-nums; }
.lp-ret span { display: block; font-size: 10.5px; color: var(--muted); }
.dv .up { color: var(--green); } .dv .down { color: var(--red); } .dv .flat { color: var(--muted); }
.lp-desc { color: #c3c9d6; font-size: 13px; line-height: 1.5; min-height: 3em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0; }
.lp-desc.empty { color: #6b7391; font-style: italic; }
.lp-nums { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 4px; padding-block: 10px; border-block: 1px solid #1d2335; }
.lp-nums div { min-width: 0; }
.lp-nums b { display: flex; align-items: center; gap: 5px; font-size: 15px; font-weight: 800; font-variant-numeric: tabular-nums; }
.lp-nums span { font-size: 11px; color: var(--muted); }
.lp-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 3px rgba(30,211,122,.18), 0 0 10px var(--green); }
.lp-pills { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.lp-pill { display: inline-block; font-size: 11px; font-weight: 600; line-height: 1.4; color: #c3c9d6; border: 1px solid #2a3150; background: rgba(255,255,255,.03); border-radius: 999px; padding: 2px 9px; }
.lp-pill.cat { border-color: rgba(150,120,255,.4); background: rgba(122,77,255,.1); }
.lp-pill.pub { color: #8ff0bd; border-color: rgba(30,211,122,.35); background: rgba(30,211,122,.08); }

.lp-pill.gated { color: #ffd38a; border-color: rgba(244,180,72,.4); background: rgba(244,180,72,.08); }
.lp-join { margin-top: auto; width: 100%; }
.lp-empty { border: 1px dashed #2a3150; border-radius: 18px; padding: 40px 20px; text-align: center; display: grid; gap: 12px; justify-items: center; color: var(--muted); background: rgba(12,15,24,.6); }
.lp-empty b { color: var(--text); font-size: 17px; }
.lp-row { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
.dv a { text-decoration: none; }
/* Discover: a compact search panel (no background picture, no headline), so the communities show without scrolling */
.dv-hero { border-radius: 16px; border: 1px solid #2a3150; margin-bottom: 16px; color: #f7f8fb; background: var(--panel); }
.dv-hero::after { display: none; }
.dv-hero .lp-hero-in { padding: 14px 16px 12px; gap: 10px; justify-items: stretch; }
.dv-hero .lp-search { width: 100%; margin: 0; padding: 5px 5px 5px 14px; border-radius: 12px; box-shadow: none; }
.dv-hero .lp-search input { padding: 8px 0; font-size: 15px; }
.dv-hero .lp-search .lp-btn.primary { padding: 9px 18px; font-size: 13.5px; }
.dv-hero .lp-ctrls { justify-content: flex-start; }
.dv-hero .lp-ctrl > span { text-shadow: none; color: var(--muted); }
.dv-hero h1 { font-size: clamp(28px, 4vw, 46px); color: #f7f8fb; }
.dv-hero .lp-search input { color: #f7f8fb; }
.dv-hero .lp-search > .icon { flex: none; color: #b7a8ff; width: 21px; height: 21px; }
.dv-cols { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 20px; align-items: start; }
.dv-side { position: sticky; top: calc(var(--header) + var(--ticker) + 20px); }
.lp-results .lp-head h2 { color: var(--text); }
.lp-btn .icon { width: 16px; height: 16px; flex: none; }
.lp-who b, .lp-who a { color: #f7f8fb; }
.lp-nums b { color: #f7f8fb; }
.dv-cta { padding: 16px 18px; display: grid; gap: 8px; border-color: rgba(160,130,255,.35); background: radial-gradient(300px 140px at 0% 0%, rgba(122,77,255,.25), transparent 70%), var(--panel); }
.dv-cta b { font-size: 15px; }
.dv-cta span { font-size: 12.5px; color: var(--muted); }
@media (max-width: 1100px) { .dv-cols { grid-template-columns: minmax(0,1fr); } .dv-side { position: static; } }
@media (max-width: 640px) { .dv-hero .lp-hero-in { padding: 28px 14px 22px; } .lp-search .lp-kbd { display: none; } .lp-search .lp-btn.primary { padding: 10px 14px; } }

/* attach popup: walkthrough cards; the ready check lists what blocks first, in red, with its fix */
.at-strat { display:flex; gap:12px; align-items:center; padding:14px 16px; border-radius:14px; background:var(--soft); border:1px solid var(--border); }
.at-strat h3 { margin:0 0 3px; font-size:16px; }
.modal .wz-card + .wz-card, .modal .at-strat + .wz-card { margin-top:12px; }
.at-checks { display:grid; gap:2px; }
.at-chk { display:grid; grid-template-columns:22px minmax(0,1fr) auto; gap:10px; align-items:center; padding:8px 10px; border-radius:10px; font-size:13px; }
.at-chk > i { width:22px; height:22px; border-radius:50%; display:grid; place-items:center; background:var(--green-soft); color:var(--green); }
.at-chk > i .icon { width:13px; height:13px; }
.at-chk strong { display:block; font-weight:600; }
.at-chk small { display:block; color:var(--muted); font-size:12px; margin-top:2px; line-height:1.4; }
.at-chk.bad { background:var(--red-soft); border:1px solid color-mix(in srgb, var(--red) 35%, transparent); }
.at-chk.bad > i { background:var(--red); color:#fff; }
.at-chk.bad strong { color:var(--red); }
.at-chk.bad small { color:var(--text); opacity:.85; }
.at-sum { display:inline-flex; align-items:center; gap:5px; margin-left:auto; font-size:12px; font-weight:700; padding:3px 10px; border-radius:999px; }
.at-sum .icon { width:13px; height:13px; }
.at-sum.ok { background:var(--green-soft); color:var(--green); }
.at-sum.bad { background:var(--red-soft); color:var(--red); }
.wz-card-head .at-sum + .btn { margin-left:8px; }
@media (max-width:560px) { .at-chk { grid-template-columns:22px minmax(0,1fr); } .at-chk > .btn { grid-column:2; justify-self:start; } }

/* Strategies & AI · Discover: bros.run cover cards, details panel, your Safe strip */
.st-ctrls { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:18px; }
.st-search { flex:1 1 260px; max-width:420px; }
.st-ctrls select { height:38px; width:auto; min-width:170px; flex:none; }
.st-ctrls .lp-seg button[disabled] { opacity:.45; cursor:not-allowed; }
.st-cols { display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:20px; align-items:start; }
.st-grid { grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); }
.st-card.on { outline:2px solid var(--accent); outline-offset:2px; }
.st-acts { margin-top:auto; display:grid; grid-template-columns:1fr 1.4fr; gap:8px; }
.st-panel { position:sticky; top:calc(var(--header) + var(--ticker) + 20px); padding:18px; display:grid; gap:14px; }
.st-ph { display:flex; gap:12px; align-items:center; }
.st-ph h3 { margin:2px 0; font-size:19px; }
.st-k3 { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.st-k3 div { border:1px solid var(--border); border-radius:12px; padding:9px 10px; background:var(--soft); min-width:0; }
.st-k3 b { display:block; font-size:15px; }
.st-k3 span { font-size:10.5px; color:var(--muted); }
.st-kv { display:flex; justify-content:space-between; gap:12px; font-size:12.5px; padding:9px 0; border-top:1px solid var(--border); }
.st-kv span { color:var(--muted); }
.st-kv b { text-align:right; }
.st-geth { margin-top:2px; }
.st-big { padding:13px 18px; font-size:14px; }
.st-panel .lp-btn:not(.primary) { color:var(--text) !important; }
.st-safe { display:flex; align-items:center; gap:14px; padding:14px 18px; margin-top:20px; flex-wrap:wrap; }
.st-safe b { display:flex; align-items:center; gap:8px; font-size:14px; }
.st-safe small { display:block; font-size:12px; color:var(--muted); }
.st-safe > div { flex:1; min-width:180px; }
.st-safe-note { display:inline-flex; gap:6px; align-items:center; font-size:12.5px; }
.st-safe-note .icon { width:14px; height:14px; color:var(--green); }
@media (max-width:1180px) { .st-cols { grid-template-columns:minmax(0,1fr); } .st-panel { position:static; } }

/* Discover: the copy trading card (first in the right column) */
.ct-card { border-radius:18px; border:1px solid rgba(155,135,255,.45); background:radial-gradient(360px 160px at 0% 0%, rgba(122,77,255,.3), transparent 70%), var(--panel); padding:16px; display:flex; flex-direction:column; gap:12px; }
.ct-card h3 { font-size:17px; letter-spacing:-.01em; margin:3px 0 2px; }
.ct-card p { margin:0; font-size:12.5px; color:var(--muted); line-height:1.45; }
.ct-path { border:1px solid var(--border); border-radius:14px; background:var(--soft); padding:12px; display:flex; flex-direction:column; gap:8px; }
.ct-ph { display:flex; align-items:center; gap:10px; }
.ct-ph b { font-size:14px; }
.ct-ph small { display:block; font-size:11.5px; color:var(--muted); }
.ct-ic { width:34px; height:34px; border-radius:10px; display:grid; place-items:center; background:var(--accent-soft); color:var(--accent); flex:none; }
.ct-ic .icon { width:18px; height:18px; }
.ct-steps { margin:0; padding:0 0 0 2px; list-style:none; counter-reset:ct; display:grid; gap:5px; }
.ct-steps li { counter-increment:ct; display:flex; gap:8px; align-items:center; font-size:12.5px; }
.ct-steps li::before { content:counter(ct); width:18px; height:18px; border-radius:50%; display:grid; place-items:center; font:800 10px var(--font); background:var(--bg); border:1px solid var(--border); color:var(--muted); flex:none; }
.ct-path .btn { width:100%; justify-content:center; }

/* community page · Strategies tab */
.cms { padding:16px; display:grid; gap:16px; }
.cms-intro { margin:0; font-size:13px; }
.cms-box { border:1px solid var(--border); border-radius:14px; padding:12px 14px; display:grid; gap:4px; background:var(--soft); }
.cms-row { display:flex; align-items:center; gap:10px; padding:8px 0; border-top:1px solid var(--border); font-size:13px; flex-wrap:wrap; }
.cms-row .grow { flex:1; }

/* automation card: the flow line and the trust line; two-line rail labels */
.ct-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; font:700 10.5px var(--font); counter-reset:fl; }
.ct-flow span { text-align:center; white-space:nowrap; padding:5px 2px; border-radius:999px; background:var(--accent-soft); color:var(--accent); }
.ct-flow .icon { display:none; }
.ct-trust { display:flex; gap:8px; align-items:flex-start; font-size:11.5px; color:var(--muted); line-height:1.45; padding-top:2px; }
.ct-trust .icon { width:14px; height:14px; color:var(--green); flex:none; margin-top:1px; }
.nx-nav.nx-two span { text-align:center; line-height:1.15; max-width:60px; }

/* + menu (v2) and Create community */
.v2-create { min-width:270px; }
.v2-create a { align-items:flex-start; }
.v2-create a span b { display:block; font-size:13.5px; }
.v2-create a span small { display:block; font-size:11.5px; color:var(--muted); font-weight:500; margin-top:1px; }
.v2-create a .icon { margin-top:2px; }

/* ===== Create community: the community site's own design (bros-run-web styles.css), scoped to .brw ===== */
.brw { background: var(--bg); color: var(--text); font: 14px/1.5 var(--font); }
.brw { --bg:#07080d; --panel:#0d1119; --panel2:#121824; --line:#20293a; --text:#f7f8fb; --muted:#8f99ab; --purple:#7a4dff; --purple2:#aca2ff; --green:#1ed37a; --red:#ff5d68; --gold:#f4b448; --blue:#4aa4ff; --font:"Plus Jakarta Sans", Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; }
.brw b, .brw strong { font-weight: 700; }
.brw .muted { color: var(--muted); }
.brw .small { font-size: 12px; }
.brw .buy { color: var(--green); }
.brw .sell { color: var(--red); }
.brw button { font-family: inherit; }
.brw .outline, .brw .primary, .brw .text-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid var(--line); border-radius: 8px; background: #111620; color: #fff; padding: 9px 13px; cursor: pointer; font: 600 13px var(--font); text-decoration: none !important; white-space: nowrap; }
.brw .primary { background: linear-gradient(135deg, #6841ff, #8e58ff); border-color: #8c6bff; }
.brw .outline:hover { border-color: #3a4660; }
.brw .sm { padding: 6px 10px; font-size: 12px; }
.brw .wide { width: 100%; margin-top: 8px; }
.brw button[disabled] { opacity: .55; cursor: default; }
.brw .text-btn { border: 0; background: transparent; color: var(--purple2); padding: 0; }
.brw .eyebrow { font-size: 10px; letter-spacing: .12em; font-weight: 800; color: #8d82ff; }
.brw .card { background: linear-gradient(180deg, #111620, #0d1119); border: 1px solid var(--line); border-radius: 11px; }
.brw .badges { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 9px; }
.brw .badge { font-size: 9px; font-weight: 700; letter-spacing: .04em; border: 1px solid var(--line); padding: 3px 7px; border-radius: 999px; color: #aab2c2; }
.brw .badge.gold { color: var(--gold); background: #211a0c; border-color: #5f4920; }
.brw .badge.green { color: var(--green); background: #0b2117; border-color: #1d5a3b; }
.brw .badge.purple { color: var(--purple2); background: #19142e; border-color: #3b2f6e; }
.brw .badge.red { color: var(--red); background: #2a1014; border-color: #5e2029; }
.brw .av, .brw .logo, .brw .tok { flex: none; object-fit: cover; display: inline-block; }
.brw .logo { border-radius: 12px; }
.brw .av-letter, .brw .logo-letter, .brw .tok-letter { display: inline-grid; place-items: center; font-weight: 800; background: linear-gradient(135deg, #2a2055, #7644ff); color: #fff; }
.brw .logo.big { border: 4px solid #111620; border-radius: 16px; }
.brw .msg-acts .on { color: #ff4f8b; }
.brw .back { margin-bottom: 12px; }
@media (max-width: 1000px) { .brw .powered > div, .brw .community-mini h2, .brw .community-mini .handle, .brw .community-mini .badges, .brw .tab span, .brw .tab em, .brw .sidebar-bottom { display: none; } }
@media (max-width: 720px) { .brw .hero-body > .primary, .brw .hero-body > .outline { grid-column: 1 / -1; } }
.brw .linkish { border: 0; background: none; color: var(--purple2); font: 700 12px var(--font); cursor: pointer; padding: 0 0 0 6px; text-decoration: underline; }
.brw .sw-err { padding: 9px 11px; border-radius: 8px; background: #2a1014; border: 1px solid #5e2029; color: #ff9aa2; font-size: 12px; line-height: 1.45; }
.brw .spin { width: 14px; height: 14px; border-radius: 50%; border: 2px solid #3b2c7a; border-top-color: var(--purple2); animation: spin 0.8s linear infinite; }
.brw .sw-pick .outline { justify-content: flex-start; }
.brw .cover-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.brw .cover .cover-img { z-index: 0; }
.brw .side-pill:not(.buy):not(.sell):not(.warn) { background: #1a2130; color: #9aa6b8; }
.brw .back { color: var(--muted); font-weight: 700; font-size: 13px; text-decoration: none; }
.brw .hero-top .cover-img { z-index: 0; }
.brw .hero-top .logo.big { width: 84px !important; height: 84px !important; border: 3px solid rgba(255, 255, 255, .9); border-radius: 18px; box-shadow: 0 8px 24px rgba(0, 0, 0, .45); }
.brw .hero-meta .badge { background: rgba(10, 12, 20, .55); backdrop-filter: blur(4px); }
.brw .hero-top .hero-body > .primary, .brw .hero-top .hero-body > .outline { align-self: end; }
@media (max-width: 760px) { .brw .hero-top .logo.big { width: 60px !important; height: 60px !important; } }
.brw .hero-top .hero-body > .outline, .brw .hero-top .hero-body > .primary.joined { background: rgba(10, 12, 20, .55); border-color: rgba(255, 255, 255, .28); backdrop-filter: blur(6px); }
.brw .mg-pic-acts .outline, .brw .mg-logo .outline { background: rgba(10, 12, 20, .65); backdrop-filter: blur(6px); cursor: pointer; }
.brw .mg-logo .logo { border-radius: 16px; }
.brw .mg-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; }
.brw .mg-field { display: grid; gap: 6px; min-width: 0; }
.brw .mg-field.wide { grid-column: 1 / -1; }
.brw .mg-field > span { font-size: 11.5px; font-weight: 700; color: #aeb6c6; }
.brw .mg-field small { color: var(--muted); font-weight: 500; }
.brw .mg-field input, .brw .mg-field select, .brw .mg-field textarea { width: 100%; box-sizing: border-box; background: #0a0e15; border: 1px solid #232c3d; border-radius: 9px; color: var(--text); padding: 9px 11px; font: 13.5px var(--font); resize: vertical; }
.brw .mg-field input:focus, .brw .mg-field select:focus, .brw .mg-field textarea:focus { outline: none; border-color: var(--purple); }
.brw .mg-req .grow { flex: 1; }
@media (max-width: 760px) { .brw .mg-pics, .brw .mg-grid, .brw .mg-cols { grid-template-columns: 1fr; } .brw .mg-field.wide { grid-column: auto; } }
.brw .flow .spin { display: inline-block; vertical-align: -2px; margin-right: 6px; }
.brw .pp .spin { position: absolute; left: 50%; top: 50%; margin: -7px 0 0 -7px; }
.brw .msg-acts .react.like:not(.on) { background: transparent; border-color: #1f2736; color: #7d879a; }
.brw .mg-gate { border: 1px solid #2c2352; background: #0e0c1a; border-radius: 12px; padding: 14px; display: grid; gap: 10px; }
.brw .mg-gate-head b { display: block; font-size: 14px; }
.brw .mg-gate-head small { color: var(--muted); font-size: 12px; }
.brw .mg-gate-row { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 12px; }
.brw .tk-verify { border: 1px solid #232c3d; background: #0a0e15; border-radius: 10px; padding: 10px 12px; font-size: 12.5px; display: grid; gap: 8px; }
.brw .tk-verify.ok { border-color: #1b6d45; background: #08160f; }
.brw .tk-verify.bad { border-color: #7a2630; background: #1d0b0f; color: #ff9aa2; }
.brw .tv-head b { color: #6ff0b0; font-size: 14px; }
.brw .tv-head b span { color: #b6c0cf; font-weight: 600; }
.brw .tv-head small { display: block; color: #9aa4b6; margin-top: 2px; }
.brw .tv-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.brw .tv-grid span { display: block; color: var(--muted); font-size: 10.5px; }
.brw .tv-grid b { font-size: 12.5px; }
.brw .tv-warn { color: #ffcf7a; font-weight: 600; }
.brw .amt-in { display: flex; align-items: stretch; border: 1px solid #232c3d; border-radius: 9px; background: #0a0e15; overflow: hidden; }
.brw .amt-in input { border: 0 !important; border-radius: 0 !important; flex: 1; }
.brw .amt-in em { font-style: normal; font-weight: 800; padding: 0 12px; display: grid; place-items: center; background: #151b28; color: #d6dae3; }
@media (max-width: 760px) { .brw .mg-gate-row, .brw .tv-grid { grid-template-columns: 1fr 1fr; } }
.brw .tv-nets { font-size: 12px; color: #c4cbda; }
.brw .tv-src { color: #5f6a7e; font-size: 10.5px; }
.brw .outline.danger { color: #ff8a93; border-color: #5e2029; }
.brw .sw-chip .chain-badge, .brw .chain-chips .chain-badge, .brw .muted .chain-badge, .brw .sw-rows .chain-badge { position: static; border: 0; display: inline-grid; vertical-align: -3px; }
.brw .sw-wmenu-head .linkish { margin-left: auto; }
.brw .lb-nudge .primary { justify-self: start; text-decoration: none; }
.brw .ann-reacts .react.like:not(.on) i { filter: grayscale(1); opacity: .55; transition: filter .15s, opacity .15s; }
.brw .ts-foot .spin { width: 11px; height: 11px; border: 2px solid #2c3650; border-top-color: var(--purple); border-radius: 50%; animation: tsspin .8s linear infinite; }
@media (prefers-reduced-motion: reduce) { .brw .ts-foot .spin { animation: none; } }
.brw .sw-rows .linkish.on { color: var(--text); text-decoration: underline; }
.brw .set-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.brw .set-head p { margin: 4px 0 0; font-size: 12.5px; }
.brw .set-page { display: grid; gap: 14px; }
.brw .set-sec { padding: 18px 20px; display: grid; gap: 14px; }
.brw .set-sec > h3 { margin: 0; display: flex; align-items: center; gap: 10px; font-size: 16px; }
.brw .set-sec > h3 em { font-style: normal; width: 24px; height: 24px; border-radius: 7px; display: grid; place-items: center; font-size: 12px; font-weight: 800; color: #fff; background: linear-gradient(135deg, #6841ff, #8e58ff); }
.brw .set-sec > p { margin: -6px 0 0; }
.brw .set-label { display: block; font-size: 12px; font-weight: 700; color: #c7cdda; margin-bottom: 8px; }
.brw .set-brand { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 18px; }
.brw .set-brand .mg-cover { aspect-ratio: 3 / 1; }
.brw .set-logo { height: 132px; border: 1px solid var(--line); border-radius: 12px; display: grid; place-items: center; background: #0b0f17; }
.brw .set-logo .logo { border-radius: 18px; }
.brw .set-acts { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.brw .set-acts .outline { cursor: pointer; }
.brw .set-count { float: right; color: var(--muted); font-weight: 500; }
.brw .set-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.brw .set-chip { display: inline-flex; align-items: center; gap: 6px; border: 1px solid #2c3550; background: #141a28; border-radius: 999px; padding: 6px 8px 6px 13px; font-size: 13px; }
.brw .set-chip button { border: 0; background: transparent; color: var(--muted); cursor: pointer; font-size: 15px; line-height: 1; padding: 0 2px; }
.brw .set-chip button:hover { color: #fff; }
.brw .set-chip.add { padding: 3px 4px 3px 10px; border-style: dashed; }
.brw .set-chip.add input { background: transparent; border: 0; outline: 0; color: #fff; width: 100px; font: inherit; padding: 2px 0; }
.brw .set-chip.add button { color: var(--purple2); font-size: 12.5px; font-weight: 700; }
.brw .set-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.brw .set-access { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.brw .set-acc { display: grid; grid-template-columns: 36px 1fr; grid-template-rows: auto auto; column-gap: 10px; text-align: left; border: 1px solid var(--line); background: #0d121c; color: #fff; border-radius: 11px; padding: 12px; cursor: pointer; font: inherit; }
.brw .set-acc i { grid-row: span 2; font-style: normal; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: #161d2c; }
.brw .set-acc b { font-size: 13px; }
.brw .set-acc small { color: var(--muted); font-size: 11.5px; line-height: 1.35; }
.brw .set-acc.on { border-color: #8c6bff; background: linear-gradient(180deg, #1b1538, #120f24); box-shadow: 0 0 0 1px #8c6bff inset; }
.brw .set-acc:hover { border-color: #3a4660; }
.brw .set-toggles { display: grid; gap: 10px; }
.brw .set-toggles.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.brw .set-toggles.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.brw .set-toggle { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid var(--line); background: #0d121c; border-radius: 11px; padding: 12px 14px; cursor: pointer; }
.brw .set-toggle span { display: grid; gap: 2px; }
.brw .set-toggle b { font-size: 13px; }
.brw .set-toggle small { color: var(--muted); font-size: 11.5px; }
.brw .set-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.brw .set-toggle i { flex: none; width: 38px; height: 22px; border-radius: 999px; background: #262f43; position: relative; transition: background .15s; }
.brw .set-toggle i::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: transform .15s; }
.brw .set-toggle input:checked + i { background: linear-gradient(135deg, #6841ff, #8e58ff); }
.brw .set-toggle input:checked + i::after { transform: translateX(16px); }
.brw .set-toggle input:focus-visible + i { outline: 2px solid var(--purple2); outline-offset: 2px; }
.brw .set-foot { position: sticky; bottom: 10px; display: flex; align-items: center; gap: 10px; padding: 12px 16px; z-index: 5; box-shadow: 0 10px 30px rgba(0, 0, 0, .45); }
.brw .set-owner { display: flex; align-items: center; gap: 10px; padding: 16px 20px; margin-top: 14px; flex-wrap: wrap; }
.brw .set-owner b { font-size: 15px; }
.brw .fe-break .total b { color: var(--purple2); }
@media (max-width: 1100px) { .brw .set-access, .brw .fe-chains, .brw .set-toggles.three { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) { .brw .set-brand, .brw .set-links, .brw .fe-fee, .brw .fe-pay, .brw .set-toggles.two, .brw .set-toggles.three, .brw .fe-chains, .brw .set-access, .brw .fe-stats { grid-template-columns: 1fr; } .brw .set-head { flex-direction: column; } .brw .set-foot { bottom: 0; } }
.brw .set-foot .grow, .brw .set-owner .grow { flex: 1; }
.brw .set-brand .mg-cover { aspect-ratio: auto; height: 180px; }
.brw .community-mini .badges { margin-top: 6px; }
.brw .sidebar-bottom .outline.wide { margin-top: 0; padding-top: 7px; padding-bottom: 7px; font-size: 12.5px; }
.brw .fw-head-acts { display: flex; gap: 8px; flex-wrap: wrap; }
.brw .fw-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 16px; min-height: 230px; border-radius: 16px; overflow: hidden; background: radial-gradient(ellipse at 78% 70%, rgba(150,90,255,.35), transparent 55%), linear-gradient(180deg, #0c0a1a, #08070f); border: 1px solid #241d44; }
.brw .fw-hero-text { padding: 22px 24px; display: grid; gap: 10px; align-content: start; position: relative; z-index: 1; }
.brw .fw-back { justify-self: start; border: 0; background: none; color: var(--muted); font: 700 11px var(--font); letter-spacing: .12em; cursor: pointer; padding: 0; }
.brw .fw-back span { color: #b9b2d9; }
.brw .fw-hero h1 { margin: 0; font-size: clamp(24px, 3vw, 36px); line-height: 1.12; letter-spacing: -.02em; text-wrap: balance; border-left: 3px solid var(--purple); padding-left: 14px; }
.brw .fw-hero h1 span { background: linear-gradient(90deg, #f6c84c, #c193ff 55%, #9b7bff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.brw .fw-hero p { margin: 0; color: #b9bfd0; max-width: 60ch; font-size: 15px; }
.brw .fw-feats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 6px; }
.brw .fw-feats div { display: flex; align-items: center; gap: 10px; font-size: 12.5px; color: #d6d9e3; }
.brw .fw-feats i { flex: none; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: #1b1534; border: 1px solid #3a2f6e; color: #b49cff; }
.brw .fw-art { position: relative; min-height: 210px; }
.brw .fw-glow { position: absolute; left: 50%; bottom: 18%; width: 70%; height: 55%; transform: translateX(-50%); background: radial-gradient(ellipse at 50% 100%, rgba(255,170,255,.55), rgba(140,80,255,.25) 40%, transparent 70%); filter: blur(6px); }
.brw .fw-orb { position: absolute; left: calc(50% + 42% * cos(calc(180deg + 180deg * (var(--i) + .5) / var(--n)))); top: calc(70% + 60% * sin(calc(180deg + 180deg * (var(--i) + .5) / var(--n)))); transform: translate(-50%, -50%); padding: 7px; border-radius: 50%; background: rgba(20,14,40,.75); border: 1px solid #4b3a8a; box-shadow: 0 0 18px rgba(140,90,255,.45); z-index: 2; line-height: 0; }
.brw .fw-hills { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 55%; }
.brw .fw-people { position: absolute; left: 50%; bottom: 10%; transform: translateX(-50%); display: flex; gap: 14px; align-items: flex-end; z-index: 1; }
.brw .fw-people span { width: 30px; height: calc(64px - 6px * (var(--p) - 2) * (var(--p) - 2)); background: #05040b; border-radius: 15px 15px 4px 4px; position: relative; }
.brw .fw-people span::before { content: ""; position: absolute; left: 50%; top: -18px; transform: translateX(-50%); width: 20px; height: 20px; border-radius: 50%; background: #05040b; }
.brw .fw-steps { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border: 1px solid #2c2552; border-radius: 14px; background: linear-gradient(180deg, #120f24, #0d0b1a); }
.brw .fw-step { display: flex; align-items: center; gap: 12px; min-width: 0; }
.brw .fw-step i { flex: none; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-weight: 800; border: 1px solid #3a3a52; color: #c9cbd8; background: #141623; }
.brw .fw-step.on i { background: linear-gradient(135deg, #6a3cff, #a46bff); border-color: #b796ff; color: #fff; box-shadow: 0 0 0 4px rgba(122,77,255,.2); }
.brw .fw-step.done i { background: #0b2117; border-color: #1d5a3b; color: var(--green); }
.brw .fw-step b { display: block; font-size: 13.5px; }
.brw .fw-step small { color: var(--muted); font-size: 12px; }
.brw .fw-line { flex: 1; height: 1px; background: #2e3045; min-width: 20px; }
.brw .fw-grid { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 16px; align-items: start; }
.brw .fw-card { padding: 20px 22px; border-color: #3a2f6e; background: linear-gradient(180deg, #120f22, #0d0c18); display: grid; gap: 14px; }
.brw .fw-kicker { color: #a98bff; font-size: 12.5px; font-weight: 700; }
.brw .fw-card h2 { margin: -6px 0 0; font-size: 24px; letter-spacing: -.01em; border-left: 3px solid var(--purple); padding-left: 12px; }
.brw .fw-sub { margin: -6px 0 0; color: #b9bfd0; padding-left: 15px; max-width: 70ch; }
.brw .fw-fees { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.brw .fw-fee { position: relative; text-align: left; display: grid; gap: 6px; padding: 16px; border-radius: 12px; border: 1px solid #262b3d; background: #0f1220; color: var(--text); cursor: pointer; font: inherit; }
.brw .fw-fee:hover { border-color: #4b3f8f; }
.brw .fw-fee.on { border-color: #8f6bff; background: linear-gradient(180deg, #1b1538, #130f28); box-shadow: 0 0 0 1px #8f6bff inset, 0 0 24px rgba(122,77,255,.25); }
.brw .fw-fee b { font-size: 22px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding-right: 22px; }
.brw .fw-fee b em { font-style: normal; font-size: 10px; font-weight: 700; padding: 3px 8px; border-radius: 999px; background: #6a3cff; }
.brw .fw-fee small { color: #aab1c3; font-size: 13px; line-height: 1.4; }
.brw .fw-radio { position: absolute; top: 16px; right: 16px; width: 18px; height: 18px; border-radius: 50%; border: 2px solid #59607a; }
.brw .fw-fee.on .fw-radio { border-color: #c9b6ff; background: radial-gradient(circle, #fff 0 35%, transparent 40%); }
.brw .fw-more { font-size: 12px; color: var(--muted); display: flex; gap: 6px; align-items: center; }
.brw .fw-chip { border: 1px solid #2b3045; background: #10131e; color: #c9cdd8; border-radius: 999px; padding: 3px 10px; font: 600 12px var(--font); cursor: pointer; }
.brw .fw-chip.on { border-color: #8f6bff; color: #fff; }
.brw .fw-same { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.brw .fw-same > span:first-child { border: 1px solid #2c2552; background: #120f24; border-radius: 10px; padding: 7px 12px; font-size: 13px; color: #c9c2ef; }
.brw .fw-badges { display: flex; gap: 6px; }
.brw .fw-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.brw .fw-box { border: 1px solid #252a3c; border-radius: 12px; padding: 14px 16px; background: #0d101b; display: grid; gap: 8px; align-content: start; }
.brw .fw-box h4 { margin: 0 0 4px; display: flex; align-items: center; gap: 10px; font-size: 15px; }
.brw .fw-box h4 i { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 8px; background: #3b25a3; color: #e7defe; }
.brw .fw-box p { margin: 0; }
.brw .fw-row { display: flex; justify-content: space-between; gap: 10px; font-size: 13.5px; color: #c4c9d6; font-variant-numeric: tabular-nums; }
.brw .fw-row b { color: #fff; }
.brw .fw-row b.acc { color: #b49cff; }
.brw .fw-row.total { border-top: 1px solid #252a3c; padding-top: 9px; font-size: 14px; }
.brw .fw-row.total b.acc { font-size: 17px; }
.brw .fw-pay { display: grid; gap: 14px; }
.brw .fw-field { display: grid; gap: 6px; }
.brw .fw-field > span { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 13px; }
.brw .fw-field input { background: #0b0e17; border: 1px solid #2a3046; border-radius: 9px; padding: 11px 12px; color: #fff; font: 13px ui-monospace, monospace; min-width: 0; }
.brw .fw-field input:focus { outline: none; border-color: #8f6bff; }
.brw .fw-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.brw .fw-summary div { border: 1px solid #252a3c; border-radius: 10px; padding: 9px 12px; background: #0d101b; display: grid; min-width: 0; }
.brw .fw-summary span { font-size: 11px; color: var(--muted); }
.brw .fw-summary b { font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.brw .fw-chains { display: grid; gap: 8px; }
.brw .fw-chain { display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 11px 14px; border: 1px solid #242a3c; border-radius: 12px; background: #0d101b; }
.brw .fw-chain.on { border-color: #4b3f8f; background: #110f22; }
.brw .fw-chain.dim { opacity: .7; }
.brw .fw-chain-main { min-width: 0; display: grid; gap: 2px; }
.brw .fw-chain-main small { overflow-wrap: anywhere; }
.brw .fw-check input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.brw .fw-check { position: relative; cursor: pointer; }
.brw .fw-check span { display: block; width: 20px; height: 20px; border-radius: 6px; border: 2px solid #59607a; }
.brw .fw-check input:checked + span { background: #7a4dff; border-color: #a98bff; box-shadow: inset 0 0 0 3px #110f22; }
.brw .fw-check input:disabled + span { opacity: .4; }
.brw .fw-check input:focus-visible + span { outline: 2px solid #a98bff; outline-offset: 2px; }
.brw .fw-soltool { margin-top: 6px; font-size: 12.5px; color: #c9cdd8; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.brw .fw-done { border: 1px solid #1d5a3b; background: #0b2117; color: #c8f5dc; border-radius: 12px; padding: 12px 14px; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.brw .fw-how { padding: 18px; display: grid; gap: 16px; border-color: #2c2552; }
.brw .fw-how h3 { margin: 0; display: flex; align-items: center; gap: 10px; font-size: 18px; }
.brw .fw-how h3 i { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 8px; background: #2a2152; color: #c9b6ff; font-style: normal; font-weight: 800; }
.brw .fw-how-row { display: grid; grid-template-columns: 34px 40px minmax(0, 1fr); gap: 10px; align-items: start; position: relative; }
.brw .fw-how-row em { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-weight: 800; background: linear-gradient(135deg, #6a3cff, #a46bff); position: relative; z-index: 1; }
.brw .fw-how-row:not(:nth-last-child(2))::after { content: ""; position: absolute; left: 16px; top: 38px; bottom: -16px; width: 2px; background: #3a2f6e; }
.brw .fw-how-row i { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 10px; background: #1b1534; color: #c9b6ff; }
.brw .fw-how-row b { display: block; font-size: 13.5px; }
.brw .fw-how-row small { color: var(--muted); font-size: 12px; line-height: 1.45; }
.brw .fw-safe { display: flex; gap: 12px; align-items: center; border: 1px solid #3a2f6e; border-radius: 12px; padding: 12px 14px; background: #120f24; font-size: 12.5px; color: #c9c2ef; }
.brw .fw-safe i { color: #b49cff; line-height: 0; }
.brw .fw-safe b { color: #b49cff; }
.brw .fw-foot { position: sticky; bottom: 0; z-index: 5; display: flex; align-items: center; gap: 10px; padding: 12px 0; background: linear-gradient(180deg, transparent, var(--bg) 35%); }
.brw .fw-foot .grow { flex: 1; }
.brw .fw-go { min-width: 200px; padding: 12px 22px; font-size: 14px; border-radius: 10px; }
@media (max-width: 1100px) { .brw .fw-grid { grid-template-columns: minmax(0, 1fr); } .brw .fw-hero { grid-template-columns: minmax(0, 1fr); } .brw .fw-art { display: none; } }
@media (max-width: 760px) { .brw .fw-fees, .brw .fw-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } .brw .fw-two, .brw .fw-feats { grid-template-columns: minmax(0, 1fr); } .brw .fw-steps { flex-direction: column; align-items: stretch; } .brw .fw-line { display: none; } .brw .fw-chain { grid-template-columns: auto auto minmax(0, 1fr); } .brw .fw-chain .badge, .brw .fw-chain > .outline { grid-column: 3; justify-self: start; } .brw .fw-go { min-width: 0; } }
.brw .fw-orb .chain-badge { display: grid; }
.brw .fw-chain > .badge { justify-self: end; white-space: nowrap; }
.brw .fw-prog { display: grid; gap: 8px; }
.brw .fw-prog > div:first-child { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.brw .fw-bar { height: 8px; border-radius: 999px; background: #1b1f30; overflow: hidden; }
.brw .fw-bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #6a3cff, #1ed37a); }
.brw .fw-group { display: grid; gap: 8px; }
.brw .fw-group h4 { margin: 6px 0 0; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.brw .fw-chain.live { border-color: #1d5a3b; background: #0b1a14; }
.brw .fw-tick { width: 20px; height: 20px; border-radius: 6px; display: grid; place-items: center; background: #1ed37a; color: #04120b; font-weight: 900; font-size: 13px; }
.brw .fw-progress { display: grid; grid-template-columns: minmax(180px, 240px) minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 14px 16px; margin-bottom: 14px; border-color: #3a2f6e; background: linear-gradient(180deg, #120f22, #0d0c18); }
.brw .fw-prog-main { display: grid; gap: 6px; }
.brw .fw-pchips { display: flex; flex-wrap: wrap; gap: 6px; }
.brw .fw-pchip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 9px; border-radius: 999px; border: 1px solid #2b3045; background: #10131e; font-size: 12px; color: #c9cdd8; }
.brw .fw-pchip .chain-badge { position: static; }
.brw .fw-pchip em { font-style: normal; color: var(--muted); font-size: 11px; }
.brw .fw-pchip.ok { border-color: #1d5a3b; background: #0b2117; }
.brw .fw-pchip.ok em { color: var(--green); }
@media (max-width: 900px) { .brw .fw-progress { grid-template-columns: minmax(0, 1fr); } }
.brw .cw { max-width: 1180px; }
.brw .cw-top { display: flex; align-items: center; gap: 8px; }
.brw .cw-head { padding: 6px 0 18px; display: grid; gap: 8px; justify-items: start; }
.brw .cw-head h1 { margin: 0; font-size: 34px; letter-spacing: -.02em; text-wrap: balance; }
.brw .cw-head h1 span { color: var(--purple2); }
.brw .cw-head p { margin: 0; color: var(--muted); max-width: 64ch; }
.brw .cw-steps { margin-bottom: 16px; }
.brw .cw-steps .fw-step { background: none; border: 0; color: inherit; font: inherit; text-align: left; padding: 0; cursor: pointer; }
.brw .cw-steps .fw-step:disabled { cursor: default; }
.brw .cw-steps .fw-step.done:hover b { color: var(--purple2); }
.brw .cw-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 16px; align-items: start; }
.brw .cw-main { padding: 22px; display: grid; gap: 16px; min-width: 0; }
.brw .cw-main h2 { margin: 0; }
.brw .cw-h4, .brw .cw-side h4 { margin: 4px 0 0; font-size: 11.5px; letter-spacing: .07em; text-transform: uppercase; color: #aeb6c6; }
.brw .cw-side { padding: 16px; display: grid; gap: 10px; }
.brw .cw-side h3 { margin: 0; font-size: 15px; }
.brw .cw-side-wrap { display: grid; gap: 10px; position: sticky; top: 16px; }
.brw .cw-side-title { display: grid; gap: 4px; justify-items: start; }
.brw .cw-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 7px; font-size: 12.5px; color: #c9cfdb; }
.brw .cw-list li { display: flex; gap: 8px; }
.brw .cw-list li::before { content: "✓"; color: var(--green); font-weight: 800; }
.brw .cw-brand { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 12px; }
.brw .cw-img { display: flex; gap: 12px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 11px; background: #0a0e15; min-width: 0; }
.brw .cw-img > div:last-child { display: grid; gap: 4px; justify-items: start; min-width: 0; }
.brw .cw-img small { font-size: 11.5px; }
.brw .cw-img-acts { display: flex; align-items: center; gap: 8px; margin-top: 2px; }
.brw .cw-logo .logo { border-radius: 14px; }
.brw .cw-cover { width: 150px; max-width: 45%; aspect-ratio: 3 / 1; border-radius: 8px; overflow: hidden; background: linear-gradient(110deg, #24194a, #6d43ff 50%, #3f76d5); flex: none; }
.brw .cw-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.brw .cw-handle { display: flex; align-items: center; background: #0a0e15; border: 1px solid #232c3d; border-radius: 9px; }
.brw .cw-handle em { font-style: normal; color: var(--muted); padding-left: 11px; font-size: 13.5px; }
.brw .mg-field .cw-handle input { border: 0; background: transparent; padding-left: 2px; }
.brw .cw-handle:focus-within { border-color: var(--purple); }
.brw .cw-rules-head { display: flex; align-items: center; gap: 8px; }
.brw .cw-rules-head .linkish { margin-left: auto; }
.brw .cw-prev { overflow: hidden; position: relative; }
.brw .cw-prev-cover { height: 96px; background: linear-gradient(110deg, #24194a, #6d43ff 50%, #3f76d5); }
.brw .cw-prev-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.brw .cw-prev-logo { position: absolute; left: 16px; top: 62px; border: 3px solid #111620; border-radius: 16px; }
.brw .cw-prev-body { padding: 40px 16px 16px; display: grid; gap: 6px; }
.brw .cw-prev-body b { font-size: 17px; }
.brw .cw-prev-body small { color: var(--muted); }
.brw .cw-prev-body p { margin: 0; font-size: 12.5px; color: #b6bdcb; overflow-wrap: anywhere; }
.brw .cw-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.brw .cw-tags span { font-size: 11px; padding: 3px 9px; border-radius: 999px; background: #19142e; color: var(--purple2); border: 1px solid #3b2f6e; }
.brw .cw-review { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.brw .cw-rcard { padding: 14px; display: grid; gap: 10px; align-content: start; }
.brw .cw-rcard header { display: flex; align-items: center; gap: 8px; }
.brw .cw-rcard header b { flex: 1; font-size: 14px; }
.brw .cw-kv { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 6px 10px; font-size: 12.5px; }
.brw .cw-kv span { color: var(--muted); }
.brw .cw-kv b { font-weight: 600; overflow-wrap: anywhere; }
.brw .cw-check { display: grid; gap: 7px; font-size: 12.5px; }
.brw .cw-check div { display: flex; gap: 8px; }
.brw .cw-check i { font-style: normal; font-weight: 800; width: 14px; }
.brw .cw-check .ok i { color: var(--green); }
.brw .cw-check .opt i { color: var(--gold); }
.brw .cw-note { padding: 10px 12px; border-radius: 9px; border: 1px solid #3b2f6e; background: #141029; font-size: 12.5px; color: #cfc8ff; line-height: 1.5; }
.brw .cw-gate { max-width: 560px; padding: 28px; display: grid; gap: 12px; justify-items: start; }
.brw .cw-gate h2 { margin: 0; }
@media (max-width: 980px) { .brw .cw-grid { grid-template-columns: minmax(0, 1fr); } .brw .cw-side-wrap { position: static; } }
@media (max-width: 640px) { .brw .cw-brand, .brw .cw-review { grid-template-columns: minmax(0, 1fr); } .brw .cw-head h1 { font-size: 26px; } .brw .cw-main { padding: 16px; } .brw .cw-kv { grid-template-columns: 96px minmax(0, 1fr); } }
.brw .cw-main .mg-field { align-content: start; }
@media (max-width: 760px) { .brw .cw-top .wallet span { display: inline; } }
.brw .cw-done { padding: 28px; display: grid; gap: 14px; justify-items: start; max-width: 760px; }
.brw .cw-done h2 { margin: 0; font-size: 26px; }
.brw .cw-done p { margin: 0; }
.brw .cw-done-tick { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; font-size: 24px; font-weight: 800; color: var(--green); background: #0b2117; border: 1px solid #1d5a3b; }
.brw .cw-done .mg-invite { width: 100%; max-width: 520px; }
.brw .cw-done-fee { font-size: 13.5px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.brw .cw-done-acts { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.brw .lp-mi .logo { width: 22px; height: 22px; border-radius: 6px; flex: none; }
.brw .cp .community-mini .badges { margin-top: 8px; }
.brw .cp-art .cover-img { position: static; }
.brw .cp .primary.cp-big { box-shadow: 0 8px 26px rgba(122,77,255,.4); }
.brw .cp-access .wide, .brw .cp-join > * { width: 100%; }
.brw .cp .card { border-color: #1d2335; }
.brw .set-fixed { display: grid; gap: 3px; padding: 12px 14px; border-radius: 12px; border: 1px dashed rgba(244,180,72,.4); background: rgba(244,180,72,.05); }
.brw .set-fixed b { font-size: 13.5px; }
.brw .set-fixed span { font-size: 12px; color: var(--muted); }
.brw button.me-chip { cursor: pointer; }
.brw button.me-chip:hover { border-color: rgba(172,140,255,.6); color: #fff; }
.brw .me-acts .muted { font-size: 12px; }
@keyframes pulse { 50% { opacity: .35; } }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes tsspin { to { transform: rotate(360deg); } }
@keyframes solpulse { 50% { opacity: .45; } }
.brw { margin:-4px -4px 0; border-radius:16px; padding:6px 4px 24px; }
.brw .landing { max-width:1180px; padding:0 4px 40px; }
.brw .cw-head h1 span { background:linear-gradient(92deg,#8f6bff,#c7a6ff 50%,#8fd0ff); -webkit-background-clip:text; background-clip:text; color:transparent; }


/* community pages: the community module (/kit/community.js) full width under the app's header */
.main.kit-page { padding:var(--header) 0 0 !important; }
.main.kit-page .content-width { max-width:none; padding:0; margin:0; }
.kit-host { --kit-top:var(--header); min-height:calc(100vh - var(--header)); }
@media (max-width:760px) { .main.kit-page { padding-bottom:calc(70px + env(safe-area-inset-bottom, 0px)) !important; } }

/* Settings → Wallets: the address with its copy button */
.wallet-addr { display:inline-flex; align-items:center; gap:6px; vertical-align:middle; }
.wallet-addr .icon-btn { width:24px; height:24px; border-radius:6px; }
.wallet-addr .icon-btn .icon { width:13px; height:13px; }

/* My Communities: recently deleted (restore within 30 days) */
.cm-deleted { margin-top:18px; padding:16px 18px; display:flex; flex-direction:column; gap:10px; }
.cm-del-head h2 { margin:0 0 4px; font-size:16px; }
.cm-del-head p { margin:0; }
.cm-del-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; border-top:1px solid var(--border); }
.cm-del-row small { display:block; margin-top:2px; }
