/* ==========================================================================
   Technical Library hub  (/resources/technical-library/)

   A router, not a reading page (the doc). Built from the Resources hub's
   banner search and journal front, and Documentation's FAQ and Related.
   Shared, from stylesheets already linked: the page banner, the FAQ, the
   closing CTA, .pf-related (product-family.css). Page-local:
     .tl-search    the banner search field (after .res-search)
     .tl-results   the results panel inside the banner, hidden until a query
     .tl-hit       one result row
     .tl-tag       the access tag: Open / Registration / External site
     .tl-card      a product-line or material-type card, listing its pages
     .tl-journal   the featured journal band (after .journal-front)

   Band rhythm is the homepage's: 48 / 64 / 80. Bands alternate white and
   --ps-color-neutral-2-100, with --ps-color-neutral-2-000 for the closing CTA:

     §1  banner + search   white          §5  FAQ        white
     §3  by product line   neutral-2-100  §6  related    neutral-2-100
     §4  by material type  white          §7  endcap     neutral-2-000
     §5  journal           neutral-2-100
   ========================================================================== */

#by-product-line,#by-material-type,#simulation-standard,#search-results,
#tcad,#analog-custom-design,#parasitic-extraction,#spice-simulation,#variation-yield-analysis{scroll-margin-top:96px}

/* --------------------------------------------------------------------------
   §1 Banner: two intro lines, then the search
   -------------------------------------------------------------------------- */
.tl-banner .page-banner__body p{margin:0}
.tl-banner .page-banner__body p + p{margin-top:10px}

.tl-search{margin-top:28px;max-width:640px}
.tl-search__field{
  position:relative;display:flex;align-items:center;gap:8px;
  background:var(--sv-white);
  border:1px solid var(--ps-color-neutral-2-300);border-radius:10px;
  padding:6px 6px 6px 40px;
  transition:border-color .2s ease-out,box-shadow .2s ease-out;
}
.tl-search__field:focus-within{
  border-color:var(--ps-color-brand-500);
  box-shadow:0 0 0 3px rgba(198,12,48,.12);
}
.tl-search__icon{position:absolute;left:14px;fill:var(--ps-color-neutral-2-900);pointer-events:none}
.tl-search__input{
  flex:1 1 auto;min-width:0;
  border:0;background:none;padding:10px 0;
  font:400 15px/22px var(--ps-font);letter-spacing:normal;
  color:var(--ps-color-neutral-3-500);
}
.tl-search__input:focus{outline:none}
.tl-search__submit{
  flex:none;cursor:pointer;
  border:0;border-radius:7px;
  background:var(--ps-color-brand-500);color:var(--sv-white);
  font:500 14px/20px var(--ps-font);letter-spacing:normal;
  padding:10px 18px;
  transition:background-color .2s ease-out;
}
.tl-search__submit:hover{background:var(--ps-color-brand-600)}
.tl-search__submit:focus-visible{outline:2px solid var(--ps-color-brand-500);outline-offset:2px}

/* --------------------------------------------------------------------------
   §1 Results: inside the banner band, scrolling in their own box so a short
   query never turns the router into a 680-row page
   -------------------------------------------------------------------------- */
