/* Source explorer and panel craft, confirmed 2026-10-04. */
.pane { padding:22px 20px 28px; }
.pane h3 { margin:22px 0 10px; font-size:10px; letter-spacing:.12em; }
.pane .pane-section-title{font:600 10px/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);margin:22px 0 10px}.pane .panel-section .pane-section-title{margin-top:0}
.lens-head h1,.thesis-head h1 { font-size:32px; line-height:1.12; letter-spacing:-.035em; margin:14px 0 12px; }
.lens-head p,.thesis-head p { font-size:13px; line-height:1.65; color:var(--ink2); margin:0 0 20px; }
.panel-section { margin:22px 0; }
.panel-section h3 { margin-top:0; }
.panel-key { border-top:1px solid var(--line); margin-top:22px; padding-top:15px; }
.panel-key summary { font-size:12px; color:var(--ink2); cursor:pointer; }
.panel-key .key { margin-top:14px; }
.panel-key .swatchrow { margin-top:14px; }
.panel-key .fine { line-height:1.65; }
.pane .item { padding:10px 8px; border-radius:8px; gap:9px; align-items:center; }
.pane .item .nm { font-size:13px; line-height:1.4; }
/* Full association names and company labels, reviewed 2026-10-07. */
.pane .item .nm { white-space:normal; overflow:visible; overflow-wrap:anywhere; }
.pane .item small { font-size:11px; line-height:1.5; }
.pane .seg { padding:3px; border:1px solid var(--line); border-radius:10px; }
.pane .seg button { min-height:34px; font-size:11px; border-radius:7px; }
.pane .chips { gap:7px; }
.pane .chip { padding:7px 10px; font-size:11px; border-radius:8px; }
.radar-stats { margin:18px 0 22px; padding:16px 0; }
.radar-stats b { font-size:24px; }
.sector-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.sector-card { position:relative; min-height:86px; padding:12px; border:1px solid var(--line); border-radius:11px; background:color-mix(in srgb,var(--sector) 4%,var(--panel-solid)); text-align:left; transition:background .18s,transform .18s,border-color .18s; }
.sector-card:hover { border-color:var(--sector); background:color-mix(in srgb,var(--sector) 10%,var(--panel-solid)); transform:translateY(-2px); }
.sector-card:focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
.sector-card-name { display:flex; align-items:flex-start; gap:6px; font-size:12px; line-height:1.4; min-height:33px; }
.sector-card-name i { width:6px; height:6px; margin-top:5px; background:var(--sector); border-radius:2px; flex:none; }
.sector-card-total { display:flex; align-items:baseline; gap:5px; margin-top:7px; }
.sector-card-total b { font:500 20px var(--f-display); }
.sector-card-total small { font-size:9px; color:var(--ink3); }
.sector-card > svg { position:absolute; bottom:13px; right:9px; width:13px; color:var(--sector); }
.sector-row { padding:12px 10px; border-color:var(--line); background:var(--panel); margin-bottom:7px; }
.sector-row-label { font-size:13px; }
.sector-meter { height:3px; border-radius:3px; overflow:hidden; margin-top:9px; }
.sector-row[aria-pressed=true] { border-color:var(--sector); box-shadow:inset 3px 0 var(--sector); }
.sector-evidence { padding:12px 13px; margin:18px 0; border:1px solid var(--line); border-radius:10px; }
.sector-evidence h3 { margin:0 0 9px; }
.sector-evidence .funding-mix-label { font-size:9px; }
.sector-evidence .funding-key { font-size:10px; gap:8px; margin-bottom:0; }
.curated-company { border-bottom:1px solid var(--line); border-radius:0!important; padding:12px 2px!important; }
.curated-company .grade-tag { align-self:flex-start; margin-top:2px; }
.curated-company .company-vertical { margin:4px 0; line-height:1.4; font-size:11px; color:var(--ink2); }
.curated-company small { font-size:10px; }
.tl-pane-metrics { display:grid; grid-template-columns:1fr 1fr; gap:16px; border-block:1px solid var(--line); padding:16px 0; margin:18px 0; }
.tl-pane-metrics b { display:block; font:500 28px var(--f-display); letter-spacing:-.04em; }
.tl-pane-metrics span { color:var(--ink3); font-size:10px; }
.tl-pane-sources { border-top:1px solid var(--line); }
.tl-pane-source { display:flex; align-items:center; gap:14px; width:100%; text-align:left; padding:11px 1px; border-bottom:1px solid var(--line); background:transparent; }
.tl-pane-source span { flex:1; min-width:0; }
.tl-pane-source b { display:block; font-size:12px; font-weight:500; }
.tl-pane-source small { display:block; color:var(--ink3); font:9px var(--f-mono); margin-top:4px; }
.tl-pane-source em { color:var(--ink2); font:11px var(--f-mono); font-style:normal; border:1px solid var(--line); border-radius:6px; padding:5px; min-width:28px; text-align:center; }
.tl-pane-source:hover b { color:var(--accent); }
#source-timeline { position:absolute; display:flex; flex-direction:column; gap:12px; z-index:8; min-width:0; }
#source-timeline[hidden] { display:none; }
body[data-surface=explore][data-view=time][data-timeline-mode=collections] #cv { visibility:hidden; pointer-events:none; }
body[data-surface=explore][data-view=time][data-timeline-mode=collections] #caption { display:none; }
body[data-surface=explore][data-view=time][data-timeline-mode=collections] #focusbar { display:none; }
body[data-surface=explore][data-view=time][data-timeline-mode=collections] #zoom #zin,
body[data-surface=explore][data-view=time][data-timeline-mode=collections] #zoom #zout,
body[data-surface=explore][data-view=time][data-timeline-mode=collections] #zoom #zfit { display:none; }
.tl-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; flex:none; padding:1px 3px 0; }
.tl-heading h2 { font:500 clamp(23px,2.4vw,30px)/1.12 var(--f-display); letter-spacing:-.04em; margin:4px 0 5px; }
.tl-heading .eyebrow { display:block; font-size:8px; line-height:1.2; }
.tl-heading p { font:10px var(--f-mono); color:var(--ink3); margin:0; line-height:1.5; }
.tl-controls { display:flex; gap:6px; flex:none; }
.tl-arrow { width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; background:var(--panel); color:var(--ink2); }
.tl-arrow:hover:not(:disabled) { border-color:var(--accent); color:var(--ink); }
.tl-arrow:disabled { opacity:.25; cursor:default; }
.tl-collections { display:flex; gap:10px; overflow-x:auto; overflow-y:hidden; flex:1; min-height:180px; scroll-snap-type:x proximity; overscroll-behavior-x:contain; scrollbar-width:thin; padding:1px 1px 10px; }
.investor-view-switch { pointer-events:auto; margin-top:9px; width:max-content; max-width:100%; }
.investor-view-switch button { min-height:32px; padding:5px 12px; }
@media(max-width:650px){.investor-view-switch button{padding:5px 10px;font-size:11px;}}
.tl-card { display:flex; flex-direction:column; flex:none; width:var(--tl-width); border:1px solid var(--line); border-radius:16px; background:var(--panel); scroll-snap-align:start; overflow:hidden; box-shadow:0 7px 20px rgba(0,0,0,.025); }
.tl-card header { padding:14px 19px 8px; flex:none; }
.tl-card time { display:block; color:var(--ink3); font:9px var(--f-mono); text-transform:uppercase; letter-spacing:.06em; }
.tl-source { border:0; padding:0; margin:8px 0 5px; font:500 17px/1.25 var(--f-display); text-align:left; background:transparent; display:flex; align-items:center; gap:10px; width:100%; }
.tl-source span { margin-left:auto; color:var(--ink3); }
.tl-source:hover { color:var(--accent); }
.tl-card-count { display:flex; align-items:baseline; gap:6px; }
.tl-card-count b { font:500 22px var(--f-display); letter-spacing:-.04em; }
.tl-card-count span { font-size:10px; color:var(--ink3); }
/* Checked 2026-10-07: safe alignment keeps overflowing first rows inside the scroll range. */
.tl-dot-field { display:grid; grid-template-columns:repeat(var(--tl-cols),var(--tl-dot,18px)); grid-auto-rows:var(--tl-dot,18px); gap:2px; justify-content:center; align-content:safe end; flex:1; min-height:34px; padding:8px 12px 6px; }
.tl-pin { border:0; width:var(--tl-dot,18px); height:var(--tl-dot,18px); display:grid; place-items:center; padding:1px; color:var(--pin-color); background:transparent; border-radius:50%; transition:background .15s,transform .15s; }
.tl-pin svg { width:var(--tl-svg,16px); height:var(--tl-svg,16px); }
.tl-pin.none svg { opacity:.82; }
.tl-pin:hover,.tl-pin:focus-visible { transform:scale(1.3); background:color-mix(in srgb,var(--pin-color) 15%,transparent); outline:1px solid var(--pin-color); z-index:1; }
.tl-pin.selected { outline:2px solid var(--accent); }
.tl-card footer { padding:8px 19px 13px; flex:none; border-top:1px solid var(--line); }
.tl-card .funding-mix-label { font-size:9px; white-space:nowrap; }
.tl-card .funding-mix { height:3px; }
.tl-overview { flex:none; border-top:1px solid var(--line); padding-top:8px; }
.tl-overview-label { display:flex; align-items:center; gap:14px; justify-content:space-between; line-height:12px; }
.tl-overview-label .eyebrow { font-size:8px; line-height:12px; }
.tl-overview-label > span:last-child { font-size:9px; color:var(--ink3); }
.tl-source-nav { display:grid; grid-template-columns:repeat(var(--tl-count),minmax(0,1fr)); gap:4px; margin-top:6px; }
.tl-source-nav button { border:0; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:5px; background:transparent; min-width:0; height:44px; border-radius:5px; padding:2px 0; }
.tl-mini-bar { width:60%; max-width:24px; min-height:8px; background:var(--ink3); opacity:.3; border-radius:3px 3px 1px 1px; transition:opacity .2s,background .2s; }
.tl-source-nav small { font:8px var(--f-mono); white-space:nowrap; color:var(--ink3); }
.tl-source-nav [aria-current=true] .tl-mini-bar,.tl-source-nav button:hover .tl-mini-bar { background:var(--accent); opacity:1; }
.tl-source-nav [aria-current=true] small { color:var(--ink); }
.tl-reading { display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; flex:none; padding:0 106px 0 3px; }
.tl-reading p { flex-basis:100%; margin:0; min-height:16px; color:var(--ink2); font-size:11px; line-height:16px; }
.tl-reading .funding-key { font-size:9px; margin:2px 0; line-height:1.4; }
.tl-date-note { color:var(--ink3); font-size:9px; line-height:1.4; }
.tl-empty { padding:30px; margin:auto; text-align:center; }
@media(max-width:900px) {
  .pane { padding:22px 20px 28px; }
  .sector-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tl-heading { align-items:center; gap:8px; }
  .tl-heading h2 { font-size:24px; }
  .tl-heading p { font-size:8px; }
  .tl-heading .eyebrow { font-size:8px; }
  .tl-controls { gap:4px; }
  .tl-arrow { width:30px; height:30px; }
  .tl-overview-label > span:last-child,.tl-date-note { display:none; }
  .tl-source-nav { overflow-x:auto; grid-template-columns:repeat(var(--tl-count),28px); padding-bottom:4px; }
  .tl-card { min-width:300px; }
  .tl-pin { min-height:var(--tl-dot,18px); }
  #source-timeline { gap:13px; }
  body[data-view=time][data-timeline-mode=collections]:not(.rail-closed) #source-timeline { visibility:hidden; }
}
@media(prefers-reduced-motion:reduce) {
  .tl-pin,.tl-mini-bar,.sector-card { transition:none; }
  .tl-pin:hover,.sector-card:hover { transform:none; }
}

