/* Read-only market observations and the spider's public notebook. */
.spider-hit-target { position:fixed; z-index:37; width:68px; height:68px; padding:0; transform:translate(-50%,-50%); border:1px solid transparent; border-radius:50%; background:transparent; cursor:pointer; touch-action:manipulation; }
.spider-hit-target:hover,.spider-hit-target:focus-visible { border-color:rgba(224,226,220,.72); background:rgba(224,226,220,.035); }
.spider-hit-target:focus-visible { outline-offset:2px; }
dialog.spider-dialog { width:min(880px,calc(100% - 28px)); max-width:none; max-height:min(840px,calc(100dvh - 28px)); margin:auto; padding:0; overflow:hidden; border:1px solid #555a56; border-radius:2px; color:var(--ink); background:#101111; box-shadow:0 30px 100px rgba(0,0,0,.68); }
dialog.spider-dialog::backdrop { background:rgba(0,0,0,.76); backdrop-filter:blur(3px); }
.spider-card { display:grid; grid-template-rows:auto auto auto minmax(0,1fr) auto; max-height:min(840px,calc(100dvh - 28px)); }
.spider-head { display:flex; align-items:flex-start; justify-content:space-between; gap:22px; padding:22px 26px 12px; }
.spider-head .eyebrow { margin:0 0 8px; font-size:9px; }
.spider-head h2 { margin:0; font-size:clamp(26px,3.6vw,38px); }
.spider-close { flex:0 0 auto; border:1px solid #494c4a; padding:7px 10px; color:#c6c8c3; font:10px var(--mono); }
.spider-close:hover { border-color:#aeb2ac; color:#fff; }
.spider-disclosure { padding:0 26px 17px; color:#b8bbb6; font-size:12px; }
.spider-status { display:flex; flex-wrap:wrap; gap:28px; padding:11px 26px; border-top:1px solid #303333; border-bottom:1px solid #303333; }
.spider-status>div { display:grid; gap:3px; }
.spider-status b { color:#ecece6; font:11px var(--mono); }
.spider-columns { display:grid; grid-template-columns:1.1fr .9fr; min-height:0; }
.spider-section { display:grid; grid-template-rows:auto minmax(0,1fr); min-height:0; }
.spider-section+.spider-section { border-left:1px solid #303333; }
.spider-section-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:15px 20px 11px; border-bottom:1px solid #303333; }
.spider-section-head h3 { color:#f0f0eb; font-size:16px; font-weight:500; }
.spider-section-head .k { font-size:8px; text-align:right; }
.spider-scroll { min-height:0; max-height:min(40vh,420px); overflow:auto; padding:14px 20px 20px; }
.spider-note { padding:9px 0; border-bottom:1px solid #272a28; color:#d4d6d0; font:12px/1.65 var(--mono); white-space:pre-wrap; overflow-wrap:anywhere; }
.spider-note:last-child { border-bottom:0; }
.spider-empty { color:#999e98; font-size:12px; line-height:1.7; }
.spider-watch-row { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:12px; padding:9px 0; border-bottom:1px solid #272a28; }
.spider-watch-symbol { min-width:0; overflow:hidden; color:#ecece6; font:11px var(--mono); text-overflow:ellipsis; white-space:nowrap; }
.spider-watch-meta { color:#aeb2ac; font:10px/1.6 var(--mono); text-align:right; }
.spider-foot { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:13px 20px; border-top:1px solid #303333; }
.spider-foot a { color:#e5e6e0; font:10px var(--mono); letter-spacing:.04em; text-transform:uppercase; }
.spider-foot .k { font-size:8px; text-align:right; }
.pump-activity { margin-top:34px; }
.pump-activity-head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding:17px 0; border-top:1px solid #444844; }
.pump-activity-head .eyebrow { margin:0 0 8px; font-size:9px; }
.pump-activity-head h3 { margin-bottom:7px; font-size:24px; font-weight:500; letter-spacing:-.03em; }
.pump-activity-head p:not(.eyebrow) { max-width:60ch; color:var(--ink2); font-size:12px; }
.pump-activity-head .k { flex-shrink:0; padding-top:2px; font-size:9px; }
.pump-activity-scroll { max-width:100%; max-height:360px; overflow:auto; border:1px solid #303333; }
.pump-activity-table { width:100%; min-width:580px; border-collapse:collapse; text-align:left; font:11px var(--mono); }
.pump-activity-table th,.pump-activity-table td { padding:12px 14px; border-bottom:1px solid #303333; white-space:nowrap; }
.pump-activity-table th { color:var(--dim); font-size:9px; font-weight:400; text-transform:uppercase; letter-spacing:.08em; }
.pump-activity-table td { font-variant-numeric:tabular-nums; }
.pump-activity-table .pump-coin { max-width:170px; overflow:hidden; text-overflow:ellipsis; }
.pump-activity-table .pump-activity-empty { white-space:normal; color:var(--dim); padding:24px 14px; }
.pump-activity-coverage { padding-top:10px; color:var(--dim); font:10px/1.65 var(--mono); }
.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; }
@media(max-width:640px) {
  dialog.spider-dialog { width:calc(100% - 18px); max-height:calc(100dvh - 18px); }
  .spider-card { max-height:calc(100dvh - 18px); }
  .spider-head { padding:17px 16px 10px; gap:12px; }
  .spider-disclosure { padding:0 16px 13px; }
  .spider-status { gap:18px; padding:10px 16px; }
  .spider-columns { grid-template-columns:1fr; grid-template-rows:minmax(0,1fr) minmax(0,1fr); }
  .spider-section+.spider-section { border-top:1px solid #303333; border-left:0; }
  .spider-section-head { padding:11px 16px 8px; }
  .spider-scroll { max-height:26dvh; padding:10px 16px 14px; }
  .spider-note { padding:7px 0; font-size:11px; }
  .spider-watch-row { grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:8px; }
  .spider-foot { padding:11px 16px; }
  .spider-foot .k { max-width:17ch; }
  .pump-activity-head { flex-wrap:wrap; gap:12px; }
}