.tl-results{margin-top:20px;max-width:880px}
.tl-results[hidden]{display:none}
.tl-results__bar{
  display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;
  gap:6px 18px;margin-bottom:10px;
}
.tl-results__bar[hidden]{display:none}
.tl-results__count{margin:0;font:500 13px/19px var(--ps-font);letter-spacing:normal;color:var(--ps-color-neutral-3-500)}
.tl-results__clear{
  background:none;border:0;padding:0;cursor:pointer;
  font:500 13px/19px var(--ps-font);letter-spacing:normal;
  color:var(--ps-color-brand-600);text-decoration:underline;text-underline-offset:2px;
}
.tl-results__clear:hover{color:var(--ps-color-brand-500)}
.tl-results__clear[hidden]{display:none}
.tl-results__list{
  list-style:none;margin:0;padding:0;
  max-height:min(60vh,560px);overflow-y:auto;overscroll-behavior:contain;
  border:1px solid var(--ps-color-neutral-2-300);border-radius:12px;
  background:var(--sv-white);
}
.tl-results__list[hidden]{display:none}
.tl-hit[hidden]{display:none}
.tl-hit a{
  display:flex;flex-direction:column;gap:4px;
  padding:12px 16px;
  border-bottom:1px solid var(--ps-color-neutral-2-300);
  transition:background-color .2s ease-out;
}
.tl-hit:last-child a{border-bottom:0}
.tl-hit a:hover{background:var(--ps-color-neutral-2-000)}
.tl-hit__title{
  font:500 14px/21px var(--ps-font);letter-spacing:normal;
  color:var(--ps-color-neutral-3-500);overflow-wrap:anywhere;
}
.tl-hit a:hover .tl-hit__title{color:var(--ps-color-brand-600)}
.tl-hit__meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;
  font:400 12px/18px var(--ps-font);letter-spacing:normal;
  color:var(--ps-color-neutral-2-900);
}
.tl-results__empty{
  background:var(--ps-color-neutral-2-000);
  border:1px solid var(--ps-color-neutral-2-300);border-radius:12px;
  padding:18px 20px;
}
.tl-results__empty[hidden]{display:none}
.tl-results__empty p{margin:0;font:400 15px/23px var(--ps-font);letter-spacing:normal;color:var(--ps-color-secondary-5-500);max-width:62ch}

.tl-tag{
  display:inline-block;padding:0 8px;border-radius:999px;
  background:var(--ps-color-neutral-2-100);
  font:500 11px/17px var(--ps-font);letter-spacing:.02em;
  color:var(--ps-color-secondary-5-500);
}
.tl-tag--gated{background:var(--ps-color-neutral-2-300);color:var(--ps-color-neutral-3-500)}
.tl-tag--external{background:var(--sv-white);border:1px solid var(--ps-color-neutral-2-300);line-height:15px}

/* --------------------------------------------------------------------------
   §3 and §4 Browse by product line and by material type
   -------------------------------------------------------------------------- */
.tl-lines,.tl-types,.tl-journal{padding-block:48px}
.tl-band__head{grid-column-end:span var(--ps-grid-columns);margin-bottom:28px}
.tl-band__title{color:var(--ps-color-neutral-3-500);margin:0 0 12px}
.tl-band__lead{color:var(--ps-color-secondary-5-500);margin:0;max-width:68ch}

.tl-grid{
  grid-column-end:span var(--ps-grid-columns);
  display:grid;grid-template-columns:1fr;gap:16px;
}
.tl-card{
  display:flex;flex-direction:column;
  background:var(--sv-white);
  border:1px solid var(--ps-color-neutral-2-300);border-radius:16px;
  padding:22px 22px 14px;
  transition:border-color .25s ease-out;
}
.tl-card:hover{border-color:var(--ps-color-neutral-2-500)}
.tl-types .tl-card{background:var(--ps-color-neutral-2-000)}
.tl-card__heading{color:var(--ps-color-neutral-3-500);margin:0 0 12px}
.tl-card__list{list-style:none;margin:0;padding:0}
.tl-card__link{
  display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:12px;
  padding:10px 0;
  border-top:1px solid var(--ps-color-neutral-2-300);
  color:var(--ps-color-brand-600);
  transition:color .2s ease-out;
}
.tl-card__link:hover{color:var(--ps-color-brand-500)}
.tl-card__name{font:500 14px/21px var(--ps-font);letter-spacing:normal}
.tl-card__count{
  font:400 12px/18px var(--ps-font);letter-spacing:normal;
  color:var(--ps-color-secondary-5-500);font-variant-numeric:tabular-nums;white-space:nowrap;
}
.tl-card__arrow{display:flex;align-self:center;color:var(--ps-color-neutral-2-900);transition:transform .2s ease-out,color .2s ease-out}
.tl-card__arrow svg{width:13px;height:11px;fill:currentColor}
.tl-card__link:hover .tl-card__arrow{transform:translateX(3px);color:var(--ps-color-brand-500)}

/* --------------------------------------------------------------------------
   §5 Featured: the Simulation Standard
   -------------------------------------------------------------------------- */
