/* TAIL — stylesheet.
   Performance is a temperature. The thermal ramp is the data scale, not a
   decoration. White-hot is reserved for wallets below the line. No green, no
   red-for-loss: the ramp already carries it and a second scale would break it. */

:root{
  --void:#07070A;
  --surface:#0E0D14;
  --surface-2:#141220;
  --rule:#1C1A24;
  --rule-soft:#141219;
  --text:#EDEAE4;
  --muted:#7A7482;
  --muted-2:#9A939F;
  --hot:#FF6B2C;
  --peak:#FFF0D0;
  --shell:1200px;
}

*{margin:0;padding:0;box-sizing:border-box}
html,body{background:var(--void);overflow-x:clip}
.hbar>*,nav,.heroGrid>*,.row>*,.shape,.stats>*,.panel{min-width:0}
body{
  font-family:Archivo,system-ui,-apple-system,sans-serif;
  font-size:15px;line-height:1.62;color:var(--text);
  -webkit-font-smoothing:antialiased;padding-bottom:110px;
}
body::before{
  content:"";position:fixed;left:52%;top:-14%;width:min(1300px,130vw);height:700px;
  transform:translateX(-50%);pointer-events:none;z-index:0;
  background:radial-gradient(ellipse at center,rgba(255,107,44,.055),transparent 68%);
}
.mono{font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace;font-variant-numeric:tabular-nums}
a{color:inherit;text-decoration:none}
.shell{max-width:var(--shell);margin:0 auto;padding:0 26px;position:relative;z-index:1}

/* ---------- type ---------- */
h1{font-size:clamp(31px,4.4vw,50px);font-weight:700;letter-spacing:-.032em;line-height:1.05}
h1 em{font-style:normal;color:var(--hot)}
h2{font-size:23px;font-weight:700;letter-spacing:-.018em}
.kicker{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.20em;
  color:var(--muted);text-transform:uppercase}
p{max-width:64ch;color:var(--muted-2);line-height:1.7}
p b{color:var(--text);font-weight:400}
.lead{font-size:16px;margin-top:16px}
.sec{padding:48px 0;border-top:1px solid var(--rule)}
.sec>.kicker{margin-bottom:20px}

/* ---------- header ---------- */
header{position:sticky;top:0;z-index:40;background:rgba(7,7,10,.9);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--rule)}
.hbar{display:flex;align-items:center;gap:24px;height:60px}
.brand{display:flex;align-items:center;gap:13px;flex:none}
.mark{display:flex;align-items:flex-end;gap:2px;height:18px}
.mark i{width:4px;border-radius:1px;display:block}
.word{font-size:15px;font-weight:700;letter-spacing:.26em}
nav{display:flex;gap:2px;flex:1;overflow-x:auto;scrollbar-width:none}
nav::-webkit-scrollbar{display:none}
nav a{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.16em;
  color:var(--muted);padding:7px 11px;white-space:nowrap;
  border-bottom:1px solid transparent;transition:color .15s}
nav a:hover{color:var(--text)}
nav a.on{color:var(--hot);border-bottom-color:var(--hot)}
.hold{flex:none;font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.14em;
  color:var(--muted);border:1px solid var(--rule);padding:6px 11px;cursor:pointer;
  background:none;transition:border-color .15s,color .15s}
