/* Finder (formerly Track): connection map and trader search. Direction v8 (1 Oct 2026): the tracked-wallet sidebar is
   gone; the chooser row (current wallet, search, sort) is styled in ui.css. This file keeps the lanes, cards, notes,
   trader results and dialogs. */
.track-count{display:inline-grid;place-items:center;min-width:20px;padding:2px 6px;border-radius:7px;background:var(--surface-inset);color:var(--muted);font-size:10px;font-weight:600;line-height:1.4}
.track-count:empty{display:none}
.track-root-item{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;padding:9px 10px;border-radius:11px;background:transparent;color:var(--ink);text-align:left;font-size:12px;box-shadow:none}
.track-root-item:hover:not(:disabled){transform:none;box-shadow:none;background:var(--surface-inset)}
.track-root-item:focus-visible{z-index:1;outline-offset:-2px}
.track-root-item[aria-current=true]{background:var(--surface)}
.track-root-text{display:flex;flex-direction:column;gap:3px;min-width:0}
.track-root-text strong{font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.track-root-text small{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.track-root-age{flex-shrink:0;margin-left:auto;padding:2px 6px;border-radius:6px;font-size:10px;font-variant-numeric:tabular-nums;color:var(--muted)}
.track-root-age.is-quiet,.root-source .is-quiet{color:var(--danger-ink)}
.track-roots-archive{flex:none;font-size:11px;color:var(--muted)}
.track-roots-archive summary{display:flex;align-items:center;gap:7px;padding:6px 8px;cursor:pointer;width:auto;list-style:none}
.track-roots-archive summary::-webkit-details-marker{display:none}
.track-roots-archive summary:before{content:'›';font-size:15px;line-height:1;color:var(--accent-text);transition:transform .2s}
.track-roots-archive[open] summary:before{transform:rotate(90deg)}
#track-archived-roots{max-height:min(200px,28dvh);overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.track-archived-root{display:flex;align-items:center;gap:4px}
.track-archived-root .track-root-item{flex:1;min-width:0}
.track-archived-root .track-root-text strong{color:var(--muted)}
.track-root-restore,.track-root-archive{flex-shrink:0;padding:5px 9px;border-radius:8px;background:var(--button);color:var(--accent-text);font-size:10px;font-weight:600}
.track-roots-empty{margin:4px 8px 8px;font-size:11px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}

.root-node{display:flex;align-items:center;gap:13px;min-width:0}
.root-node:empty{display:none}
.root-identity{display:flex;flex-direction:column;gap:4px;min-width:0}
/* Wraps (name first) instead of squeezing the name when the source/last-trade line and Archive button need room. */
.root-title{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;min-width:0}
.root-title h3{max-width:100%;margin:0;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.root-title .chain-pill{flex-shrink:0;padding:3px 7px 3px 3px;border-radius:999px;background:var(--surface-inset)}
.root-title .chain-pill .chain-name{display:inline;font-size:10px}
.root-source{flex-shrink:0;font-size:10px;color:var(--muted)}
.root-address{display:flex;align-items:center;gap:6px;min-width:0}
.root-address .track-address{font-size:11px}
.root-address .icon-button{width:24px;height:24px;font-size:11px}
.track-status{margin:0;line-height:1.6}
.track-auto-state{display:inline-flex;align-items:center;gap:7px;color:var(--ink);white-space:nowrap}
.track-auto-state:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--green)}
.track-auto-state.is-detecting:before{animation:track-breathe 1.5s ease-in-out infinite}
.track-auto-state.has-error:before{background:var(--red)}
.track-auto-state.is-paused:before{background:var(--muted)}

.connection-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;margin:20px 0 0}
.flow-lane{min-width:0}
.flow-heading{display:flex;align-items:center;gap:8px;padding:0 2px 10px}
.flow-heading>span:first-child{font-size:16px;color:var(--accent-text)}
.flow-heading h3{margin:0;font-size:13px}
.flow-heading p{display:none}
.flow-list{display:flex;flex-direction:column;gap:8px}
.flow-empty{padding:14px 15px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:11px;line-height:1.6}
/* An empty direction only needs room for its one-line message. */
@media(min-width:751px){
  .connection-map:has(.flow-lane[data-direction=out].is-empty){grid-template-columns:minmax(0,1fr) minmax(220px,.42fr)}
  .connection-map:has(.flow-lane[data-direction=in].is-empty){grid-template-columns:minmax(220px,.42fr) minmax(0,1fr)}
  .connection-map:has(.flow-lane[data-direction=in].is-empty):has(.flow-lane[data-direction=out].is-empty){grid-template-columns:repeat(2,minmax(0,1fr))}
}