.tl-journal__eyebrow,.tl-journal__label{
  margin:0 0 10px;
  font:500 11px/16px var(--ps-font);letter-spacing:.14em;text-transform:uppercase;
  color:var(--ps-color-brand-600);
}
.tl-journal__body{
  grid-column-end:span var(--ps-grid-columns);
  display:grid;grid-template-columns:1fr;gap:20px;
}
.tl-journal__lead,.tl-journal__more{
  display:flex;flex-direction:column;align-items:flex-start;
  background:var(--sv-white);
  border:1px solid var(--ps-color-neutral-2-300);border-radius:16px;
  padding:26px 24px;
}
.tl-journal__lead{gap:14px}
.tl-journal__lead .tl-journal__label{margin:0}
.tl-journal__heading{color:var(--ps-color-neutral-3-500);margin:0}
.tl-journal__meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0;
  font:400 12px/16px var(--ps-font);letter-spacing:normal;color:var(--ps-color-neutral-2-900);
}
.tl-journal__ctas{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:4px}
.tl-journal__issue{
  font:500 14px/20px var(--ps-font);letter-spacing:normal;
  color:var(--ps-color-brand-600);text-decoration:underline;text-underline-offset:2px;
}
.tl-journal__issue:hover{color:var(--ps-color-brand-500)}
.tl-journal__list{list-style:none;margin:0 0 18px;padding:0;align-self:stretch}
.tl-journal__link{
  display:flex;flex-direction:column;gap:2px;
  padding:11px 0;
  border-bottom:1px solid var(--ps-color-neutral-2-300);
  color:var(--ps-color-neutral-3-500);
  transition:color .2s ease-out;
}
.tl-journal__list li:last-child .tl-journal__link{border-bottom:0}
.tl-journal__link:hover{color:var(--ps-color-brand-600)}
.tl-journal__text{font:400 14px/21px var(--ps-font);letter-spacing:normal}
.tl-journal__date{font:400 12px/16px var(--ps-font);letter-spacing:normal;color:var(--ps-color-neutral-2-900)}

/* --------------------------------------------------------------------------
   §6 Related: three tiles today, five with both held tiles on
   -------------------------------------------------------------------------- */
.tl-related__up{margin-top:20px}

/* ==========================================================================
   File-list child pages (application notes, presentations, training,
   white papers). First used by SPICE Simulation Application Notes.

     §1  banner          white          §4  more from the library  white
     §2–3 jump + groups  neutral-2-100  §5  tools                  neutral-2-100
                                        §6  endcap                 neutral-2-000
   ========================================================================== */
.tl-banner__meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:20px 0 0;
}
.tl-banner__note{
  margin:16px 0 0;max-width:62ch;
  font:400 14px/21px var(--ps-font);letter-spacing:normal;
  color:var(--ps-color-secondary-5-500);
}
.tl-banner__link{
  font:500 14px/20px var(--ps-font);letter-spacing:normal;
  color:var(--ps-color-brand-600);text-decoration:underline;text-underline-offset:2px;
}
.tl-banner__link:hover{color:var(--ps-color-brand-500)}

.tl-files,.tl-more{padding-block:48px}
.tl-files .tl-group{scroll-margin-top:96px}
.tl-jump,.tl-files__groups,.tl-more__up{grid-column-end:span var(--ps-grid-columns)}
.tl-jump{margin-bottom:28px}
.tl-jump__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.tl-jump__chip{
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 14px;border-radius:999px;
  background:var(--sv-white);border:1px solid var(--ps-color-neutral-2-300);
  font:500 13px/19px var(--ps-font);letter-spacing:normal;
  color:var(--ps-color-neutral-3-500);
  transition:border-color .2s ease-out,color .2s ease-out;
}
.tl-jump__chip:hover{border-color:var(--ps-color-brand-500);color:var(--ps-color-brand-600)}
.tl-jump__count{
  font:400 12px/16px var(--ps-font);color:var(--ps-color-secondary-5-500);
  font-variant-numeric:tabular-nums;
}