.hold:hover{color:var(--text);border-color:#2A2733}
.hold.on{color:var(--hot);border-color:rgba(255,107,44,.4)}

/* ---------- notice ---------- */
.notice{border:1px solid var(--rule);background:var(--surface);padding:13px 16px;
  display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap;font-size:12.5px;
  color:var(--muted-2);line-height:1.6;margin:20px 0;overflow-wrap:anywhere}
.notice b{color:var(--hot);font-family:"IBM Plex Mono",monospace;font-size:10px;
  letter-spacing:.16em;flex:none;padding-top:2px}
.notice em{font-style:normal;color:var(--text)}

/* ---------- board ---------- */
.boardhead{display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  padding-bottom:11px;border-bottom:1px solid var(--rule);flex-wrap:wrap}
.win{display:flex;gap:1px}
.win button{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.14em;
  color:var(--muted);background:none;border:1px solid var(--rule);padding:5px 12px;cursor:pointer}
.win button.on{color:var(--hot);border-color:rgba(255,107,44,.45)}

.row{display:flex;align-items:center;gap:18px;padding:11px 0;
  border-bottom:1px solid var(--rule-soft);cursor:pointer;transition:background .12s}
.row:hover{background:var(--surface)}
.rank{width:26px;flex:none;font-size:12px;color:var(--muted)}
.addr{width:104px;flex:none;font-size:14px;font-weight:500;letter-spacing:.02em}
.shape{flex:1;display:flex;gap:2px;height:18px}
.shape s{display:block;border-radius:1px}
.n{flex:none;text-align:right}
.w-net{width:92px;font-size:15px;font-weight:600}
.w-tr{width:96px;font-size:12.5px;color:var(--muted)}
/* fits "WIN 100%" — the label doubled the width and an ellipsis here would be
   worse than no label at all */
.w-win{width:86px;font-size:12.5px;color:var(--muted)}
.w-luck{width:98px;font-size:14px;color:var(--muted)}
.tag{width:156px;flex:none;text-align:right;font-family:"IBM Plex Mono",monospace;
  font-size:9.5px;letter-spacing:.13em;color:var(--muted);white-space:nowrap}
.tag.on{color:var(--hot)}
/* Not red — a bot is not an error, and red is reserved. Just cold and named. */
.tag.bot{color:#6E7BA8;letter-spacing:.10em}
/* Warm, because unlike every other tag on this row it is a recommendation. */
.tag.scalp{color:#C79A55;letter-spacing:.10em}

.cut{margin-top:18px;padding-top:8px;border-top:1px dashed #2A2530}
.cut .kicker{padding:8px 0 12px}
.row.out .addr,.row.out .n,.row.out .rank{color:#6A6470}
.row.out .w-luck{color:var(--peak);font-weight:600}

.scroll{overflow-x:auto;margin:0 -26px;padding:0 26px}
.scroll .row{min-width:850px}

/* SCALPER. The one badge on this site that says "yes" — so it is warm and lit,
   where the exclusion notices are cold and flat. */
.badge{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.16em;
  color:#E0B064;border:1px solid #4A3A20;background:rgba(199,154,85,.07);
  padding:6px 11px;border-radius:2px;white-space:nowrap}
.scalpnote{margin-top:16px;max-width:64ch;font-size:14px;line-height:1.65;
  color:var(--muted-2)}
.scalpnote b{color:var(--text);font-weight:500}

/* ---------- wallet header ---------- */
.addrline{display:flex;align-items:baseline;gap:18px;margin-top:14px;flex-wrap:wrap}
.addrline h1{font-size:clamp(22px,3.2vw,34px);letter-spacing:0}
/* Wraps, because this row grows every time someone asks for their terminal. */
.addrbtns{display:flex;gap:8px;align-self:center;flex-wrap:wrap}

/* The full address under the shortened heading, selectable in one click for
   anyone whose clipboard is blocked. */
.fulladdr{margin-top:10px;font-size:12px;color:#5E5866;letter-spacing:.04em;
  word-break:break-all;user-select:all;-webkit-user-select:all}

.copy{
  font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.14em;
  color:var(--muted);background:none;border:1px solid var(--rule);
  height:30px;padding:0 14px;
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;white-space:nowrap;text-decoration:none;
  user-select:none;-webkit-user-select:none;
  transition:color .15s,border-color .15s,background .15s;
}
/* Fixed geometry, but only on the button whose label actually changes. Press it
   and it reads COPIED, then COPY ADDRESS again — without a fixed box the whole
   row jumped on every click, which is how this looked before.
   The outbound links never change label, so they size to their own text and a
   row of terminals does not become a row of half-empty boxes. */
button.copy{width:136px;padding:0 10px}
.copy:hover{color:var(--text);border-color:#3A3542}
.copy:focus-visible{outline:1px solid var(--hot);outline-offset:2px}
.copy.done{color:var(--hot);border-color:rgba(255,107,44,.5);
  background:rgba(255,107,44,.06)}
.copy.warn{color:var(--peak);border-color:rgba(255,240,208,.35)}

/* ---------- panels ---------- */
.panel{border:1px solid var(--rule);background:var(--surface);padding:22px 24px}
.panel .cap{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.20em;
  color:var(--muted);padding-bottom:13px;margin-bottom:15px;border-bottom:1px solid var(--rule);
  display:flex;justify-content:space-between;gap:12px}
.kv{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:7px 0}
.kv .k{font-size:12.5px;color:var(--muted)}
.kv .v{font-size:16px;font-weight:600}
.kv.big .v{font-size:24px}
.sep{height:1px;background:var(--rule);margin:14px 0}

/* the explainer strip — runs across so the board keeps the full width */
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);
  border:1px solid var(--rule);margin-top:34px}
.strip .cell{background:var(--void);padding:20px 22px}
.strip .big{font-size:26px;font-weight:600;margin-top:10px}
.strip .sub{font-size:11.5px;color:var(--muted);margin-top:7px;line-height:1.55}
@media (max-width:820px){ .strip{grid-template-columns:1fr} }

.heroGrid{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:start;margin-top:32px}
.stats{display:flex;flex-wrap:wrap;gap:36px;margin-top:26px;padding-top:22px;border-top:1px solid var(--rule)}
.stats div{display:flex;flex-direction:column;gap:6px}
.stats span{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.17em;color:var(--muted)}
.stats strong{font-size:22px;font-weight:700;letter-spacing:-.01em}

/* the maths, shown rather than claimed */
.calc{font-family:"IBM Plex Mono",monospace;font-size:13px;line-height:2;color:var(--muted-2)}
.calc b{color:var(--text);font-weight:400}
.calc u{color:var(--hot);text-decoration:none}

/* ---------- trades ----------
   Every fixed-width cell clips. Real tokens are 42-character addresses, and
   without this the address ran straight over the bar. */
.tr{display:flex;align-items:center;gap:16px;padding:10px 0;
  border-bottom:1px solid var(--rule-soft);font-size:13px;transition:background .12s}
.tr:hover{background:var(--surface)}
.tr>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tr .tk{width:112px;flex:none;color:var(--text);letter-spacing:.02em;
  text-decoration:none;border-bottom:1px dotted transparent;transition:.15s}
.tr .tk:hover{color:var(--hot);border-bottom-color:var(--hot)}
/* Round-trip count. Always occupies its slot, even when empty, so the bars stay
   on one vertical line down the list instead of stepping in and out. */
.tr .turns{width:30px;flex:none;text-align:right;font-size:11px;color:#8A7A5E;
  letter-spacing:.04em}
.tr .bar{flex:1;min-width:60px;height:8px;background:#12101A;border-radius:2px;overflow:hidden}
.tr .bar i{display:block;height:100%;border-radius:2px}
.tr .pl{width:118px;text-align:right;flex:none;font-weight:500}
.tr .hs{width:128px;text-align:right;flex:none;color:#4E4956;font-size:11px;
  text-decoration:none;transition:color .15s}
.tr .hs:hover{color:var(--muted-2)}

/* ---------- empty ---------- */
.empty{border:1px solid var(--rule);background:var(--surface);padding:26px 24px;margin-top:12px}
.empty .h{font-size:14px;color:var(--text);margin-bottom:9px}
.empty p{font-size:13.5px}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1px;
  background:var(--rule);border:1px solid var(--rule);margin-top:10px}
.card{background:var(--void);padding:22px 20px}
.card .q{color:var(--hot);font-size:14px;font-weight:600;display:block;margin-bottom:8px}
.card p{font-size:13px;line-height:1.62}

footer{border-top:1px solid var(--rule);margin-top:48px;padding:30px 0 0}
.fgrid{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap;
  font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.1em;color:var(--muted)}
.fgrid .col{display:flex;flex-direction:column;gap:8px}
.disc{margin-top:24px;font-size:10.5px;color:#403B49;line-height:1.8;max-width:84ch}

#view>section{display:none}
#view>section.on{display:block}

@media (max-width:900px){
  .heroGrid{grid-template-columns:1fr;gap:28px}
  .shell{padding:0 16px}
  .scroll{margin:0 -16px;padding:0 16px}
  .word{display:none}
  .stats{gap:24px}
  h1{font-size:29px}
}