.track-address{display:block;overflow-wrap:anywhere;font-size:10px;color:var(--muted);line-height:1.6}
.connection-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:start;column-gap:14px;row-gap:1px;padding:11px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
.connection-card>header{grid-column:1;display:flex;align-items:center;gap:6px;min-width:0}
.connection-card>header strong{font-size:12px;white-space:nowrap}
.connection-card>header .icon-button{width:22px;height:22px;font-size:10px;background:transparent}
.connection-card>.track-address{grid-column:1;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.connection-stats{grid-column:2;grid-row:1/span 2;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:1px;text-align:right;font-size:10px;color:var(--muted)}
.connection-stats b{order:-1;font-size:13px;color:var(--ink)}
.connection-stats small{font-size:9px;color:var(--muted)}
.connection-card>details{grid-column:1/-1;margin-top:8px;font-size:10px;color:var(--muted)}
.connection-card summary,.track-archive summary{cursor:pointer}
.transfer-evidence{display:flex;flex-direction:column;gap:5px;padding:9px 0;border-bottom:1px solid var(--line)}
.connection-note{padding:0;border-radius:9px;background:var(--surface-inset);font-size:12px}
.connection-note summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;color:var(--ink);font-size:11px;list-style:none}
.connection-note summary:before{content:'›';font-size:17px;color:var(--accent-text)}
.connection-note[open] summary:before{transform:rotate(90deg)}
.connection-note summary>span{flex:1;min-width:0;overflow-wrap:anywhere}
.connection-note summary small{font-size:9px;color:var(--muted)}
.note-body{padding:0 12px 12px}
.note-body p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;margin:8px 0;font-size:11px;color:var(--muted)}
.track-tag{font-size:9px;color:var(--accent-text)}
.connection-note a,.transfer-evidence a{font-size:10px;color:var(--accent-text)}
.note-actions{display:flex;gap:8px;margin-top:12px}
.note-actions button{font-size:10px;padding:7px 10px;border-radius:8px}

.track-related{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px;margin-top:22px}
.track-related:empty{display:none}
.track-related h3{grid-column:1/-1;margin:0;font-size:13px}
.track-archive{margin:22px 0 0;font-size:12px;color:var(--muted)}
.track-caveat{max-width:900px;margin-top:22px;font-size:10px;line-height:1.8}

/* Find another smart trader */
.discovery-form,.discovery-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:20px 0}
.discovery-form label,.discovery-filters label,.track-form-fields label{display:flex;flex-direction:column;gap:9px;font-size:11px;color:var(--muted)}
.discovery-form .select-wrap{width:100%}
.token-input{flex:1;min-width:220px}
.discovery-form input{width:100%;min-height:42px}
.discovery-filters{align-items:center}
.discovery-filters .holding-filter{flex-direction:row;align-items:center}
.holding-filter input{width:16px;height:16px}









/* Dialogs */
.track-dialog{max-width:580px;width:calc(100% - 24px);padding:0;max-height:90dvh;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--ink)}
.track-dialog form{display:flex;flex-direction:column;max-height:90dvh}
.track-dialog .drawer-header{padding:22px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.track-dialog h2{font-size:21px;margin:0}
.track-form-fields{overflow:auto;padding:0 24px 20px;display:flex;flex-direction:column;gap:19px}
.track-form-fields input,.track-form-fields textarea{width:100%}
.track-form-fields .select-wrap{width:100%}
.track-dialog .dialog-footer{padding:18px 24px;border-top:1px solid var(--line);flex-shrink:0}
.track-dialog .error:empty{display:none}

@keyframes track-breathe{50%{box-shadow:0 0 0 9px var(--focus-halo)}}
@keyframes track-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:1100px){
  .trader-results{overflow-x:auto}
  
}
@media(max-width:750px){
  .root-title{row-gap:6px}
  .root-title h3{font-size:15px}
  .root-address .track-address{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}
  .connection-card>header .icon-button,.root-address .icon-button{width:32px;height:32px;font-size:12px;background:var(--surface-inset)}
  .track-related{grid-template-columns:1fr}
  
  
  
  
  
  
  .discovery-form>button{width:100%}
  .discovery-filters .footnote{width:100%}
}
/* Landscape phones: a lane taller than the screen should scroll with the page, not inside itself. */
@media(max-height:500px){.flow-list{max-height:none;overflow:visible;padding-right:0}}
@media(max-width:420px){.track-add-label{display:none}}
@media(prefers-reduced-motion:reduce){.track-auto-state.is-detecting:before{animation:none}.track-roots-archive summary:before{transition:none}}
