/* Traders Ladder: shared styles for the public receipt (r.html) and trader (t.html) pages. Same tokens as index.html. */
:root{
  color-scheme:dark;
  --bg:#0B0B0D; --bg2:#111114; --panel:#151518; --panel2:#1B1B1F;
  --ink:#F3F1ED; --muted:#A19D96; --dim:#6E6A64;
  --ember:#FF6B2C; --ember2:#FF8F55; --ember-deep:#C2410C; --ember-soft:rgba(255,107,44,.12);
  --hit:#3DDC97; --hit-soft:rgba(61,220,151,.12); --miss:#FF5A4E; --miss-soft:rgba(255,90,78,.12);
  --pill:#1E2A4A; --pill-ink:#9FB6FF;
  --tint:rgba(255,255,255,.04); --tint2:rgba(255,255,255,.08); --line:rgba(255,255,255,.08); --line2:rgba(255,255,255,.14);
  --sans:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"Geist Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
}
:root[data-theme="light"]{
  color-scheme:light;
  --bg:#F6F4F0; --bg2:#EFECE6; --panel:#FFFFFF; --panel2:#FAF8F5;
  --ink:#17130F; --muted:#5D574F; --dim:#8E877D;
  --ember:#E85A1C; --ember2:#C9480F; --ember-deep:#B03A08; --ember-soft:rgba(232,90,28,.10);
  --hit:#0B8457; --hit-soft:rgba(11,132,87,.10); --miss:#C4382E; --miss-soft:rgba(196,56,46,.08);
  --pill:#E4EAFF; --pill-ink:#2B45B5;
  --tint:rgba(24,18,12,.035); --tint2:rgba(24,18,12,.07); --line:rgba(24,18,12,.09); --line2:rgba(24,18,12,.16);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;min-height:100vh;
  background-image:radial-gradient(60% 40% at 50% -5%,rgba(255,107,44,.14),transparent 70%)}
