/* 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; }