.tl-pane-source { border:0; border-bottom:1px solid var(--line); }
.tl-source:focus-visible,.tl-pane-source:focus-visible { outline:2px solid var(--focus); outline-offset:3px; }

.tl-card header { padding:12px 19px 6px; }
.tl-source { font-size:16px; line-height:1.2; margin:6px 0 4px; }
.tl-card-count b { font-size:19px; line-height:1.25; }
.tl-card footer { padding:5px 14px 9px; }
.tl-card-evidence { display:flex; justify-content:space-between; gap:9px; margin-top:6px; font:9px/1.3 var(--f-mono); color:var(--ink3); }
.tl-card-evidence b { font-weight:500; color:var(--ink2); }
.tl-card footer .funding-mix { margin-top:0; }

/* Compact collections keep more of the source trail visible. */
.tl-card header { padding:11px 13px 5px; }
.tl-source { font-size:14px; line-height:1.25; }
.tl-card footer { padding-inline:9px; }
.tl-card-evidence { gap:5px; font-size:8px; }
.tl-presentation { margin:0 8px 0 0; }
.tl-presentation button { min-height:29px; padding:0 10px; font-size:10px; }
@media(max-width:1000px) { .tl-heading { flex-wrap:wrap; align-items:flex-start; } .tl-controls { align-items:center; margin-left:auto; } }
@media(max-width:600px) { .tl-heading { gap:8px; } .tl-heading h2 { font-size:22px; } .tl-controls { width:100%; } .tl-presentation { margin-right:auto; } .tl-controls .btn { font-size:10px; } }

@media(max-width:1100px) { .tl-source-nav { overflow-x:auto; grid-template-columns:repeat(var(--tl-count),35px); padding-bottom:4px; } }

@media(max-width:900px) { body[data-view=time][data-timeline-mode=collections] #zoom { top:auto; bottom:16px; } .tl-dot-field { overflow-y:auto; scrollbar-width:thin; } }