a{color:var(--ember2)}
:focus-visible{outline:2px solid var(--ember2);outline-offset:2px;border-radius:4px}
.pg-top{max-width:1040px;margin:0 auto;padding:20px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.pg-logo{display:flex;align-items:center;gap:10px;font:600 19px var(--sans);letter-spacing:-.03em;color:var(--ink);text-decoration:none}
.pg-logo em{font-style:normal;color:var(--ember)}
.pg-top nav{display:flex;gap:6px;flex-wrap:wrap}
.pg-top nav a{font:500 13.5px var(--sans);color:var(--muted);text-decoration:none;padding:8px 12px;border-radius:999px}
.pg-top nav a:hover{color:var(--ink);background:var(--tint)}
.pg-top nav a.cta{background:var(--ember);color:#140A05}
.pg{max-width:1040px;margin:0 auto;padding:8px 16px 64px;display:grid;gap:16px}
.card{border-radius:18px;padding:24px;background:linear-gradient(180deg,var(--panel2),var(--panel));box-shadow:inset 0 0 0 1px var(--line),0 30px 60px -44px rgba(0,0,0,.6)}
.eyebrow{font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ember2);margin:0 0 8px}
h1{font:600 clamp(28px,5vw,40px)/1.08 var(--sans);letter-spacing:-.035em;margin:0;overflow-wrap:anywhere}
h2{font:600 18px var(--sans);letter-spacing:-.01em;margin:0 0 12px}
.muted{color:var(--muted)}
.dim{color:var(--dim)}
.mono{font-family:var(--mono)}
.tag{display:inline-flex;align-items:center;gap:5px;font:600 10.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:6px;background:var(--tint2);color:var(--muted);vertical-align:middle}
.tag.bot{background:var(--pill);color:var(--pill-ink)}
.tag.founder,.tag.tpl{background:var(--ember-soft);color:var(--ember2)}
.tag.HIT,.tag.ok{background:var(--hit-soft);color:var(--hit)}
.tag.STOP{background:var(--miss-soft);color:var(--miss)}
.tag.OPEN{background:var(--pill);color:var(--pill-ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 18px;border-radius:999px;border:0;cursor:pointer;
  font:600 14px var(--sans);text-decoration:none;background:var(--ember);color:#140A05}
.btn.ghost{background:var(--tint2);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line2)}
.btn:hover{filter:brightness(1.06)}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.note{font-size:13.5px;line-height:1.55;color:var(--muted)}
.note.ok{color:var(--hit)} .note.err{color:var(--miss)}
.empty{color:var(--dim);font-size:14px;padding:16px;border-radius:12px;background:var(--tint)}
.pos{color:var(--hit)} .neg{color:var(--miss)}
.foot{max-width:1040px;margin:0 auto;padding:24px 16px 40px;display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--dim);border-top:1px solid var(--line)}
.foot a{color:var(--muted);text-decoration:none}

/* ---------- receipt page ---------- */
.rc-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:16px;align-items:start}
.rc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.rc-status{font:700 13px var(--mono);letter-spacing:.1em;padding:6px 12px;border-radius:8px}
.rc-call{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-top:22px}
.rc-coin{font:700 44px/1 var(--sans);letter-spacing:-.04em}
.rc-dir{font:700 18px var(--mono)}
.rc-dir.up{color:var(--hit)} .rc-dir.dn{color:var(--miss)}
.rc-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:22px}
.rc-fact{border-radius:12px;padding:12px 14px;background:var(--tint);box-shadow:inset 0 0 0 1px var(--line)}
.rc-fact span{display:block;font:500 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.rc-fact b{display:block;margin-top:4px;font:600 16px var(--mono);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.rc-score{margin-top:20px;display:flex;align-items:baseline;gap:10px}
.rc-score b{font:700 40px/1 var(--mono);letter-spacing:-.03em}
.rc-sealed{margin-top:22px;border-radius:14px;padding:18px;background:var(--tint);box-shadow:inset 0 0 0 1px var(--line);display:grid;gap:10px}
.bar{display:block;height:4px;border-radius:4px;background:var(--tint2);overflow:hidden}
.bar i{display:block;height:100%;border-radius:inherit;background:var(--pill-ink)}
.rc-proof{display:grid;gap:10px}
.rc-hash{font:500 12px/1.55 var(--mono);word-break:break-all;padding:12px 14px;border-radius:10px;background:var(--bg2);box-shadow:inset 0 0 0 1px var(--line);color:var(--ember2)}
.rc-receipt{font:500 11.5px/1.55 var(--mono);word-break:break-all;color:var(--muted)}
.rc-meta{display:grid;gap:6px;font-size:13.5px;color:var(--muted)}
.rc-meta b{color:var(--ink);font-weight:500}
.rc-preview{width:100%;height:auto;border-radius:14px;box-shadow:0 0 0 1px var(--line2)}

/* ---------- trader page ---------- */
.tr-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.tr-ava{flex:none;width:64px;height:64px;border-radius:18px;display:grid;place-items:center;font:700 26px var(--sans);color:#140A05;background:linear-gradient(145deg,var(--ember2),var(--ember-deep))}
.tr-ava.bot{background:var(--pill);color:var(--pill-ink)}
.tr-ava svg{width:34px;height:34px}
.tr-id{display:grid;gap:6px;min-width:0;flex:1}
.tr-tags{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--muted)}
.tr-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:20px}
.tr-stat{border-radius:12px;padding:12px 14px;background:var(--tint);box-shadow:inset 0 0 0 1px var(--line)}
.tr-stat span{display:block;font:500 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.tr-stat b{display:block;margin-top:4px;font:700 22px var(--mono);font-variant-numeric:tabular-nums}
.tr-stat small{display:block;font-size:12px;color:var(--dim);margin-top:2px}
.tr-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:16px;align-items:start}
.tr-chart{width:100%;height:160px;display:block}
.tr-rules{display:grid;gap:8px}
.tr-side{display:grid;grid-template-columns:62px minmax(0,1fr);gap:10px;align-items:start}
.tr-side>b{font:600 11.5px var(--mono);padding-top:4px}
.tr-side.up>b{color:var(--hit)} .tr-side.dn>b{color:var(--miss)}
.conds{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.conds span{font-size:12.5px;padding:3px 8px;border-radius:7px;background:var(--bg2);box-shadow:inset 0 0 0 1px var(--line)}
.conds i{font:600 11px var(--mono);font-style:normal;color:var(--dim)}
.mk-list{display:grid;gap:6px}
.mk-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:10px;align-items:center;font:13px var(--mono)}
.mk-row .bar i{background:var(--ember)}
.calls{display:grid;gap:6px}
.crow{display:grid;grid-template-columns:52px minmax(0,1fr) 86px 70px;gap:12px;align-items:center;padding:11px 14px;border-radius:12px;background:var(--tint);
  box-shadow:inset 0 0 0 1px var(--line);color:inherit;text-decoration:none;transition:background .15s}
.crow:hover{background:var(--tint2)}
.crow .c{font:700 12px var(--mono);color:var(--ember2)}
.crow .w{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.crow .w b{font:600 12px var(--mono)}
.crow .w b.up{color:var(--hit)} .crow .w b.dn{color:var(--miss)}
.crow .s{font:700 14px var(--mono);text-align:right;font-variant-numeric:tabular-nums}
.crow.pre{opacity:.6}

@media (max-width:820px){
  .rc-grid,.tr-grid{grid-template-columns:1fr}
  .tr-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rc-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .card{padding:18px;border-radius:16px}
  .pg-top nav a:not(.cta){display:none}
  .rc-coin{font-size:36px}
  .crow{grid-template-columns:44px minmax(0,1fr) auto;gap:4px 10px}
  .crow .st{grid-column:2;grid-row:2}
  .crow .s{grid-column:3;grid-row:1/3}
}

/* ---------- content pages (world hub, strategy, coin, weekly) ---------- */
.crumbs{font:500 12.5px var(--mono);color:var(--dim);margin:0}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--ember2)}
.article h1{margin-bottom:12px}
.lede{font-size:16.5px;line-height:1.65;color:var(--muted);margin:0;max-width:78ch}
.tbl-wrap{overflow-x:auto;margin-top:14px}
.dtable{width:100%;border-collapse:collapse;font:13px var(--mono);font-variant-numeric:tabular-nums}
.dtable th{font:500 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}
.dtable td{padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.dtable a{color:var(--ink);text-decoration:none}
.dtable a:hover{color:var(--ember2)}
.tr-grid>*,.rc-grid>*{min-width:0}
