/* pump.fun's Holders tab: chips + search, then a compact sortable table. Sizes are pump's real pixels times --pz, which
   undoes the desktop page scale (html zoom .75 from 1100px), so a 14px label reads 14px on screen. Colours are tokens only. */
.th-holders{--pz:1;min-width:0;color:var(--ink);background:var(--bg);font:calc(13px * var(--pz)) var(--sans)}
.th-holder-toolbar{display:flex;align-items:center;justify-content:space-between;gap:calc(10px * var(--pz));padding:calc(10px * var(--pz)) calc(12px * var(--pz))}.th-holder-filters{display:flex;align-items:center;flex-wrap:wrap;gap:calc(6px * var(--pz));min-width:0}
.th-chip{display:inline-flex;align-items:center;gap:calc(6px * var(--pz));height:calc(28px * var(--pz));padding:0 calc(10px * var(--pz));border:1px solid var(--line-2);border-radius:calc(7px * var(--pz));background:transparent;color:var(--muted);font:500 calc(12px * var(--pz))/1 var(--sans);white-space:nowrap;cursor:pointer;box-shadow:none;transform:none}.th-chip:hover{color:var(--ink);border-color:color-mix(in srgb,var(--brand) 45%,var(--line-2))}
.th-chip[aria-pressed=true]{color:var(--brand-ink);background:var(--brand-sheen-sm);border-color:transparent;box-shadow:var(--brand-bevel,none)}.th-chip-count{color:var(--muted);font-variant-numeric:tabular-nums}.th-chip-count:empty{display:none}.th-chip[aria-pressed=true] .th-chip-count{color:var(--brand-ink)}
/* white boxes with brown text (owner, 30 Sep); the chosen one keeps its white with a brown ring and bolder text */
.th-chip{background:#fff;color:var(--brand-shade);border-color:transparent;font-weight:600}.th-chip:hover{color:var(--brand-deep);border-color:transparent;filter:brightness(.96)}
.th-chip[aria-pressed=true]{background:#fff;color:var(--brand-deep);box-shadow:inset 0 0 0 2px var(--brand-shade);font-weight:800}
.th-chip .th-chip-count,.th-chip[aria-pressed=true] .th-chip-count{color:var(--brand-shade)}
.th-holder-search{flex:0 1 calc(230px * var(--pz));min-width:120px;height:calc(28px * var(--pz));padding:0 calc(10px * var(--pz));border:1px solid var(--line-2);border-radius:calc(7px * var(--pz));background:var(--panel);color:var(--ink);font:calc(12px * var(--pz)) var(--sans)}.th-holder-search::placeholder{color:var(--muted)}.th-holder-search:focus{outline:none;border-color:var(--brand)}
.th-holder-scroll{max-height:calc(460px * var(--pz));overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}
.th-holder-table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-variant-numeric:tabular-nums}
.th-holder-table th{position:sticky;top:0;z-index:1;height:calc(32px * var(--pz));padding:0 calc(12px * var(--pz));background:var(--bg);color:var(--muted);font:500 calc(12px * var(--pz)) var(--sans);border-bottom:1px solid var(--line)}
.th-holder-table td{height:calc(48px * var(--pz));padding:calc(6px * var(--pz)) calc(12px * var(--pz));font:calc(13px * var(--pz)) var(--sans);border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent)}
.th-holder-table th:not(:first-child),.th-holder-number{text-align:right}.th-holder-table tbody tr:hover{background:var(--panel)}.th-holder-table tbody tr:last-child td{border-bottom:0}
.th-sort{display:inline-flex;align-items:center;gap:3px;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;box-shadow:none;transform:none}.th-sort:hover,[aria-sort=ascending] .th-sort,[aria-sort=descending] .th-sort{color:var(--ink)}.th-sort-arrow{min-width:.7em;color:var(--brand-text-solid)}
.th-holder-wallet{min-width:calc(200px * var(--pz));max-width:calc(360px * var(--pz))}.th-holder-identity{display:flex;align-items:center;gap:calc(6px * var(--pz));min-width:0}
.th-holder-person{display:flex;align-items:center;gap:calc(8px * var(--pz));min-width:0;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;font:inherit;cursor:pointer;box-shadow:none;transform:none}.th-holder-person:disabled{opacity:1;color:var(--ink-2);cursor:default}.th-holder-person:not(:disabled):hover .th-holder-name{color:var(--brand);background:var(--brand-sheen-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-decoration:underline;text-underline-offset:3px}
.th-holder-portrait{display:grid;place-items:center;overflow:hidden;flex:none;width:calc(22px * var(--pz));height:calc(22px * var(--pz));border-radius:50%;border:1px solid transparent;background:var(--brand-sheen-sm);color:var(--brand-ink);box-shadow:var(--brand-bevel);font:750 calc(9px * var(--pz)) var(--mono)}.th-holder-portrait img{width:100%;height:100%;object-fit:cover}
.th-holder-name{max-width:calc(150px * var(--pz));overflow:hidden;text-overflow:ellipsis;font-weight:550}.th-holder-address{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font:calc(11px * var(--pz)) var(--mono)}.th-holder-address:empty{display:none}
.th-holder-identity .th-holder-x{--fx-size:calc(10px * var(--pz));margin-left:calc(-2px * var(--pz))}
.th-holder-openable .th-holder-address{cursor:pointer}
/* a Fable account: name, the verified-on-X seal (design D) and @handle; no wallet count here (owner, 29 Sep: that shows
   only in the person's profile and Position window) */
.th-holder-verified{flex:none;width:calc(13px * var(--pz));height:calc(13px * var(--pz));margin-left:calc(-4px * var(--pz))}.th-holder-seal{fill:var(--brand)}.th-holder-tick{fill:none;stroke:var(--brand-mark);stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.th-holder-tags{display:inline-flex;gap:4px;flex:none}.th-holder-tag{color:var(--muted);font:calc(11px * var(--pz)) var(--sans)}.th-holder-tag-mine{color:var(--brand-text-solid)}
.th-holder-copy{border:0;padding:2px;background:transparent;color:var(--muted);font:calc(14px * var(--pz))/1 var(--sans);cursor:pointer;opacity:0;box-shadow:none;transform:none}.th-holder-wallet:hover .th-holder-copy,.th-holder-copy:focus-visible{opacity:1}
.th-holder-you{background:color-mix(in srgb,var(--brand) 6%,var(--bg))}
/* a click anywhere on a person's row opens them (owner, 29 Sep): the whole row points, and its name lights as the name
   button's hover does; rows with no person (illustrative wallets) stay plain */
.th-holder-table tbody tr.th-holder-openable{cursor:pointer}.th-holder-openable:hover .th-holder-name{color:var(--brand);background:var(--brand-sheen-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-decoration:underline;text-underline-offset:3px}
/* Position and Profit: the figure, and small print under it (tokens held in mono; the profit % in the profit's colour) */
.th-holder-main{display:block;line-height:1.25}.th-holder-sub{display:block;margin-top:calc(2px * var(--pz));color:var(--muted);font:calc(11px * var(--pz))/1.2 var(--mono)}.th-holder-profit .th-holder-sub{color:inherit;opacity:.85}
/* Latest fable: the heart over its like count, then the fable clamped to two lines; — when there is none. The column
   asks for 36% and gives way down to 150px (on screen), so a long name and @handle scroll sideways
   no more often than the old six columns did (estimated from the demo's widest rows: none at 1440px, a few at 1280px) */
.th-holder-table th.th-col-fable{text-align:left}.th-col-fable{width:36%;min-width:calc(150px * var(--pz));white-space:normal}.th-col-short{display:none}
.th-fable-word{display:inline-block;white-space:nowrap}
.th-fable-logo{display:inline-block;width:.85em;height:1.45em;object-fit:cover;object-position:50% 50%;vertical-align:-.22em;margin:-.3em .02em -.15em 0;pointer-events:none}
.th-fable{display:flex;align-items:center;gap:calc(8px * var(--pz));min-width:0;max-width:calc(460px * var(--pz))}
.th-fable-like{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(2px * var(--pz));flex:none;min-width:calc(30px * var(--pz));padding:calc(3px * var(--pz)) calc(4px * var(--pz));border:0;border-radius:calc(6px * var(--pz));background:transparent;color:var(--muted);font:500 calc(10.5px * var(--pz))/1 var(--sans);font-variant-numeric:tabular-nums;cursor:pointer;box-shadow:none;transform:none}
.th-fable-like svg{width:calc(15px * var(--pz));height:calc(15px * var(--pz));fill:none;stroke:currentColor;stroke-width:1.35;stroke-linejoin:round;stroke-linecap:round}.th-fable-like:hover,.th-fable-like[aria-pressed=true]{color:var(--brand)}.th-fable-like[aria-pressed=true] svg{fill:color-mix(in srgb,var(--brand) 28%,transparent)}
.th-fable-open{flex:1 1 auto;min-width:0;padding:0;border:0;background:transparent;color:var(--ink-2);text-align:left;font:calc(12.5px * var(--pz))/1.4 var(--sans);cursor:pointer;box-shadow:none;transform:none}.th-fable-open:hover{color:var(--ink)}
.th-fable-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere;white-space:normal}.th-fable-none{color:var(--muted)}
.th-holder-inline-fable{display:none}.th-fable-open:disabled,.th-holder-inline-fable:disabled{cursor:default}
.th-holder-number[data-direction=up]{color:var(--up)}.th-holder-number[data-direction=down]{color:var(--down)}.th-holder-number[data-direction=unknown]{color:var(--muted)}
.th-holder-footer{display:flex;align-items:center;flex-wrap:wrap;gap:calc(6px * var(--pz)) calc(16px * var(--pz));padding:calc(9px * var(--pz)) calc(12px * var(--pz));border-top:1px solid var(--line);color:var(--muted);font:calc(11px * var(--pz)) var(--sans)}
.th-holder-exclusions{display:inline-flex;flex-wrap:wrap;gap:4px calc(12px * var(--pz))}.th-holder-exclusion-title{color:var(--ink-2)}.th-holder-exclusions b{font-weight:500;color:var(--ink-2)}.th-holder-demo{margin-left:auto;font:calc(10px * var(--pz)) var(--mono);letter-spacing:.06em;color:var(--brand-text-solid)}
.th-holder-note{margin:0;padding:0 calc(12px * var(--pz)) calc(10px * var(--pz));color:var(--muted);font:calc(11px * var(--pz))/1.5 var(--sans)}.th-holder-empty{padding:24px 14px;font:calc(13px * var(--pz))/1.6 var(--sans);color:var(--muted)}.th-holder-empty-row td{height:110px;text-align:center;color:var(--muted)}
.th-holders [hidden]{display:none!important}.th-holders :is(button,input,.th-holder-scroll):focus-visible{outline:2px solid var(--brand);outline-offset:2px}.th-holders .sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1100px){.th-holders{--pz:1.3333}}
@media(max-width:900px){.th-holders .th-col-entry{display:none}}
@media(max-width:640px){.th-holder-toolbar{flex-wrap:wrap;gap:8px;padding:8px}.th-holder-search{flex:1 1 100%;order:-1}.th-holder-table td,.th-holder-table th{padding-left:8px;padding-right:8px}.th-holder-scroll{max-height:390px}.th-holder-wallet{min-width:170px}.th-holder-address{display:none}.th-holder-copy{opacity:.7}
  /* the fable moves to one line under the name; its heart stays at the row's end */
  .th-holder-inline-fable{display:block;max-width:min(52vw,260px);margin:3px 0 0 30px;padding:0;border:0;background:transparent;color:var(--ink-2);text-align:left;font:12px/1.35 var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;box-shadow:none;transform:none}
  .th-col-fable{width:auto;min-width:0}.th-holder-table th.th-col-fable{text-align:right}.th-col-full,.th-fable-open{display:none}.th-col-short{display:inline}.th-fable{justify-content:flex-end;max-width:none}}
