:root {
  --bg: #000;
  --panel: rgba(9, 11, 13, 0.74);
  --raise: rgba(255, 255, 255, 0.06);
  --ink: #d4d4d4;
  --dim: #8c8c8c;
  --faint: #555;
  --line: #262626;
  --up: #ffb547;
  --down: #ff4f9a;
  --link: #38c8ff;
  --sel: #ffffff;
  --font: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", sans-serif;
  --mono: ui-monospace, "SF Mono", Menlo, monospace;
}
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; background: var(--bg); color: var(--ink); font: 14px/1.45 var(--font); overflow: hidden; }
button, input, select { font: inherit; color: inherit; }
button { background: none; border: 0; cursor: pointer; padding: 0; }
input, select { background: var(--raise); border: 0; border-radius: 4px; padding: 5px 8px; outline: none; }
input:focus-visible, select:focus-visible, button:focus-visible { outline: 1px solid var(--dim); outline-offset: 1px; }
.mono { font-family: var(--mono); font-variant-numeric: tabular-nums; }
.dim { color: var(--dim); }

header { position: fixed; inset: 0 0 auto 0; height: 44px; display: flex; align-items: center; gap: 14px; padding: 0 16px; z-index: 5; }
#views { display: flex; flex: none; gap: 2px; }
header button, header select { white-space: nowrap; }
header > .seg, #web-z, #jump, #lang, #layer { flex: none; }
#status { overflow: hidden; text-overflow: ellipsis; }
#views button { color: var(--dim); padding: 4px 6px; }
#views button.on { color: var(--ink); }
#jump { width: 120px; font-family: var(--mono); }
#web-z { width: 44px; font-family: var(--mono); }
#status { margin-left: auto; color: var(--dim); font-size: 12px; white-space: nowrap; }
#lang { width: auto; font-size: 12px; padding: 3px 6px; }

main, .view, canvas { position: absolute; inset: 0; }
main { top: 44px; }  /* below the header, so the scene never draws behind its controls */
.view { display: none; }
.view.on { display: block; }
canvas { width: 100%; height: 100%; display: block; }
#layer-labels { position: absolute; inset: 0; pointer-events: none; font: 11px var(--mono); color: var(--faint); }
#layer-labels span { position: absolute; transform: translate(-50%, -50%); padding: 2px 4px; white-space: nowrap; pointer-events: auto; cursor: pointer; }
#layer-labels span:hover { color: var(--ink); }
#layer-labels span.data { color: var(--dim); }

.float { position: fixed; background: var(--panel); -webkit-backdrop-filter: blur(14px) saturate(1.2); backdrop-filter: blur(14px) saturate(1.2); border-radius: 4px; box-shadow: 0 10px 40px rgba(0,0,0,.6); z-index: 4; }
#list { top: 52px; left: 12px; bottom: 12px; width: 380px; display: flex; flex-direction: column; }
#list-head { display: flex; align-items: center; gap: 10px; padding: 10px; }
#list-head input[type=text], #filter { flex: 1; }
#list-head label { font-size: 12px; display: flex; gap: 4px; align-items: center; white-space: nowrap; }
.rows { list-style: none; margin: 0; padding: 0 0 8px; overflow-y: auto; flex: 1; }
.rows li { display: grid; grid-template-columns: 52px 40px 1fr; gap: 8px; padding: 4px 10px; cursor: pointer; align-items: baseline; }
.rows li:hover { background: var(--raise); }
.rows li.sel { background: rgba(56, 200, 255, 0.12); }
.rows .n { font: 12px var(--mono); }
.rows .z { font: 12px var(--mono); color: var(--dim); text-align: right; }
.rows .w { color: var(--dim); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 13px; }
.rows .w b { color: var(--ink); font-weight: 500; }
.rows li.random .n { color: var(--faint); }
.rows li.below .z { color: var(--faint); }