.tl-files__groups{display:flex;flex-direction:column;gap:20px}
.tl-group{
  background:var(--sv-white);
  border:1px solid var(--ps-color-neutral-2-300);border-radius:16px;
  padding:22px 20px 8px;
}
.tl-group__title{color:var(--ps-color-neutral-3-500);margin:0 0 8px}
.tl-group__count{
  margin-left:8px;
  font:400 13px/19px var(--ps-font);letter-spacing:normal;
  color:var(--ps-color-secondary-5-500);white-space:nowrap;
}
.tl-group__list{list-style:none;margin:0;padding:0}
.tl-file a{
  display:flex;flex-direction:column;gap:4px;
  padding:12px 0;
  border-top:1px solid var(--ps-color-neutral-2-300);
}
.tl-file__title{
  font:500 15px/22px var(--ps-font);letter-spacing:normal;
  color:var(--ps-color-brand-600);overflow-wrap:anywhere;
  transition:color .2s ease-out;
}
.tl-file__text{display:flex;flex-direction:column;gap:2px;min-width:0}
.tl-file__sub{
  font:400 13px/20px var(--ps-font);letter-spacing:normal;
  color:var(--ps-color-secondary-5-500);overflow-wrap:anywhere;
}
.tl-file a:hover .tl-file__title{color:var(--ps-color-brand-500);text-decoration:underline;text-underline-offset:2px}
.tl-file__meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;
  font:400 12px/18px var(--ps-font);letter-spacing:normal;color:var(--ps-color-neutral-2-900);
}
.tl-file__date{white-space:nowrap}
.tl-more__up{margin-top:20px}

/* ==========================================================================
   The journal (/resources/technical-library/simulation-standard/)

     §1 banner white · §2 latest neutral-2-100 · §3–4 archive white ·
     §5 more neutral-2-100 · §6 tools white · endcap neutral-2-000
   ========================================================================== */
.tl-latest,.tl-archive{padding-block:48px}
.tl-latest{background:var(--ps-color-neutral-2-100);border-block:1px solid var(--ps-color-neutral-2-300)}
.tl-archive{background:var(--sv-white)}
.tl-more.tl-more--tint{background:var(--ps-color-neutral-2-100);border-block:1px solid var(--ps-color-neutral-2-300)}
.tl-related.tl-related--plain{background:var(--sv-white);border-block:0}
.tl-art{
  display:flex;flex-direction:column;gap:8px;
  background:var(--sv-white);
  border:1px solid var(--ps-color-neutral-2-300);border-radius:16px;
  padding:22px 22px 18px;
}
.tl-art__date{margin:0;font:500 12px/16px var(--ps-font);letter-spacing:.04em;color:var(--ps-color-brand-600)}
.tl-art__title{margin:0;color:var(--ps-color-neutral-3-500)}
.tl-art__title a{color:inherit}
.tl-art__title a:hover{color:var(--ps-color-brand-600);text-decoration:underline;text-underline-offset:2px}
.tl-art__excerpt{margin:0;flex:1 1 auto;font:400 14px/21px var(--ps-font);letter-spacing:normal;color:var(--ps-color-secondary-5-500)}
.tl-art__meta{margin:4px 0 0}
.tl-latest__issue{grid-column-end:span var(--ps-grid-columns);margin:20px 0 0}
.tl-archive .tl-jump{margin-bottom:24px}
.tl-years{grid-column-end:span var(--ps-grid-columns)}
.tl-years .pf-group__question{gap:12px}
.tl-years__count{
  margin-left:auto;margin-right:12px;
  font:400 13px/19px var(--ps-font);letter-spacing:normal;
  color:var(--ps-color-secondary-5-500);white-space:nowrap;
}
.tl-years__list{list-style:none;margin:0;padding:0 20px 8px}
.tl-years__list .tl-file:first-child a{border-top:1px solid var(--ps-color-neutral-2-300)}
@media (min-width:640px){.tl-latest,.tl-archive{padding-block:64px}}
@media (min-width:1024px){.tl-latest,.tl-archive{padding-block:80px}}
@media (min-width:1350px){.tl-years,.tl-latest__issue{grid-column-start:2;grid-column-end:span 10}}

/* Citation pages (published papers): title link, authors, venue, where it opens */
.tl-cite__key{margin:0 0 6px;font:400 12px/18px var(--ps-font);letter-spacing:normal;color:var(--ps-color-neutral-2-900)}
.tl-cite{display:flex;flex-direction:column;gap:4px;padding:14px 0;border-top:1px solid var(--ps-color-neutral-2-300)}
.tl-cite__title{
  font:500 15px/22px var(--ps-font);letter-spacing:normal;
  color:var(--ps-color-brand-600);overflow-wrap:anywhere;
}
.tl-cite__title:hover{color:var(--ps-color-brand-500);text-decoration:underline;text-underline-offset:2px}
.tl-cite__sub{font:400 13px/20px var(--ps-font);letter-spacing:normal;color:var(--ps-color-secondary-5-500)}
.tl-cite__authors,.tl-cite__venue{margin:0;font:400 13px/20px var(--ps-font);letter-spacing:normal;overflow-wrap:anywhere}
.tl-cite__authors{color:var(--ps-color-neutral-3-500)}
.tl-cite__venue{color:var(--ps-color-secondary-5-500);font-style:italic}
.tl-cite__meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:2px 0 0;
  font:400 12px/18px var(--ps-font);letter-spacing:normal;color:var(--ps-color-neutral-2-900);
}

