:root{
  --bg: #05070a;
  --panel: #0b0e13;
  --panel-2: #10141b;
  --row-alt: #0d1117;
  --line: rgba(255,255,255,.08);
  --line-strong: rgba(255,255,255,.16);
  --text: #dde3ea;
  --text-dim: #7c8a9a;
  --text-dimmer: #4d5866;
  --cyan: #2dd4ee;
  --green: #22e08a;
  --green-dim: rgba(34,224,138,.14);
  --red: #ff4d5e;
  --red-dim: rgba(255,77,94,.14);
  --amber: #f5a623;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;
  --font-ui: 'Inter', sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{overflow-x:hidden;}
body{
  background:var(--bg); color:var(--text);
  font-family:var(--font-mono);
  font-size:13px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--cyan);color:#000;}
button{font:inherit;color:inherit;}
input{font:inherit;color:inherit;}

/* subtle CRT scanline texture */
.scanlines{
  position:fixed; inset:0; z-index:1000; pointer-events:none;
  background:repeating-linear-gradient(to bottom, rgba(255,255,255,.012) 0px, rgba(255,255,255,.012) 1px, transparent 1px, transparent 3px);
  mix-blend-mode:overlay;
}

/* ============ TOPBAR ============ */
.topbar{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px;
  padding:14px 22px;
  background:rgba(5,7,10,.92); backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.brand{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;letter-spacing:.02em;}
.brand-mark{color:var(--green);font-size:13px;}
.brand-name em{font-style:normal;color:var(--cyan);}

.ticker{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.ticker-item{display:flex;align-items:baseline;gap:8px;padding:4px 10px;border:1px solid var(--line);border-radius:3px;background:var(--panel);}
.ticker-sym{color:var(--text-dim);font-size:10px;letter-spacing:.12em;}
.ticker-price{font-weight:600;font-size:14px;font-variant-numeric:tabular-nums;}
.ticker-chg{font-size:11px;font-variant-numeric:tabular-nums;}
.ticker-chg.up{color:var(--green);}
.ticker-chg.down{color:var(--red);}
.ticker-status{font-size:10px;color:var(--text-dimmer);letter-spacing:.08em;text-transform:uppercase;}
.ticker-status.live{color:var(--green);}
.ticker-status.live::before{content:'● ';}
.ticker-status.err{color:var(--red);}

/* ============ MAIN LAYOUT ============ */
main{padding:20px 22px 60px;max-width:1700px;margin:0 auto;}

/* ============ STATS STRIP ============ */
.stats-strip{
  display:flex; flex-wrap:wrap; gap:1px;
  background:var(--line); border:1px solid var(--line); border-radius:4px; overflow:hidden;
  margin-bottom:16px;
}
.stat{flex:1 1 140px;background:var(--panel);padding:10px 16px;display:flex;flex-direction:column;gap:4px;}
.stat-label{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);}
.stat-value{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums;}
.stat-value.pos{color:var(--green);}
.stat-value.neg{color:var(--red);}

/* ============ TOOLBAR ============ */
.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:12px;}
.btn{
  font-family:var(--font-mono);font-size:11.5px;font-weight:600;letter-spacing:.04em;
  padding:9px 18px;border-radius:3px;border:1px solid transparent;cursor:pointer;
  transition:filter .15s ease, border-color .15s ease;
}
.btn-primary{background:var(--green);color:#04170d;}
.btn-primary:hover{filter:brightness(1.1);}
.btn-ghost{background:transparent;border-color:var(--line-strong);color:var(--text-dim);}
.btn-ghost:hover{border-color:var(--cyan);color:var(--cyan);}
.btn-small{padding:7px 12px;font-size:10.5px;}

.toolbar-defaults{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 12px;border:1px solid var(--line);border-radius:3px;background:var(--panel);}
.mini-field{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--text-dim);}
.mini-field input{
  width:52px;background:var(--panel-2);border:1px solid var(--line);border-radius:2px;
  padding:4px 6px;color:var(--text);font-size:11px;text-align:right;font-variant-numeric:tabular-nums;
}
.mini-field input:focus{outline:none;border-color:var(--cyan);}

.funding-help{
  max-width:820px;margin:0 0 16px;padding:14px 18px;border:1px solid var(--line);border-radius:4px;
  background:var(--panel);font-size:11.5px;color:var(--text-dim);line-height:1.7;
}
.funding-help strong{color:var(--amber);}
.funding-help ul{margin:8px 0 8px 18px;}
.funding-help b{color:var(--text);}
.funding-help-note{font-size:10.5px;font-style:italic;opacity:.85;}

/* ============ TABLE ============ */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:4px;background:var(--panel);-webkit-overflow-scrolling:touch;}
.scroll-hint{display:none;text-align:center;font-size:10.5px;color:var(--text-dim);margin:8px 0 4px;letter-spacing:.04em;}
@media(max-width:760px){.scroll-hint{display:block;}}
.trades-table{border-collapse:collapse;width:100%;min-width:2150px;font-size:11.5px;}
.trades-table thead th{
  position:sticky;top:0;z-index:5;
  background:var(--panel-2);color:var(--text-dim);font-weight:500;
  font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;text-align:right;
  padding:9px 8px;border-bottom:1px solid var(--line-strong);border-right:1px solid var(--line);
  white-space:nowrap;cursor:help;
  -webkit-touch-callout:none;-webkit-user-select:none;user-select:none;
}
.trades-table thead th:first-child,.trades-table thead th:nth-child(2),.trades-table thead th:nth-child(3){text-align:left;}
.trades-table tbody td{
  padding:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);
  text-align:right;white-space:nowrap;
}
.trades-table tbody tr:nth-child(even){background:var(--row-alt);}
.trades-table tbody tr:hover{background:#141a22;}
.trades-table td:first-child,.trades-table td:nth-child(2),.trades-table td:nth-child(3){text-align:left;}

.cell-input{
  width:100%;min-width:64px;background:transparent;border:0;color:var(--text);
  padding:8px 8px;text-align:right;font-family:var(--font-mono);font-size:11.5px;font-variant-numeric:tabular-nums;
}
.cell-input:focus{outline:none;background:#182029;}
.cell-input::placeholder{color:var(--text-dimmer);font-style:italic;opacity:1;}
td:first-child .cell-input,td:nth-child(2) .cell-input,td:nth-child(3) .cell-input{text-align:left;}
.cell-select{
  width:100%;min-width:76px;background:transparent;border:0;color:var(--text);padding:8px 6px;
  font-family:var(--font-mono);font-size:11.5px;cursor:pointer;
}
.cell-select:focus{outline:none;background:#182029;}
td:nth-child(3) .cell-select{min-width:132px;}
.cell-computed{
  display:block;padding:8px 8px;color:var(--text-dim);font-variant-numeric:tabular-nums;
  -webkit-touch-callout:none;-webkit-user-select:none;user-select:none;
}
.cell-computed.pos{color:var(--green);}
.cell-computed.neg{color:var(--red);}
.cell-computed.strong{color:var(--text);font-weight:600;}

.dir-pill{
  display:inline-block;padding:3px 8px;border-radius:2px;font-size:10px;font-weight:700;letter-spacing:.05em;
}
.dir-pill.LONG{background:var(--green-dim);color:var(--green);}
.dir-pill.SHORT{background:var(--red-dim);color:var(--red);}

.row-del{background:none;border:0;color:var(--text-dimmer);cursor:pointer;font-size:14px;padding:8px;}
.row-del:hover{color:var(--red);}

.table-empty{padding:28px;text-align:center;color:var(--text-dimmer);font-size:12px;}

/* ============ FOOTER ============ */
.disclaimer{max-width:900px;margin:22px auto 0;text-align:center;font-size:10.5px;color:var(--text-dimmer);line-height:1.7;}

@media(max-width:760px){
  .topbar{padding:12px 16px;}
  main{padding:16px 12px 40px;}
  .stat{flex:1 1 45%;}
}

/* ============ CUSTOM TOOLTIP (hover on desktop, long-press on mobile) ============ */
.yt-tooltip{
  position:fixed;z-index:2000;max-width:280px;
  background:#12161d;color:var(--text);border:1px solid var(--cyan);
  border-radius:3px;padding:10px 13px;font-size:11px;line-height:1.65;
  font-family:var(--font-mono);box-shadow:0 10px 30px rgba(0,0,0,.55);
  pointer-events:none;opacity:0;transform:translateY(4px);
  transition:opacity .12s ease,transform .12s ease;
}
.yt-tooltip.visible{opacity:1;transform:translateY(0);}