#focus { top: 52px; right: 12px; bottom: 12px; width: min(600px, 42vw); display: none; flex-direction: column; }
#focus.on { display: flex; }
#focus-head { padding: 12px 12px 0; }
#list:not(.has-focus) #focus-head { display: none; }
.id-line { display: flex; gap: 12px; align-items: baseline; font-size: 12px; }
#f-close { margin-left: auto; color: var(--dim); font-size: 18px; line-height: 1; }
#f-name { display: block; width: 100%; box-sizing: border-box; margin: 6px 0 10px; padding: 2px 0; background: none; border: 0; outline: none; color: var(--ink); font: 600 20px/1.3 var(--font); border-radius: 0; resize: none; overflow: hidden; overflow-wrap: anywhere; transition: box-shadow .4s; }
#f-name.saved { box-shadow: 0 1px 0 #3c7a4b; }
#tabs { display: flex; align-items: baseline; gap: 18px; padding: 10px 16px 0; }
#tabs #a-agent { margin-left: auto; font-size: 11px; background: none; border: 0; color: var(--dim); cursor: pointer; }
#tabs #a-past { font-size: 11px; }
#tabs #a-new { font-size: 11px; }
#tabs #a-past.on { color: var(--ink); }
#focus:not(.on-claude) #a-new, #focus:not(.on-claude) #a-past, #focus:not(.on-claude) #a-agent { display: none; }
.a-pastrow { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; width: 100%; text-align: left; padding: 8px 10px; border-radius: 6px; }
.a-pastrow:hover { background: var(--raise); }
.a-pastrow.on { background: var(--raise); }
.a-pastrow .t { font-size: 13.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.a-pastrow .m { font: 11px var(--mono); color: var(--faint); }
#tabs button.fresh::after { content: ""; display: inline-block; width: 5px; height: 5px; margin-left: 5px; border-radius: 50%; background: var(--link); vertical-align: middle; }
#tabs button { color: var(--dim); padding: 6px 0; }
#tabs button.on { color: var(--ink); box-shadow: inset 0 -2px 0 var(--ink); }
.tab { display: none; overflow-y: auto; flex: 1; padding: 14px 16px 16px; }
.tab.on { display: block; }

/* examples grid */
.grid { display: grid; gap: 1px; background: rgba(255,255,255,0.07); }
.grid > div { background: #0a0c0e; padding: 8px 10px; font-size: 12.5px; line-height: 1.4; }
.grid .h { font: 11px var(--mono); color: var(--dim); background: #0a0c0e; }
.grid .h.up { color: var(--up); } .grid .h.down { color: var(--down); }
.grid .cell { max-height: 9.8em; overflow: hidden; cursor: pointer; white-space: pre-wrap; word-break: break-word; }
.grid .cell.open { max-height: none; }
.grid .cell.base { color: var(--dim); }
.grid .cell.capped::after { content: " …"; color: var(--faint); }

/* chat */
#chat-controls { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.seg { display: inline-flex; background: var(--raise); border-radius: 4px; padding: 2px; }
.seg button { padding: 3px 10px; border-radius: 3px; color: var(--dim); }
.seg button.on { background: rgba(255,255,255,0.14); color: var(--ink); }
.stepper { display: inline-flex; align-items: center; background: var(--raise); border-radius: 4px; }
.stepper button { padding: 3px 10px; color: var(--dim); }
.stepper input { width: 4.2em; text-align: center; background: none; padding: 3px 0; }
#c-form { display: flex; gap: 8px; margin: 12px 0; }
#c-input { flex: 1; padding: 8px 10px; }
#c-go { background: var(--raise); padding: 0 16px; border-radius: 4px; min-width: 64px; }
#c-reads { display: none; line-height: 2; font-size: 14px; }
#c-reads span { padding: 2px 1px; border-radius: 2px; white-space: pre-wrap; }
.tab.reads #c-reads { display: block; }

/* details */
.dtable { border-collapse: collapse; font-size: 13px; margin-bottom: 22px; }
.dtable th.num { text-align: right; }
.dtable th { text-align: left; font-weight: 400; color: var(--dim); font-size: 12px; padding: 4px 18px 6px 0; }
.dtable td { padding: 3px 18px 3px 0; vertical-align: top; }
.dtable td.num { font-family: var(--mono); font-variant-numeric: tabular-nums; text-align: right; }
.lens { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; font-size: 13px; }
.lens .tok, .crumbs .tok { font-family: var(--mono); display: inline-block; background: var(--raise); border-radius: 3px; padding: 1px 5px; margin: 0 4px 4px 0; white-space: pre; }
.lens .up .lab { color: var(--up); } .lens .down .lab { color: var(--down); }
#d-con-wrap .lab, .lens .con-lab { color: var(--link); }
.lab { font: 11px var(--mono); color: var(--dim); margin-bottom: 6px; }
.slot { color: var(--dim); font-size: 13px; }

/* embeddings */
#embed-empty { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.rows li.unswept .w, .rows li.unswept .n { opacity: 0.45; }
#embed-bar { position: absolute; left: 404px; top: 8px; z-index: 3; }
body.list-hidden #embed-bar { left: 56px; }
#tip { display: none; max-width: 520px; padding: 12px 14px; font-size: 15px; line-height: 1.5; pointer-events: none; white-space: pre-wrap; z-index: 6; }
#tip .lab { font-size: 12.5px; color: var(--link); }
#tip .lab { margin-bottom: 4px; }

@media (max-width: 1100px) {
  header { gap: 8px; padding: 0 10px; }
  header #lens-q { width: 180px; }
  #jump { width: 96px; }
}
@media (max-width: 900px) {
  header { overflow-x: auto; scrollbar-width: none; }
  header::-webkit-scrollbar { display: none; }
  #lang { position: sticky; right: 0; background: var(--bg); box-shadow: -10px 0 14px var(--bg); }
}
@media (max-width: 760px) {
  #list { width: auto; right: 12px; bottom: auto; max-height: 40vh; }
  #focus { left: 12px; width: auto; top: 52px; }
  #embed-bar { left: 12px; top: auto; bottom: 12px; }
}

tr.con { cursor: pointer; }
tr.con:hover td { background: var(--raise); }
tr.con .tok { font-size: 11.5px; }
.faint { color: var(--faint); font-size: 11px; white-space: nowrap; }

#list.hidden, #focus.collapsed { display: none !important; }
.edge { color: var(--dim); font-size: 16px; line-height: 1; padding: 0 4px; }
#f-collapse { margin-left: auto; }
#focus.on-claude #f-collapse { margin-left: 0; }
.tab-edge { position: fixed; top: 52px; z-index: 4; display: none; background: var(--panel); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  border-radius: 4px; color: var(--dim); padding: 8px 10px; font-size: 13px; }
.tab-edge.left { left: 12px; }
.tab-edge.right { right: 12px; }
.tab-edge.on { display: block; }
.tab-edge:hover { color: var(--ink); }
#tabs button.on { box-shadow: inset 0 -2px 0 var(--link); }

#tip .tl { white-space: pre-wrap; }
#tip .sgn { display: inline-block; width: 1.1em; font-family: var(--mono); }
#tip .sgn.up { color: var(--up); } #tip .sgn.down { color: var(--down); }
#tip .tname { font-weight: 600; }
#tip .twords { color: var(--dim); margin-bottom: 4px; }

#lens-q { width: 200px; }
.rows li.res { grid-template-columns: 92px 34px 1fr; }
.rows li.res .sg { font: 12px var(--mono); text-align: right; }
.rows li.res .sg.up { color: var(--up); } .rows li.res .sg.down { color: var(--down); }
.rows .head { display: block; padding: 2px 10px 8px; color: var(--dim); font-size: 12px; cursor: default; }
.rows .head:hover { background: none; }

.dtable td.pole { font-family: var(--mono); padding-right: 6px; }
.dtable td.pole.up { color: var(--up); } .dtable td.pole.down { color: var(--down); }
#d-con-wrap .lab { color: var(--link); }

#layer-back { position: fixed; top: 52px; left: 404px; z-index: 4; display: none; background: var(--panel);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-radius: 4px; padding: 6px 12px; font: 13px var(--mono); color: var(--dim); }
#layer-back.on { display: block; }
#layer-back:hover { color: var(--ink); }
body.list-hidden #layer-back { left: 56px; }

#c-lens { margin-bottom: 12px; font-size: 13.5px; line-height: 1.55; min-height: 2.6em; }
#c-lens .sgn { display: inline-block; width: 1.1em; font-family: var(--mono); }
#c-lens .sgn.up { color: var(--up); } #c-lens .sgn.down { color: var(--down); }

/* chat as a thread: lens on top, turns in the middle, composer at the bottom */
#tab-chat.on { display: flex; flex-direction: column; overflow: hidden; padding-bottom: 12px; }
#c-thread { flex: 1; overflow-y: auto; min-height: 0; padding-right: 4px; }
#tab-chat.reads #c-thread { display: none; }
#tab-chat.reads #c-reads { flex: 1; overflow-y: auto; }
#c-form { display: block; margin: 10px 0 0; }
#c-form .row { display: flex; gap: 8px; margin-top: 8px; }
#c-clear { margin-left: auto; font-size: 13px; }
.turn { margin-bottom: 18px; }
.turn .user { margin: 0 0 10px auto; max-width: 80%; width: fit-content; background: var(--raise); border-radius: 6px;
  padding: 7px 11px; white-space: pre-wrap; }
.turn .user .recipe { display: block; font: 11px var(--mono); color: var(--faint); margin-top: 3px; }
.turn .cols { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 14px; align-items: start; }
.turn .col { white-space: pre-wrap; word-break: break-word; font-size: 13px; padding-left: 10px; box-shadow: inset 2px 0 0 var(--faint); }
.turn .col.up { box-shadow: inset 2px 0 0 var(--up); }
.turn .col.down { box-shadow: inset 2px 0 0 var(--down); }
.turn .col.zero { color: var(--dim); }
.turn .col.live::after { content: "▍"; color: var(--faint); }
.turn .err { grid-column: 1 / -1; color: #e06c6c; font-size: 12px; }
@media (max-width: 760px) { .turn .cols { grid-template-columns: 1fr; } }

.turn .col .lab { display: block; font: 11px var(--mono); color: var(--dim); margin-bottom: 4px; }

#lens-q { width: 260px; }
.rows li.res .tk { color: var(--ink); font-family: var(--mono); font-size: 12px; margin-right: 6px; }

#infer { padding: 0 10px 8px; }
#inf-text { display: block; width: calc(100% - 20px); box-sizing: border-box; resize: vertical; margin: 8px 10px 4px; background: var(--raise); border: 0; border-radius: 4px; padding: 6px 8px; color: var(--ink); font: 13px/1.4 var(--font); outline: none; }
#inf-toks { display: flex; flex-wrap: wrap; gap: 3px; margin-bottom: 8px; max-height: 120px; overflow-y: auto; }
#inf-toks button { font: 12px var(--mono); background: var(--raise); border-radius: 3px; padding: 1px 4px; white-space: pre; color: var(--dim); }
#inf-toks button.on { background: rgba(56, 200, 255, 0.22); color: var(--ink); }
#inf-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
#inf-filters input { width: 3em; padding: 3px 5px; font: 12px var(--mono); text-align: center; }
#inf-filters #inf-q { width: auto; flex: 1; min-width: 80px; text-align: left; font-family: var(--font); }
#inf-filters .lab { margin: 0; }

#c-lens .words { color: var(--dim); margin-bottom: 2px; }

.faintline { opacity: 0.5; }

/* claude tab: one chat thread, input at the bottom */
#tab-claude.on { display: flex; flex-direction: column; overflow: hidden; padding: 0; }
#a-actions { display: flex; gap: 6px; flex-wrap: wrap; padding: 8px 12px 0; border-top: 1px solid var(--raise); }
#a-actions:empty { display: none; }
#a-actions button { font: 12px var(--mono); color: var(--dim); background: var(--raise); border-radius: 12px; padding: 3px 10px; }
#a-actions button:hover { color: var(--ink); }
#a-thread { flex: 1; min-height: 0; overflow-y: auto; padding: 12px 16px; display: flex; flex-direction: column; gap: 14px; }
.a-empty { margin: auto; font-size: 14px; text-align: center; }
.a-msg { max-width: 100%; }
.a-msg.user { align-self: flex-end; max-width: 85%; background: rgba(255,255,255,0.1); padding: 7px 11px; border-radius: 10px 10px 2px 10px; white-space: pre-wrap; font-size: 15px; line-height: 1.45; }
.a-msg.user.interp { font: 12px var(--mono); color: var(--dim); background: var(--raise); }
.a-md { font-size: 15px; line-height: 1.55; }
.a-md h1, .a-md h2, .a-md h3 { font-size: 15px; margin: 10px 0 4px; }
.a-md p { margin: 6px 0; }
.a-md ul { margin: 4px 0; padding-left: 20px; }
.a-md li { margin: 2px 0; }
.a-md code { font: 13px var(--mono); background: var(--raise); padding: 0 4px; border-radius: 3px; }
.a-md a.nref { color: var(--ink); text-decoration: underline dotted; cursor: pointer; }
.a-tool { font: 12px var(--mono); color: var(--dim); margin: 4px 0; padding: 2px 8px; border-left: 2px solid var(--faint); }
.a-tool summary { cursor: pointer; list-style: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.a-tool summary::before { content: "⚙ "; color: var(--faint); }
.a-tool[open] summary::before { content: "▾ "; }
.a-io { margin: 4px 0; padding: 6px 8px; background: var(--raise); border-radius: 4px; font: 11px/1.4 var(--mono); color: var(--ink); white-space: pre-wrap; word-break: break-word; max-height: 260px; overflow: auto; }
.a-io.out { color: var(--dim); }
.a-io.err { color: #d77; }
.a-err { color: #d77; font: 12px var(--mono); white-space: pre-wrap; }
.a-busy::after { content: "thinking…"; color: var(--dim); font-size: 13px; }
html[lang="zh-CN"] .a-busy::after { content: "思考中…"; }
#a-usename { margin-top: 6px; font-size: 12px; color: var(--dim); background: var(--raise); padding: 3px 8px; border-radius: 3px; }
#a-form { display: flex; gap: 8px; align-items: flex-end; padding: 8px 12px 12px; }
#a-input { flex: 1; resize: none; max-height: 200px; background: var(--raise); border: 0; border-radius: 8px; padding: 9px 12px; color: var(--ink); font: 15px/1.4 var(--font); outline: none; }
#a-send { width: 34px; height: 34px; border-radius: 50%; background: var(--ink); color: #000; font-size: 16px; font-weight: 700; }
#a-send:disabled { opacity: .3; }

/* web summary at the top of the list */
.rows li.wsum { display: block; padding: 6px 12px 8px; cursor: default; }
.rows li.wsum:hover { background: none; }
.wsum .lab { font-size: 11px; color: var(--dim); margin-bottom: 4px; display: flex; align-items: center; gap: 6px; }
.wsum .sw { width: 8px; height: 8px; border-radius: 50%; }
.wsum .sw.up { background: #ffd133; } .wsum .sw.down { background: #ff40d9; }
.chips { display: flex; flex-wrap: wrap; gap: 3px; }
.chip { font: 11.5px var(--mono); background: var(--raise); border-radius: 3px; padding: 1px 5px; cursor: pointer; white-space: pre; }
.chip:hover { background: rgba(255,255,255,0.14); }
.chip i { font-style: normal; color: var(--faint); margin-left: 4px; font-size: 10px; }
.nline { display: flex; gap: 8px; align-items: baseline; padding: 1px 0; cursor: pointer; font-size: 12.5px; }
.nline:hover { background: var(--raise); }
.nline .id { font: 11px var(--mono); color: var(--faint); flex: none; width: 74px; }
.nline .w { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nline .z { font: 11px var(--mono); color: var(--faint); font-variant-numeric: tabular-nums; }

/* connections: each linked neuron's logit lens, faint, under its steer lens */
tr.con .logit { margin-top: 2px; opacity: .5; }
tr.con .logit .tok { font-size: 10.5px; }

/* Claude's annotations on the map: .note is a zero-size anchor at the neuron */
#layer-labels .note { position: absolute; width: 0; height: 0; pointer-events: none; }
#layer-labels .note::before { content: ""; position: absolute; left: -7px; top: -7px; width: 10px; height: 10px; border-radius: 50%; border: 2px solid #ffd133; }
#layer-labels .note span { position: absolute; left: 12px; top: 0; transform: translateY(-50%); white-space: nowrap; max-width: 260px; overflow: hidden; text-overflow: ellipsis;
  padding: 3px 7px; border-radius: 4px; background: rgba(15, 17, 20, 0.85); border-left: 2px solid #ffd133; color: var(--ink); font: 12px/1.35 var(--font); }

/* chat attachments and turn controls */
#a-attach { width: 30px; height: 34px; color: var(--dim); font-size: 15px; }
#a-attach:hover { color: var(--ink); }
#a-files { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 12px; }
#a-files:empty { display: none; }
.a-file { font: 11.5px var(--mono); background: var(--raise); border-radius: 10px; padding: 2px 4px 2px 9px; color: var(--ink); }
.a-file button { color: var(--dim); margin-left: 4px; }
.a-file.up { opacity: .5; }
.a-att { display: block; font: 11px var(--mono); color: var(--dim); margin-top: 4px; }
#tab-claude.drop { outline: 2px dashed var(--dim); outline-offset: -6px; }
.a-ctl { display: flex; gap: 10px; margin-top: 6px; }
.a-ctl button { font: 11.5px var(--mono); color: var(--dim); }
.a-ctl button:hover { color: var(--ink); }
.a-msg.user .a-ctl { justify-content: flex-end; }

/* long unbroken runs in pasted text (---- rules, box drawing, URLs) wrap inside the chat instead of widening it */
#a-thread { overflow-x: hidden; }
.a-msg, .a-md, .a-msg.user { min-width: 0; overflow-wrap: anywhere; }
.a-md pre, .a-md code { white-space: pre-wrap; overflow-wrap: anywhere; }

/* stop / queue */
#a-send.stop { background: #d77; color: #000; font-size: 12px; }
.a-msg.user.queued { opacity: .6; border: 1px dashed var(--faint); }
.a-qctl { display: flex; gap: 10px; justify-content: flex-end; margin-top: 4px; font: 11px var(--mono); color: var(--dim); }
.a-qctl button { color: var(--ink); font: 11px var(--mono); }
.a-stopped { font: 11px var(--mono); color: var(--dim); margin-top: 4px; }

.crumbs { margin-bottom: 22px; font-size: 13px; }

/* left panel: net (the open neuron's web, then the list) | run (text through the model) */
#ltabs { display: flex; align-items: baseline; gap: 14px; padding: 6px 12px 2px; }
#ltabs button[data-lt] { font: 11px var(--mono); color: var(--faint); padding: 2px 0; }
#ltabs button[data-lt].on { color: var(--dim); }
#ltabs button.fresh::after { content: ""; display: inline-block; width: 4px; height: 4px; margin-left: 4px; border-radius: 50%; background: var(--link); vertical-align: middle; }
#ltabs #list-hide { margin-left: auto; }
.lpane { display: none; flex: 1; min-height: 0; flex-direction: column; }
.lpane.on { display: flex; }
#lt-net { overflow-y: auto; }
#lt-net .rows { flex: none; overflow: visible; }
#lt-run .rows { flex: 1; overflow-y: auto; }
#net .head { padding: 2px 12px 8px; color: var(--dim); font-size: 12px; }
#net .wsum { padding: 6px 12px 8px; }
#net .lrow { display: flex; gap: 6px; align-items: baseline; margin-bottom: 3px; }
#net .lrow .sgn { flex: none; width: 1em; font-family: var(--mono); }
#net .lrow .sgn.up { color: var(--up); } #net .lrow .sgn.down { color: var(--down); }

/* FineFineWeb contexts: left context clipped at its start, peak centred, then domain and peak activation */
.ex .ctx { display: flex; align-items: baseline; gap: 0; font-size: 12px; line-height: 1.55; white-space: pre; cursor: default; }
.ex .ctx .l { flex: 1 1 0; min-width: 0; overflow: hidden; display: flex; justify-content: flex-end; color: var(--dim); }
.ex .ctx .p { flex: none; color: var(--sel); }
.ex .ctx .r { flex: 1 1 0; min-width: 0; overflow: hidden; color: var(--dim); }
.ex .ctx span span { border-radius: 2px; }
.ex .ctx .d { flex: none; width: 92px; margin-left: 8px; overflow: hidden; text-overflow: ellipsis; font: 10.5px var(--mono); color: var(--faint); }
.ex .ctx .v { flex: none; width: 34px; text-align: right; font: 10.5px var(--mono); color: var(--faint); font-variant-numeric: tabular-nums; }
.ex .lrow { margin-top: 6px; }
.ex .chip { cursor: default; } .ex .chip:hover { background: var(--raise); }
