/* Extend the original shared visual system. */
body{font-size:16px}
.brand{gap:9px;align-items:center;position:relative;padding-right:16px}
.brand img{object-fit:contain}
.brand b{font-size:20px}
.brand-context{display:none}
#intro{display:none!important}
#top{gap:12px;padding:14px 18px;background:linear-gradient(var(--bg) 85%,transparent);border-bottom:1px solid var(--line)}
#lenses{border-radius:12px}
#lenses button{font-size:14px;padding:8px 11px;border-radius:8px}
#lenses [data-lens="thesis"]{order:-1}
.search{max-width:310px}
.search input{font-size:14px;min-height:38px;border-radius:10px}
#rail{width:350px;left:16px;bottom:16px;border-radius:14px}
#tabs button{font-size:12px;letter-spacing:.035em;padding:13px 3px}
.pane{padding:18px}
.pane h3{font-size:12px;line-height:1.3;margin:22px 0 10px}
.fine{font-size:13px;line-height:1.5}
.note{font-size:14px;line-height:1.5}
.btn,.btn.sm{font-size:14px;min-height:34px}
.chip,.count,.item .n,.seg button{font-size:13px}
.item{min-height:38px}
.item .nm{font-size:14px}
.swatchrow span{font-size:13px}
.quote{font-size:14px;line-height:1.5}
.kv{font-size:14px;line-height:1.5}
.sec h4{font-size:12px;line-height:1.3}
.path{font-size:12px}
.thesis-head .eyebrow{color:var(--accent);font:500 11px var(--f-mono);letter-spacing:.12em}
.thesis-head h1{font:500 31px/1.15 var(--f-display);margin:8px 0}
.thesis-head p{font-size:14px;line-height:1.45;color:var(--ink2);margin:0}
.radar-stats{display:flex;justify-content:space-between;gap:12px;margin:18px 0;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.radar-stats div{display:flex;flex-direction:column;gap:2px}
.radar-stats b{font:500 20px var(--f-mono);color:var(--ink)}
.radar-stats span{font-size:12px;color:var(--ink3)}
.portfolio-pills{display:flex;flex-wrap:wrap;gap:7px}
.portfolio-pills .chip{border-radius:7px;min-height:33px;padding:5px 9px}
.connection-description{font-size:13px;line-height:1.5;color:var(--ink2);margin:10px 0}
.connection-basis{border-radius:9px;margin-bottom:8px}
.connection-basis button{border-radius:6px;font-size:12px;min-height:33px}
.tree-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:20px;margin-bottom:10px}
.tree-heading h3{margin:0}
.tree-heading .btn{font-size:12px;min-height:28px}
.sector-list{display:flex;flex-direction:column;gap:3px}
.sector-row{display:block;width:100%;padding:9px 8px;border:1px solid transparent;border-radius:8px;background:transparent;text-align:left;transition:background .15s,border-color .15s}
.sector-row:hover{background:var(--card);border-color:var(--line)}
.sector-row[aria-pressed="true"]{background:color-mix(in srgb,var(--sector) 12%,transparent);border-color:var(--sector)}
.sector-row-label{display:flex;align-items:center;gap:9px;font-size:14px;line-height:1.3}
.sector-color{width:9px;height:9px;border-radius:2px;background:var(--sector);flex:none;display:inline-block}
.sector-row-label b{margin-left:auto;font:500 12px var(--f-mono);color:var(--ink2)}
.sector-meter{display:block;margin:6px 0 0 18px;height:2px;background:var(--card)}
.sector-meter i{display:block;height:100%;width:var(--portion);background:var(--sector);opacity:.65}
.sector-title{display:flex;align-items:center;gap:8px;font-size:16px;line-height:1.4;margin-top:8px}
.sector-title .count{margin-left:auto}
.sector-description{font-size:13px;line-height:1.5;color:var(--ink2);margin:5px 0 10px 17px}
.selected-sub{font-size:13px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:12px;padding:10px;border:1px solid var(--line);border-radius:8px}
.curated-company{font-size:14px;gap:10px;padding:10px 7px}
.curated-company b{font-weight:500}
.curated-company small{display:block;color:var(--ink3);font-size:12px;margin-top:2px}
.grade-tag{font:500 12px var(--f-mono);padding:3px 6px;border:1px solid var(--line);border-radius:4px}
.grade-tag.A{color:var(--gA);border-color:var(--gA)}
.grade-tag.B{color:var(--gB)}
.grade-tag.C{color:var(--gC)}
.grade-tag.ungraded{color:var(--gN)}
.view-companies{width:100%;justify-content:center;margin:12px 0 4px;border-radius:8px}
.about{border-top:1px solid var(--line);padding-top:14px;margin-top:18px}
.about summary{font-size:13px;color:var(--ink2);cursor:pointer}
.source-link{font-size:13px;color:var(--accent);text-underline-offset:3px}
.curated-breadcrumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:14px;line-height:1.5}
.curated-classification{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--card)}
.curated-classification p{margin-bottom:0}
.scope-summary p{margin:5px 0 10px}
.scope-summary .btn{font-size:12px;margin-right:5px}
.internal-context{border-top:1px solid var(--line);padding-top:10px}
.internal-context summary{font-size:13px;cursor:pointer;color:var(--ink3)}
#caption{font-size:13px}
#drawer{right:16px;bottom:16px}
:root[data-theme="light"]{--bg:#f0f4f8;--bg2:#e8eef5;--vig1:#fcfdff;--vig2:#e9eff7;--panel:rgba(250,252,255,.95);--panel-solid:#fbfcff}
@media(min-width:1480px){.brand-context{display:block;font:500 10px/1.3 var(--f-mono);max-width:70px;white-space:normal;letter-spacing:.08em;color:var(--ink3)}}
@media(max-width:900px){
  #top{padding:10px 12px;gap:10px}
  .brand{flex:1;order:0}.tools{order:1}
  #lenses{width:100%;order:3;max-width:100%;flex:none;justify-content:flex-start}
  .search{order:2;max-width:none;flex:1 1 100%}
  #rail{left:8px;right:8px;width:auto;top:auto;bottom:8px;max-height:49vh;border-radius:12px}
  #rail.closed{transform:translateY(calc(100% + 20px))}
  #tabs button{padding:9px 3px}
  .pane{padding:14px}
  .thesis-head h1{font-size:25px}.thesis-head p{font-size:13px}
  .radar-stats{margin:12px 0;padding:10px 0}
  .sector-row{padding:9px 8px}
  #drawer{left:8px;right:8px;bottom:8px;width:auto;top:auto;max-height:62vh;border-radius:12px}
  #caption{display:none}
  #zoom{top:auto;right:auto;left:50%;transform:translateX(-50%);bottom:calc(49vh + 20px);flex-direction:row;align-items:center;width:max-content}
  #zoom .btn{width:auto;min-width:34px;padding:5px 10px}
  body.rail-closed #zoom{bottom:16px}
  #focusbar{left:10px;right:10px;max-width:none}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

/* Finishing pass: a composed research workspace, with attention on the field. */
#app{background:radial-gradient(1200px 900px at 58% 42%,var(--vig1) 0%,var(--vig2) 80%)}
#top{padding:12px 18px;background:var(--bg);gap:14px}
.brand{padding-right:6px}.brand b{letter-spacing:-.015em}
#lenses{background:var(--card);border-radius:10px;padding:4px;gap:1px}
#lenses button{border-radius:6px;padding:7px 10px}
#lenses button[aria-selected="true"]{box-shadow:0 1px 5px rgba(0,0,0,.16)}
#btnTour{background:transparent;color:var(--ink2);border-color:var(--line2);font-size:14px}
#btnTour.attn{animation:none;box-shadow:none}
#btnTheme{border-color:var(--line)}
.search input{background:var(--card);border-color:var(--line);border-radius:9px;min-height:40px}
.search input:focus{border-color:var(--accent);outline:1px solid var(--accent);outline-offset:1px}
#rail,#drawer{box-shadow:0 12px 40px rgba(0,0,0,.13);background:var(--panel);border-radius:12px}
#tabs{padding:4px 6px 0}
#tabs button{padding:12px 3px;font-size:12px;letter-spacing:.04em}
.pane{padding:16px 18px 20px;scrollbar-gutter:stable;overscroll-behavior:contain}
.thesis-kicker{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px}
.thesis-head .eyebrow{font-size:11px;letter-spacing:.09em}
.thesis-head h1{font-size:28px;line-height:1.12;letter-spacing:-.025em;margin:6px 0 8px;text-wrap:balance}
.thesis-head p{font-size:14px;line-height:1.45;max-width:none}
.back-link{display:inline-flex;align-items:center;gap:4px;background:none;border:0;padding:4px 0;font-size:13px;color:var(--ink2);white-space:nowrap}
.back-link:hover{color:var(--accent)}
.radar-stats{margin:14px 0 16px;padding:11px 0;gap:8px}
.radar-stats b{font-size:19px;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.radar-stats span{font-size:12px}
.tree-heading{margin:14px 0 7px}
.tree-heading .fine{font-size:12px}
.sector-list{gap:2px}
.sector-row{padding:8px 7px 7px;border-radius:6px}
.sector-row-label{gap:8px;font-size:14px;line-height:1.25}
.sector-row-label b{color:var(--ink2);font-size:12px;min-width:25px;text-align:right;font-variant-numeric:tabular-nums}
.sector-color{width:7px;height:7px;border-radius:2px}
.sector-arrow{width:16px;height:16px;color:var(--ink3);opacity:.55;flex:none;font-style:normal}
.sector-row:hover .sector-arrow{color:var(--sector);opacity:1}
.sector-row[aria-pressed="true"]{border-color:color-mix(in srgb,var(--sector) 65%,transparent);background:color-mix(in srgb,var(--sector) 10%,transparent)}
.sector-row[aria-pressed="true"] .sector-arrow{color:var(--sector);opacity:1}
.sector-meter{margin:5px 24px 0 15px;height:1px;background:var(--line)}
.sector-meter i{opacity:.6}
.selected-sub{flex-direction:row;align-items:center;justify-content:space-between;padding:6px 0;border:0;margin:8px 0 0}
.curated-company{padding:11px 8px;border:1px solid transparent;border-radius:8px;min-height:58px}
.curated-company:hover,.curated-company[aria-current="true"]{border-color:var(--line);background:var(--card)}
.curated-company b{font-size:14px}.curated-company small{font-size:12px}
.grade-tag{min-width:26px;text-align:center;font-size:12px;padding:3px 5px;border-radius:5px;flex:none}
.fit-score{display:flex;flex-direction:column;gap:0;text-align:right;color:var(--ink2);font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.fit-score b{font-weight:500}.fit-score small{font:12px var(--f-body);color:var(--ink3);margin:0}
.view-companies{border-radius:7px;min-height:40px;background:var(--card);border-color:var(--line);font-weight:500}
.about{margin-top:20px;padding-top:14px}
details.about summary{font:500 14px var(--f-body);color:var(--ink2);letter-spacing:0;text-transform:none;list-style:none;display:flex;justify-content:space-between;align-items:center}
.about summary::after{content:'+';color:var(--ink3);font:18px var(--f-mono)}
.about[open] summary::after{content:'−'}
.about p{line-height:1.6}.source-link{display:inline-flex;gap:5px;align-items:center;text-decoration:none}
.radar-key{display:flex;align-items:center;justify-content:center;gap:18px;color:var(--ink2)}
.radar-key>span{display:flex!important;align-items:center;gap:5px;font-size:12px!important;white-space:nowrap}
.about .radar-key{margin-top:16px;justify-content:flex-start;gap:12px;flex-wrap:wrap}
body[data-view="thesis"] #caption{border-color:var(--line);border-radius:10px;padding:11px 18px;min-width:340px;max-width:540px;background:var(--panel)}
.radar-caption-main{display:flex;align-items:center;justify-content:center;gap:22px;margin-bottom:8px;color:var(--ink2);font-size:13px}
.radar-caption-main>span{display:flex!important;align-items:center;font-size:13px!important;gap:6px}
.size-key i{display:block;border-radius:50%;background:var(--ink3);width:3px;height:3px;opacity:.8}
.size-key i:nth-child(2){width:5px;height:5px}.size-key i:nth-child(3){width:8px;height:8px;margin-right:3px}
.radar-caption-scope{font-size:12px!important;color:var(--ink3)!important;border-top:1px solid var(--line);margin-top:9px;padding-top:8px;max-width:440px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#zoom{gap:4px;right:16px;bottom:16px;padding:4px;border:1px solid var(--line);background:var(--panel);border-radius:10px}
#zoom .btn{min-height:34px;padding:5px 10px;border:0;background:transparent;border-radius:6px;color:var(--ink2)}
#zoom .btn:hover{background:var(--card);color:var(--ink)}
#zoom #btnRail{border-left:1px solid var(--line);border-radius:0 6px 6px 0;margin-left:3px;padding-left:13px}
#tip{border-radius:9px;padding:12px 14px;font-size:14px}
#tip b{font-size:17px;line-height:1.25;margin-bottom:5px}
#tip .m{font-size:13px;line-height:1.45}
#sugg{border-radius:10px;padding:6px}
#sugg li{min-height:44px;font-size:14px;border-radius:6px}
.company-vertical{display:block;font-size:12px!important;line-height:1.35;color:var(--ink3);margin-top:3px}
.company-call{display:block;font-size:12px!important;line-height:1.4;text-align:left;color:var(--ink2);margin-top:3px}
.company-call.engage{color:var(--accent)}.company-call.watch{color:var(--gB)}
.li{border-bottom:1px solid var(--line);padding:3px 0;gap:5px}
.li>.item{min-height:70px;padding:9px 6px;gap:9px;border-radius:7px;width:0;flex:1;min-width:0}
.li>.item .nm{white-space:normal;overflow:visible;line-height:1.3}
.li .item .nm b{font-weight:500}.li .item[aria-current="true"]{box-shadow:inset 2px 0 var(--accent);background:var(--card)}
.star{width:36px;height:36px;border-radius:7px;border-color:var(--line);font-size:18px}
select{font-size:14px;min-height:38px}
.chip{border-radius:6px;font-size:13px;min-height:30px}
button.chip{min-height:36px}.seg{border-radius:8px}.seg button{border-radius:5px;font-size:13px;min-height:32px}
#drawer .hd{padding:18px 20px 15px;background:var(--panel-solid);border-bottom:1px solid var(--line);margin-bottom:16px}
#drawer h2{font-size:28px;line-height:1.12;letter-spacing:-.02em;overflow-wrap:anywhere;text-wrap:pretty;margin-bottom:12px}
#drawer .hd .chips{gap:5px}.badge-ok,.badge-un{font-size:11px;line-height:1.5;padding:3px 6px;align-self:center}
#drawer .tb{gap:6px;margin-top:14px}#drawer .tb .btn{font-size:13px;min-height:36px;border-radius:7px;padding:6px 9px}
#drawer [data-act="obs"]{background:var(--card);color:var(--ink2);border-color:var(--line)}
#drawer [data-act="short"]{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,transparent)}
#drawer .bd{padding:0 20px 24px;gap:22px}
#drawer .sec:not(.curated-classification){border-bottom:1px solid var(--line);padding-bottom:20px}
.sec h4{font-size:12px;letter-spacing:.08em;margin-bottom:10px;line-height:1.3}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.section-heading h4{margin:0}.section-heading .btn{border-radius:6px;font-size:13px}
.curated-classification{border-radius:8px;padding:12px 14px;background:var(--card)}
.curated-breadcrumb{font-size:14px;line-height:1.5;gap:6px;align-items:baseline}
.curated-breadcrumb .sector-color{align-self:center}.crumb-divider{color:var(--ink3)}
.classification-note{margin-top:7px}.classification-note summary{font-size:12px;color:var(--ink3);cursor:pointer}
.classification-note p{margin:8px 0 0}
.quote{font-size:15px;line-height:1.55;padding:8px 12px;font-style:normal}
.orbwrap{gap:16px;align-items:center}
.orbwrap>div:first-child{width:128px;flex:none}.orbwrap svg{width:128px;height:128px}
.orbwrap .kv{flex:1;font-size:14px;grid-template-columns:68px 1fr!important}
.kv{gap:8px 10px;font-size:14px}.path{font-size:12px;line-height:1.5;border-radius:7px}
.internal-context{border-top:0;padding-top:0}.internal-context summary{font-size:13px;line-height:1.5}
:focus-visible{outline-color:var(--focus);outline-offset:3px}
:root[data-theme="light"] #rail,:root[data-theme="light"] #drawer{box-shadow:0 8px 36px rgba(17,32,58,.06)}
@media(min-width:901px) and (max-width:1480px){.brand-context{display:none}.search{max-width:260px}#lenses button{padding:7px 8px}}
@media(max-width:900px){
  #top{padding:9px 12px;gap:8px}.brand b{font-size:20px}.brand img{width:23px;height:23px}
  .search input{min-height:38px;font-size:16px}
  #lenses{border-radius:8px;padding:3px}#lenses button{font-size:14px;padding:7px 10px}
  #rail,#drawer{border-radius:12px;box-shadow:0 -8px 35px rgba(0,0,0,.16)}
  #rail{height:40vh;max-height:40vh}
  #tabs button{padding:10px 3px;font-size:12px}
  .pane{padding:12px 14px 18px}
  .thesis-kicker{min-height:18px}.thesis-head .eyebrow{display:none}.thesis-kicker:has(.back-link){justify-content:flex-end}.thesis-kicker:not(:has(.back-link)){display:none}
  .thesis-head h1{font-size:24px;margin:2px 0 5px;text-wrap:pretty}.thesis-head p{display:none}
  .radar-stats{margin:9px 0 11px;padding:8px 0}.radar-stats div{flex-direction:row;align-items:baseline;gap:5px}.radar-stats b{font-size:17px}.radar-stats span{font-size:12px}
  .tree-heading{margin-top:10px}.sector-row{padding:9px 6px 8px;min-height:42px}
  .sector-row-label{font-size:14px;line-height:1.3}.sector-meter{margin-top:5px}
  #zoom{bottom:calc(40vh + 20px);padding:3px;gap:2px}#zoom .btn{min-height:32px;min-width:32px;padding:4px 9px;font-size:13px}
  #drawer .hd{padding:16px 16px 13px}#drawer h2{font-size:26px}#drawer .bd{padding:0 16px 24px;gap:20px}
  .orbwrap>div:first-child{width:112px}.orbwrap svg{width:112px;height:112px}.orbwrap{gap:12px}
  .orbwrap .kv{grid-template-columns:60px 1fr!important}
  .radar-key{gap:12px}.radar-key>span{font-size:12px!important}
  .curated-classification{padding:10px 12px}
  #toast{bottom:calc(40vh + 18px);font-size:13px}body.rail-closed #toast{bottom:70px}
}
@media(max-width:380px){.brand b{font-size:18px}#drawer .tb{flex-wrap:wrap}}

/* Final presentation finish: one editorial hierarchy across the research views. */
.lens-head .eyebrow{color:var(--accent);font:500 11px var(--f-mono);letter-spacing:.09em}
.lens-head h1{font:500 28px/1.12 var(--f-display);letter-spacing:-.025em;margin:8px 0 10px;text-wrap:balance}
.lens-head p{font-size:14px;line-height:1.5;color:var(--ink2);margin:0}
body:not([data-view="thesis"]) #caption{border-radius:10px;padding:11px 18px;border-color:var(--line)}
.view-caption-main b{display:block;font:500 16px var(--f-display)!important;margin-bottom:3px}
.view-caption-main span{font-size:13px!important;line-height:1.4}
#caption .view-caption-count{font:12px/1.4 var(--f-mono);color:var(--ink3);margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
@media(max-width:900px){
  .lens-head .eyebrow{display:none}
  .lens-head h1{font-size:24px;margin:2px 0 7px;text-wrap:pretty}
  .lens-head p{font-size:13px;line-height:1.45}
}

/* Yale research edition, reviewed 2026-10-03. */
.other-coverage{margin:20px 0;border-top:1px solid var(--line);padding-top:10px}.coverage-row{display:flex;gap:12px;margin:14px 0;line-height:1.5}.coverage-row>b{min-width:24px;color:var(--ink);font-family:var(--mono)}.coverage-row span{display:block}.coverage-row small{display:block;color:var(--ink3);margin-top:3px;font-size:11px}.other-coverage h3{margin:8px 0}
