/* Electric violet, hot pink and cyan across both wallet and demo modes. */
:root {
  --bg: #160e35;
  --panel: #24164f;
  --line: #634a9170;
  --text: #faf5ff;
  --muted: #beb1da;
  --lime: #6af4ff;
  --mint: #64ffd0;
  --pink: #ff88d3;
}

body {
  background:
    radial-gradient(ellipse at 4% 4%, #7931d544, transparent 42rem),
    radial-gradient(ellipse at 100% 28%, #d936ae24, transparent 48rem),
    radial-gradient(ellipse at 40% 100%, #374de733, transparent 65rem),
    var(--bg);
}
.header {
  background: linear-gradient(110deg, #29144b, #1d153c 55%, #212557);
  border-bottom-color: #996be45e;
  box-shadow: 0 4px 35px #11052344;
}
.brand { color: #fbf4ff; }
.brandmark {
  color: #25113c;
  background: linear-gradient(140deg, #ff8cde, #b08aff 55%, #68edff);
  box-shadow: 0 0 22px #c64bfb45;
}
.brand-sub { color: #c0afd8; border-color: #8b62b65e; }
.header nav { color: #c9b9e5; }
.header nav .active { color: #91f3ff; }
.header nav .active::after {
  background: linear-gradient(90deg, #6df3ff, #df7dff);
  box-shadow: 0 0 14px #a66cff;
}
.demo-badge {
  color: #9cfff2;
  background: #17415870;
  border-color: #5ee9e576;
  box-shadow: inset 0 0 16px #30cbd010;
}
.eyebrow { color: #f2a4ff; }
h1 {
  color: #f5eaff;
  background: linear-gradient(100deg, #ffffff 8%, #a7eaff 57%, #f0a3ff);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
h1 span { -webkit-text-fill-color: #ff82d6; }
.rank-heading h2 span { color: #ff88d3; }
.button {
  color: #f0dfff;
  background: #402867;
  border-color: #8e60c58c;
}
.button.primary {
  color: #1b1844;
  background: linear-gradient(110deg, #66f5ff, #a5b5ff);
  border-color: #a5edff;
  box-shadow: 0 5px 22px #4689ed35, inset 0 1px #ffffff80;
}
.button.primary:hover {
  color: #191035;
  background: linear-gradient(110deg, #a0faff, #d0c1ff);
  box-shadow: 0 5px 28px #72b7ff65;
}
.button:disabled { opacity: .78; }
.mode-bar > span { color: #c4b4de; }
.mode-switch { background: #241540; border-color: #8b60b980; }
.mode-switch a { color: #d1c3e5; }
.mode-switch .selected {
  color: #fff4ff;
  background: linear-gradient(110deg, #9933b9, #6344cf);
  box-shadow: 0 2px 12px #be45de38, inset 0 1px #f5b1ff38;
}
.wallet-status {
  color: #c8edff;
  background: linear-gradient(105deg, #203c63, #2f2055);
  border-left-color: #68efff;
  box-shadow: inset 0 1px #9ce4ff15;
}
.wallet-status[data-status=partial], .wallet-status[data-status=unavailable] {
  color: #ffe3b4;
  background: linear-gradient(105deg, #593052, #382342);
  border-color: #ffca76;
}
.demo-badge[data-status=partial], .demo-badge[data-status=unavailable] {
  color: #ffe1a9; background: #503145; border-color: #f2b56c8c;
}

.observatory {
  border-color: #a876d57d;
  box-shadow: 0 14px 60px #08012570, 0 0 45px #853cf419;
}
.signals {
  background: linear-gradient(155deg, #392062, #271747 65%, #242553);
  border-color: #a677cb50;
}
.spotlight {
  background: linear-gradient(155deg, #482057, #2b205a 60%, #22365c);
  border-color: #d083cf50;
}
.panel-title h2 { color: #faf0ff; }
.micro-tag {
  color: #9bfff0;
  background: #22666345;
  border-color: #6de8da69;
}
.signal-card { border-color: #b387d737; }
.signal-card:hover { background: #c975ff12; }
.avatar {
  color: #fff0ff;
  background: linear-gradient(135deg, #b331ce, #5951bf);
  box-shadow: 0 0 0 1px #edb6ff60, 0 3px 12px #0908273d;
}
.signal-card:nth-child(2n) .avatar {
  background: linear-gradient(135deg, #1987a7, #6254c5);
}
.signal-meta .time, .signal-action { color: #c5b2dd; }
.activity-kind { color: #e3c2ff; border-color: #ac7ddb; background: #62309533; }
.activity-kind.buy, .buy-label { color: #8effd5; background: #17695559; border-color: #44dca97d; }
.activity-kind.sell { color: #ffb7de; background: #a428704a; border-color: #f879ba86; }
.activity-kind.failed { color: #ffe29d; background: #87602042; border-color: #d9ad63a6; }
.pulse-dot { background: #69ffda; box-shadow: 0 0 11px #4ff3ca88; }
.brain-stage {
  background:
    radial-gradient(ellipse at 48% 45%, #d83bc23d, transparent 58%),
    radial-gradient(ellipse at 6% 92%, #1968b673, transparent 53%),
    radial-gradient(ellipse at 95% 8%, #783df07d, transparent 65%),
    radial-gradient(#cc9eff45 .7px, transparent .7px), #241044;
  background-size: auto, auto, auto, 19px 19px, auto;
}
.stage-top { color: #b8e9ff; }
.stage-id { color: #b49acc; }
.coordinate { color: #e2bcfa; }
.coordinate b { color: #b39ccc; }
.coordinate:nth-of-type(2), .coordinate:nth-of-type(4) { color: #9eeaff; }
.brain-label p { color: #e8d8f8; }
.crawler-tag {
  color: #ffb7ec;
  background: #74227899;
  border-color: #fb82d887;
  box-shadow: 0 0 18px #f94cba20;
}
.stage-bottom { color: #c3b2dd; background: #221a45d9; border-color: #a884d039; }
.stage-bottom button { color: #d8c7ef; background: #46316775; border-color: #9676b879; }
.stage-bottom button[aria-pressed=true] { color: #a6f7ff; background: #31648070; border-color: #74e6ff; }
.processing .stage-top { color: #87ffe5; }
.tiny-star { color: #ff96e0; text-shadow: 0 0 16px #ff59ca80; }
.score-big strong { color: #a7efff; text-shadow: 0 0 28px #51b1ff28; }
.score-big em { color: #a5fff1; background: #2366594a; border-color: #80e9e079; }
.wallet-mode .score-big strong { color: #c5b8ee; }
.wallet-mode .score-big em { color: #e6ccff; background: #7442aa3b; border-color: #b08de08a; }
.score-row { color: #d4c2e8; }
.score-row strong { color: #f0e1ff; }
.bar { background: #8970b647; }
.bar i { background: linear-gradient(90deg, #aa8bff, #6af4ff); }
.bar.pink i { background: linear-gradient(90deg, #c66aff, #ff8bd8); }
.bar.blue i { background: linear-gradient(90deg, #8878ff, #68dfff); }
.bar.orange i { background: linear-gradient(90deg, #ff9a9f, #ffd28c); }
.spotlight .profile-button {
  color: #fff1ff;
  background: linear-gradient(110deg, #9c36b1, #5e47b8);
  border-color: #d385e79e;
  box-shadow: 0 5px 18px #15083040, inset 0 1px #f8cfff30;
}
.spotlight .profile-button:hover { background: linear-gradient(110deg, #b747c6, #755cdc); }

.crawl-terminal {
  background: linear-gradient(110deg, #2d1645, #271b52 60%, #202d57);
  border-color: #b975cb79;
  box-shadow: 0 5px 25px #09052a40;
}
.terminal-title { color: #f6c9ef; border-color: #ba79c551; background: #411f5463; }
.terminal-title i { background: #ff80d8; }
.terminal-title i:nth-child(2) { background: #ffc96e; }
.terminal-title i:nth-child(3) { background: #5dffe0; }
.terminal-demo { color: #2b1047; background: #f89bff; }
.terminal-cells > div { border-color: #a582cb40; }
.terminal-cells small { color: #d6b5f5; }
.terminal-cells strong { color: #92f2ff; }
.terminal-cells span { color: #c3b0da; }
.terminal-cells .reading { background: #b449c62e; box-shadow: inset 0 2px #f18cff; }
.terminal-cells .reading strong { color: #ffd0f0; }
#terminal-state { color: #fed199; }
.network-bar > div, .network-bar .network-note { color: #c6b4df; }
.network-bar .metric-number { color: #95eaff; }
.network-bar > div:nth-child(2) .metric-number { color: #ffa1e2; }
.network-bar > div:nth-child(3) .metric-number { color: #c5a7ff; }
.text-button { color: #daaaff; }
.filter-tabs button { color: #c9b4e1; }
.filter-tabs button.selected { color: #f4e8ff; background: linear-gradient(110deg, #743ba4, #453b92); }
.filter-tabs button span { color: #dcc5f8; }
.search, select { color: #dac6ef; background: #2a1c4d; border-color: #8462ad8f; }
.search input { color: #f2e6ff; }
.search input::placeholder { color: #bca7d2; opacity: 1; }
.table-scroll { border: 1px solid #9162bb5c; border-radius: 10px; background: #20163c80; }
th { color: #d0baf1; background: #3b2463; border-color: #9e76cf65; }
td { border-color: #8b62a83b; }
tbody tr:nth-child(even) { background: #61418613; }
tbody tr:hover { background: #8c52d02b; }
th:first-child, td:first-child { color: #b599ce; }
.kol-cell small, .coin-button .age { color: #bca8d5; }
.score-pill i { background: #745c9d75; }
.score-pill i::after { background: linear-gradient(90deg, #bf83ff, #77edff); }
.watch { color: #b59ace; }
.watch[aria-pressed=true] { color: #ffdd83; }
.unscored { color: #bea7d8; }
.table-foot, .coverage-note, .feed-empty { color: #bda9d2; }
footer { color: #b5a2cd; border-color: #8f67b35c; }
footer .brand { color: #e6d5ff; }

dialog {
  background: linear-gradient(150deg, #382052, #221945 65%, #222d50);
  border-color: #cb8af0a3;
  box-shadow: 0 30px 100px #0b032abb, 0 0 60px #9850df24;
}
dialog::backdrop { background: #110425c4; }
dialog p { color: #d1bfe4; }
.close { color: #e5b4fa; }
.detail-stat { background: #5536792e; border-color: #a074c45c; }
.detail-stat span, .detail-stats span { color: #d0b5e8; }
.detail-stat small, .wallet-history > small, .modal-trade small { color: #bfa6d6; }
.coin-address { color: #9dedf4; background: #28355777; border-color: #6fa2c36b; }
.modal-trade, .method-row, .token-detail { border-color: #af7fca57; }
.detail-notice { color: #bfa9d8 !important; border-color: #9875b669; }
.positive { color: #78ffd2; }
.negative { color: #ff92c2; }
#empty { color: #d8c0ef; }
#toast { color: #f5e5ff; background: #683a94; border-color: #cc9af1; box-shadow: 0 8px 35px #0d062880; }

@media (prefers-contrast: more) {
  :root { --muted: #e5d9f5; }
  .coordinate b, .kol-cell small, .table-foot, .coverage-note, .terminal-cells span { color: #e5d9f5; }
}
/* Real performance connection, with a local-only credential field. */
.analytics-setup{display:grid;grid-template-columns:1.25fr 1fr;gap:32px;padding:26px;margin:20px 0;border:1px solid #825ac5;border-radius:14px;background:linear-gradient(125deg,#392261,#243459);color:#eee6ff}
.analytics-setup[hidden]{display:none}
.analytics-setup h2{font-size:23px;margin:8px 0 12px}.analytics-setup p{font-size:13px;line-height:1.8}.analytics-setup a{color:#67e6ff;text-decoration:underline}
.analytics-setup form{display:flex;flex-direction:column;gap:12px;align-self:center}.analytics-setup label{font-size:13px;font-weight:600}.analytics-setup input{min-width:0;width:100%;box-sizing:border-box;padding:13px;border:1px solid #8663b2;border-radius:9px;background:#201138;color:#fff;font:inherit}.analytics-setup input:focus{outline:2px solid #59dffb}
.analytics-setup .subtle{color:#c4b9dc;font-size:12px}.analytics-controls{display:flex;justify-content:flex-end;gap:20px;margin:-10px 0 18px}.analytics-controls [hidden]{display:none}
.performance-mode .performance-profit{font-size:30px;letter-spacing:-.6px;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.performance-mode .spotlight .detail-grid{grid-template-columns:1fr;gap:10px}.performance-mode .spotlight .detail-stat{padding:9px}.performance-mode .spotlight .detail-stat strong{font-size:20px}.performance-mode .mode-bar{flex-wrap:wrap;gap:10px}
.project-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 3.5%;background:linear-gradient(110deg,#6a28715c,#37479560);border-bottom:1px solid #c493ee4d;font-size:12px}.project-contract{display:flex;align-items:center;gap:12px;min-width:0}.project-label{color:#f19adf;font-size:10px;font-weight:700;letter-spacing:1.5px;white-space:nowrap}.project-contract code{color:#eee3ff;font:12px/1.7 monospace;overflow-wrap:anywhere;user-select:all;min-width:0}.project-bar button{border:1px solid #d4aaff55;border-radius:6px;padding:5px 10px;font-size:11px;white-space:nowrap;background:#c083ed22;min-height:32px}.project-bar button:disabled{cursor:default;color:#b5a1cf;opacity:.55}.project-bar a{color:#8fe5f5;white-space:nowrap;font-weight:600}.project-bar>span{color:#bfa4dc;white-space:nowrap}.service-notice,.demo-warning{padding:12px 3.5%;background:#5b2e244d;border-bottom:1px solid #e4b18155;color:#f1d3b0;font-size:12px;line-height:1.6}.demo-warning{border:1px solid #e4b18155;border-radius:8px}.performance-mode .coordinate:first-of-type b{color:#d6b4e8}@media(max-width:600px){.project-bar{padding:12px 16px;flex-wrap:wrap;gap:9px}.project-contract{width:100%;flex-wrap:wrap;gap:6px 10px}.project-contract code{flex:1;min-width:160px}.project-label{font-size:9px}.project-bar>span,.project-bar a{margin-left:auto;font-size:11px}.project-contract button{padding:5px 8px}.service-notice{padding:10px 16px}}
.table-scroll{position:relative}.sr-only{top:0;left:0}
@media(max-width:760px){.mode-switch{flex-wrap:wrap}.performance-mode .mode-bar>span{font-size:11px}}
/* Narrative attention extends the existing bright observatory palette. */
.narrative-panel{margin:24px 0;padding:26px;border:1px solid #9667d36b;border-radius:20px;background:linear-gradient(125deg,#341653,#201440 65%,#143a49);box-shadow:0 12px 44px #14092433}
.narrative-panel h2{margin:4px 0;font-size:1.65rem}.narrative-panel h3{font-size:1.05rem}.narrative-summary{font-size:.875rem;color:#d5c3ed;line-height:1.6}.theme-list{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.theme-pill{min-width:145px;display:grid;gap:7px;text-align:left;border:1px solid #ca97ff7a;border-radius:14px;padding:16px 20px;background:#51217075;color:#f5eaff;cursor:pointer}.theme-pill strong{font-size:1.7rem;color:#ffc46d}.theme-pill small{font-size:.875rem;color:#dac9ef}.theme-pill:hover{background:#75429085;border-color:#dcafff}.recent-buy-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.buy-owner{display:flex;align-items:center;gap:9px;padding:5px 0 10px;border:0;background:none;color:#f4e8ff;font-weight:600;cursor:pointer}.buy-owner .avatar{width:28px;height:28px}.buy-card{min-width:0;margin:8px 0 16px;border:1px solid #9a70ca66;border-radius:13px;padding:16px;background:#1d133299}.buy-card p{font-size:.875rem;line-height:1.6;color:#ded0ee}.buy-card-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.buy-card-top strong{overflow-wrap:anywhere;color:#fff}.buy-card-top span{font-size:.8rem;color:#bdacce}.buy-card .coin-address{display:block;word-break:break-all;white-space:normal;font-size:.8rem;padding:8px 0}.buy-card .modal-actions{gap:8px;flex-wrap:wrap;margin:12px 0 0}.buy-card .button{font-size:.875rem;padding:9px 12px}.narrative-detail{border:1px solid #c797ff66;border-radius:15px;padding:18px;margin:20px 0;background:linear-gradient(120deg,#52236b70,#19465045)}.narrative-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.narrative-heading h3{margin:8px 0}.narrative-number{color:#ffc46d;font-size:1.65rem;white-space:nowrap}.narrative-evidence{display:flex;flex-wrap:wrap;gap:18px;margin:18px 0;font-size:.875rem}.narrative-evidence span{display:grid;gap:6px;color:#c9badb}.narrative-evidence b{color:#fff}.narrative-detail .subtle{font-size:.875rem;line-height:1.6}.coin-inline-actions{display:flex;gap:10px;padding:0 0 14px}.coin-inline-actions a{font-size:.875rem;color:#aef0dc}.theme-pill:focus-visible,.buy-owner:focus-visible{outline:2px solid #8effdb;outline-offset:4px}
@media(max-width:1050px){.recent-buy-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.narrative-panel{padding:18px}.recent-buy-list{grid-template-columns:1fr}.narrative-panel .rank-heading{align-items:flex-start;gap:12px;flex-direction:column}.theme-pill{flex:1 1 135px}.narrative-heading{align-items:flex-start;flex-direction:column}}