/* --------------------------------------------------------------------------
   Breakpoints
   -------------------------------------------------------------------------- */
@media (min-width:640px){
  .tl-lines,.tl-types,.tl-journal,.tl-files,.tl-more{padding-block:64px}
  .tl-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .tl-group{padding:26px 28px 10px}
  /* title left, file facts right, once there is room */
  .tl-file a{flex-direction:row;align-items:baseline;justify-content:space-between;gap:24px}
  .tl-file__meta{flex:none;flex-wrap:nowrap}
}
@media (min-width:1024px){
  .tl-lines,.tl-types,.tl-journal,.tl-files,.tl-more{padding-block:80px}
  .tl-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tl-grid--more{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tl-journal__body{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
}
@media (min-width:1350px){
  .tl-band__head,.tl-grid,.tl-journal__body,.tl-jump,.tl-files__groups,.tl-more__up,
  .pf-related__inner{grid-column-start:2;grid-column-end:span 10}
}

/* --------------------------------------------------------------------------
   Band runs: the hub and the file-list pages
   -------------------------------------------------------------------------- */
.tl-lines,.tl-journal,.tl-related,.tl-files{
  background:var(--ps-color-neutral-2-100);
  border-block:1px solid var(--ps-color-neutral-2-300);
}
.tl-types,.tl-faq,.tl-more{background:var(--sv-white)}
.tl-more .tl-card{background:var(--ps-color-neutral-2-000)}
.section-headings__wrapper--cta{background:var(--ps-color-neutral-2-000)}

/* ==========================================================================
   TCAD Published Papers (/resources/technical-library/tcad-published-papers/)

     §1 banner white · §2 topics neutral-2-100 · §3 hosted papers white ·
     §4 more neutral-2-100 · §5 related white · endcap neutral-2-000
   ========================================================================== */
#topics,#hosted,.tl-files--plain .tl-group{scroll-margin-top:96px}
.tl-files.tl-files--plain{background:var(--sv-white);border-block:0}
.tl-files--plain .tl-group{background:var(--ps-color-neutral-2-000)}
.tl-grid--topics{list-style:none;margin:0;padding:0}
.tl-topic{
  display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:2px;
  height:100%;
  background:var(--sv-white);
  border:1px solid var(--ps-color-neutral-2-300);border-radius:16px;
  padding:18px 20px;
  color:var(--ps-color-neutral-3-500);
  transition:border-color .25s ease-out,color .2s ease-out;
}
.tl-topic:hover{border-color:var(--ps-color-brand-500);color:var(--ps-color-brand-600)}
.tl-topic__name{font:500 15px/22px var(--ps-font);letter-spacing:normal}
.tl-topic__count{
  grid-row:2;
  font:400 12px/18px var(--ps-font);letter-spacing:normal;
  color:var(--ps-color-secondary-5-500);font-variant-numeric:tabular-nums;
}
.tl-topic .tl-card__arrow{grid-column:2;grid-row:1 / span 2}
.tl-topic:hover .tl-card__arrow{transform:translateX(3px);color:var(--ps-color-brand-500)}
.tl-cite__file{
  font:500 12px/18px var(--ps-font);letter-spacing:normal;
  color:var(--ps-color-brand-600);text-decoration:underline;text-underline-offset:2px;
}
.tl-cite__file:hover{color:var(--ps-color-brand-500)}
@media (min-width:1024px){.tl-grid--topics{grid-template-columns:repeat(4,minmax(0,1fr))}}

@media (prefers-reduced-motion:reduce){
  .tl-search__field,.tl-search__submit,.tl-hit a,.tl-card,.tl-card__link,
  .tl-card__arrow,.tl-journal__link,.tl-jump__chip,.tl-file__title,.tl-topic{transition:none}
}
