/* Weekly Wire patent page (2026-10-18). Loaded only on patent singles, after
 * patentlyze-wire.css (tokens, masthead, footer, chips, buttons). Ported from
 * the A-Article boards; restyles the existing patent blocks (share row,
 * filing quotes, take, Google box, signup band, drawings, comments) without
 * changing their markup or scripts. */

body.pl-wire-post { --plw-soft: #fafaf9; }

/* The article column keeps .pl-page (shared article styles); undo the old container. */
body.pl-wire .pl-page.plw-body {
  max-width: none; margin: 0; padding: 0;
  font-family: var(--plw-body); font-feature-settings: normal;
  font-size: 18px; line-height: 1.6; color: var(--plw-ink);
}

/* Breadcrumb and header ---------------------------------------------------- */
.plw-crumb { font-size: 14px; color: var(--plw-t3); padding: 14px 0; display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; }
body.pl-wire .plw-crumb a { color: var(--plw-t3); }
body.pl-wire .plw-crumb a:hover { color: var(--plw-deep); }
.plw-crumb__pub { font-family: var(--plw-mono); font-size: 14px; text-transform: none; letter-spacing: normal; font-variant-numeric: tabular-nums; }

.plw-posthead { display: flex; flex-direction: column; gap: 18px; padding-bottom: 28px; }
body.pl-wire .plw-posthead .plw-kick a { color: inherit; }
body.pl-wire .plw-posthead .plw-kick a:hover { color: var(--plw-link); }
body.pl-wire .plw-posth1 { font-family: var(--plw-head); font-weight: 800; font-size: 42px; line-height: 1.1; letter-spacing: -.02em; margin: 0; max-width: 920px; color: var(--plw-ink); text-wrap: balance; }
.plw-posthook { font-size: 21px; line-height: 1.5; color: var(--plw-t2); margin: 0; max-width: 860px; }
.plw-byline { display: flex; align-items: center; justify-content: space-between; gap: 10px 24px; flex-wrap: wrap; }
.plw-byline__meta { margin: 0; font-size: 15px; color: var(--plw-t3); }
.plw-byline__author { color: var(--plw-t2); font-weight: 600; }
body.pl-wire-post a.plw-byline__author { color: var(--plw-t2); }
body.pl-wire-post a.plw-byline__author:hover { color: var(--plw-deep); }
.plw-byline__share { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }

/* Share row + one-line ask (markup from pl_render_share_row). */
body.pl-wire-post .plw-byline__share .pl-inline-ask { order: 2; margin: 0; padding: 0; border: 0; font-size: 14px; color: var(--plw-t3); }
body.pl-wire-post .pl-inline-ask a { color: var(--plw-link); }
body.pl-wire-post .pl-share { margin: 0; gap: 8px; }
body.pl-wire-post .pl-share__label { font-family: var(--plw-mono); font-weight: 600; font-size: 13px; color: var(--plw-t3); text-transform: none; letter-spacing: normal; font-variant-numeric: tabular-nums; }
body.pl-wire-post .pl-share__btn { width: 36px; height: 36px; border: 1px solid var(--plw-rule2); border-radius: 6px; color: var(--plw-ink); background: #fff; }
body.pl-wire-post .pl-share__btn:hover { border-color: var(--plw-sky); background: var(--plw-tint2); color: var(--plw-ink); }
body.pl-wire-post .pl-share__btn.pl-share__google { width: auto; border-radius: 6px; padding: 0 12px 0 10px; font-family: var(--plw-head); background: var(--plw-tint); border-color: var(--plw-tint-rule); }

/* Two columns: article + 280px sidebar ------------------------------------ */
/* Centered block (Dan 11/5): the page sits in 1,120px instead of 1,280px, so
 * the article column is 720px (about 80 characters a line) and the margins
 * match on both sides. The sidebar is not sticky. */
body.pl-wire-post main.plw-post > .plw-wrap { max-width: 1120px; }
.plw-cols { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 40px 56px; align-items: start; padding-bottom: 56px; }

/* Hero drawing */
.plw-hero { margin: 0 0 24px; }
.plw-hero__plate { height: 540px; padding: 12px; background: var(--plw-soft); }
.plw-hero__plate img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; display: block; }
.plw-hero__cap { display: flex; justify-content: space-between; gap: 16px; margin-top: 10px; font-size: 14px; line-height: 1.45; color: var(--plw-t3); }
.plw-hero__cap a { white-space: nowrap; font-family: var(--plw-head); font-weight: 600; }

/* USPTO facts */
.plw-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); grid-auto-flow: row dense; margin: 0 0 14px; border: 1px solid var(--plw-rule); background: var(--plw-soft); overflow: hidden; }
.plw-facts > div { padding: 12px 16px; min-width: 0; box-shadow: -1px -1px 0 0 var(--plw-rule); }
.plw-facts__wide { grid-column: span 2; }
.plw-facts__wide:last-child { grid-column: 1 / -1; }
.plw-facts dt { font-family: var(--plw-mono); font-size: 13px; color: var(--plw-t3); margin: 0 0 4px; text-transform: none; letter-spacing: normal; font-variant-numeric: tabular-nums; }
.plw-facts dd { margin: 0; font-size: 15px; line-height: 1.35; font-weight: 600; color: var(--plw-ink); overflow-wrap: anywhere; }
.plw-facts .plw-facts__m { font-family: var(--plw-mono); font-weight: 400; font-size: 15px; text-transform: none; letter-spacing: normal; font-variant-numeric: tabular-nums; }
.plw-facts__alt { display: block; margin-top: 2px; font-size: 12px; font-weight: 400; color: var(--plw-t3); }
.plw-facts__sub { font-weight: 400; color: var(--plw-t3); }
.plw-postchips { margin: 0 0 28px; }
body.pl-wire .plw-chip--accent { border-color: var(--plw-tint-rule); background: var(--plw-tint); }

/* At a glance (only when the pipeline stores one) */
.plw-glance { background: var(--plw-tint2); border: 1px solid var(--plw-tint-rule); padding: 22px 26px; margin: 0 0 28px; }
body.pl-wire .plw-glance__h { font-family: var(--plw-mono); font-size: 15px; font-weight: 600; color: var(--plw-deep); margin: 0 0 10px; text-transform: none; letter-spacing: normal; font-variant-numeric: tabular-nums; }
.plw-glance ul { margin: 0; padding-left: 20px; font-size: 17px; }

/* Article text */
body.pl-wire .plw-body > h2 { font-family: var(--plw-head); font-weight: 800; font-size: 28px; line-height: 1.2; letter-spacing: -.015em; margin: 40px 0 14px; color: var(--plw-ink); scroll-margin-top: 16px; }
/* Reading measure (audit 11/13, Dan 11/14): paragraph text is 20px in a
 * 640px measure, about 75 characters a line (it was 18px across the 720px
 * column, about 94). Phones keep 17px. The hero, drawings, facts table,
 * filing quote and boxes keep the full column. */
body.pl-wire .plw-body > p, body.pl-wire .plw-body > .pl-compare p { font-size: 20px; line-height: 1.6; margin: 0 0 20px; color: var(--plw-ink); max-width: 640px; }
.plw-body > ul, .plw-body > ol { margin: 0 0 20px; padding-left: 22px; font-size: 20px; max-width: 640px; }
.plw-body > ul li, .plw-body > ol li { margin-bottom: 8px; }

/* Filing quote: the board's sky rule and soft panel, set in the body font
 * (no serif, Dan 10/18). */
body.pl-wire-post .pl-fq { margin: 8px 0 28px; padding: 18px 22px; background: var(--plw-soft); border: 0; border-left: 4px solid var(--plw-sky); border-radius: 0; }
body.pl-wire-post .pl-fq__label { font-family: var(--plw-mono); font-size: 14px; font-weight: 600; color: var(--plw-t3); margin: 0 0 8px; text-transform: none; letter-spacing: normal; font-variant-numeric: tabular-nums; }
body.pl-wire-post .pl-fq__quote { margin: 0; font-family: var(--plw-body); font-style: normal; font-size: 18px; line-height: 1.55; color: var(--plw-t2); }
body.pl-wire-post .pl-fq__gloss { margin: 12px 0 0; padding: 0; background: none; border-radius: 0; font-size: 16px; color: var(--plw-ink); }

/* Editorial take */
body.pl-wire-post .plw-take { margin: 8px 0 28px; padding: 22px 26px; background: #fff; border: 2px solid var(--plw-ink); border-radius: 0; scroll-margin-top: 16px; }
/* The take's heading matches the 22px section heads ("The drawings"); it
 * was a 12px label (audit 11/13, Dan 11/14). */
body.pl-wire-post .plw-take .pl-editorial__label { font-family: var(--plw-head); font-weight: 800; font-size: 22px; line-height: 1.2; letter-spacing: -.01em; text-transform: none; color: var(--plw-ink); margin: 0 0 12px; }
body.pl-wire-post .plw-take .pl-editorial__body { font-size: 20px; line-height: 1.6; color: var(--plw-ink); margin: 0; }

/* Source line */
body.pl-wire-post .plw-body > .plw-source { margin: 0 0 28px; padding: 0; background: none; border-radius: 0; font-size: 15px; line-height: 1.5; color: var(--plw-t3); }

/* Add on Google box */
body.pl-wire-post .pl-gsource { border-radius: 0; margin: 0 0 28px; }
body.pl-wire-post .pl-gsource__title { font-family: var(--plw-head); }
body.pl-wire-post .pl-gbtn { border-radius: 6px; font-family: var(--plw-head); }

/* Signup band (kept right after the take; Dan, 2026-08-01) */
body.pl-wire-post .plw-postnews { margin: 0 0 8px; padding: 26px 30px; background: var(--plw-tint2); border: 1px solid var(--plw-tint-rule); border-radius: 0; text-align: left; display: flex; flex-direction: column; gap: 12px; }
body.pl-wire-post .plw-postnews p { margin: 0; font-size: 17px; color: var(--plw-t2); }
body.pl-wire-post .plw-postnews .pl-cta__form { display: flex; gap: 10px; justify-content: flex-start; max-width: none; margin: 0; }
body.pl-wire-post .plw-postnews .pl-cta__input { flex: 1; width: auto; min-width: 0; height: 44px; padding: 0 14px; font-size: 15px; }
body.pl-wire-post .plw-postnews .pl-cta__btn { height: 44px; padding: 0 18px; border-radius: 6px; font-family: var(--plw-head); font-weight: 700; font-size: 15px; }

/* Section heads inside the article column */
.plw-body .plw-sechead { margin: 40px 0 18px; }
body.pl-wire .plw-body .plw-sechead__t { font-size: 22px; margin: 0; }

/* Drawings (markup and viewer from the old template) */
body.pl-wire-post .plw-drawings { margin: 0; scroll-margin-top: 16px; }
body.pl-wire-post .pl-filing__sub { font-size: 14px; color: var(--plw-t3); margin: -6px 0 14px; }
body.pl-wire-post .pl-filing__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
body.pl-wire-post .pl-filing__tile { height: 150px; border-radius: 0; background: var(--plw-soft); border-color: var(--plw-rule); }
body.pl-wire-post .pl-filing__tile img { mix-blend-mode: multiply; }
body.pl-wire-post .pl-filing__tile:hover { border-color: var(--plw-sky); }
body.pl-wire-post .pl-filing__label { font-size: 13px; color: var(--plw-t2); }
body.pl-wire-post .pl-filing__num { font-family: var(--plw-mono); font-size: 12px; color: var(--plw-t3); text-transform: none; letter-spacing: normal; font-variant-numeric: tabular-nums; }
body.pl-wire-post .pl-filing__browse { border-radius: 0; background: var(--plw-soft); border-color: var(--plw-rule); }
body.pl-wire-post .pl-filing__all-label { font-family: var(--plw-head); color: var(--plw-ink); }
body.pl-wire-post .plw-body details { border-radius: 0; border-color: var(--plw-rule); }
body.pl-wire-post .pl-filing__figdesc h3 { font-family: var(--plw-head); font-weight: 700; }
body.pl-wire-post .pl-filing__figdesc li { font-size: 15px; color: var(--plw-t2); }

/* Related cards */
.plw-pcards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.plw-pcard { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.plw-pcard__plate { height: 110px; padding: 6px; background: var(--plw-soft); }
.plw-pcard__plate img { mix-blend-mode: multiply; }
body.pl-wire .plw-pcard__h { font-family: var(--plw-head); font-weight: 700; font-size: 15px; line-height: 1.3; margin: 0; }
body.pl-wire .plw-pcard__h a { color: var(--plw-ink); }
body.pl-wire .plw-pcard__h a:hover { color: var(--plw-deep); }

/* Watchlist cards */
.plw-wlcards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
body.pl-wire .plw-wlcard { display: flex; gap: 14px; align-items: center; border: 1px solid var(--plw-rule); padding: 14px; color: var(--plw-ink); min-width: 0; }
body.pl-wire .plw-wlcard:hover { border-color: var(--plw-sky); background: var(--plw-tint2); text-decoration: none; }
.plw-wlcard__plate { width: 96px; height: 72px; flex: none; padding: 4px; background: var(--plw-soft); }
.plw-wlcard__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.plw-wlcard__body b { font-family: var(--plw-head); font-size: 16px; line-height: 1.25; }
.plw-wlcard__body span { font-family: var(--plw-mono); font-size: 13px; color: var(--plw-t3); text-transform: none; letter-spacing: normal; font-variant-numeric: tabular-nums; }

/* Pro link, Browse row, comments */
body.pl-wire-post .plw-body > .pl-pro-link { margin: 32px 0 0; font-size: 16px; line-height: 1.5; color: var(--plw-t2); }
body.pl-wire-post .plw-browse { justify-content: flex-start; gap: 8px; margin: 24px 0 0; padding: 0; border: 0; }
body.pl-wire-post .plw-browse .pl-browse__link { display: inline-flex; align-items: center; padding: 7px 13px; border: 1px solid var(--plw-rule2); border-radius: 999px; font-size: 14px; color: var(--plw-ink); font-weight: 400; }
body.pl-wire-post .plw-browse .pl-browse__link:hover { border-color: var(--plw-sky); background: var(--plw-tint2); text-decoration: none; }
/* Comments sit under the article column, after the sidebar on phones and
 * outside the .pl-page block. */
.plw-postcomments { grid-column: 1; min-width: 0; }
body.pl-wire-post .pl-comments { max-width: none; margin: 0; padding-top: 12px; border-top: 3px solid var(--plw-ink); }
body.pl-wire-post .pl-comments .pl-kicker { font-family: var(--plw-mono); font-weight: 600; font-size: 14px; color: var(--plw-deep); text-transform: none; letter-spacing: normal; font-variant-numeric: tabular-nums; }
body.pl-wire-post .pl-comments__title { font-family: var(--plw-head); font-weight: 800; font-size: 26px; margin: 8px 0 6px; }
body.pl-wire-post .pl-comments__formtitle { font-family: var(--plw-head); font-weight: 700; font-size: 20px; }
body.pl-wire-post .pl-comments__respond { border-top: 1px solid var(--plw-rule); }
body.pl-wire-post .pl-comments__field textarea, body.pl-wire-post .pl-comments__field input { border-color: var(--plw-rule2); border-radius: 0; font-family: var(--plw-body); }
body.pl-wire-post .pl-comments__submit { background: var(--plw-ink); color: #fff; border-radius: 6px; font-family: var(--plw-head); font-weight: 700; }
body.pl-wire-post .pl-comments__submit:hover { background: var(--plw-deep); }
/* "Add a comment" button for the collapsed form (audit 11/13, Dan 11/14). */
body.pl-wire-post .pl-comments__open { display: inline-flex; align-items: center; height: 44px; margin: 10px 0 0; padding: 0 18px; border: 1px solid var(--plw-sky); border-radius: 6px; background: #fff; color: var(--plw-ink); font-family: var(--plw-head); font-weight: 700; font-size: 15px; line-height: 1; cursor: pointer; }
body.pl-wire-post .pl-comments__open:hover, body.pl-wire-post .pl-comments__open:focus-visible { background: var(--plw-tint2); color: var(--plw-ink); }
body.pl-wire-post .pl-comments__list + .pl-comments__open, body.pl-wire-post .pl-comments__nav + .pl-comments__open { margin-top: 18px; }
/* Drawings viewer open: the page behind it doesn't scroll, and the scrollbar's
 * space is kept so nothing shifts (audit 11/13, Dan 11/14). */
html:has(#pl-pager[open]) { overflow: hidden; scrollbar-gutter: stable; }
#pl-pager { overscroll-behavior: contain; }

/* Sidebar */
.plw-side { display: flex; flex-direction: column; gap: 28px; min-width: 0; }
body.pl-wire .plw-side__h { font-family: var(--plw-head); font-weight: 800; font-size: 16px; line-height: 1.3; margin: 0 0 10px; padding-top: 10px; border-top: 3px solid var(--plw-ink); color: var(--plw-ink); }
.plw-toc, .plw-sidelist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 15px; line-height: 1.4; }
body.pl-wire .plw-toc a { color: var(--plw-t2); }
body.pl-wire .plw-sidelist a { color: var(--plw-ink); font-family: var(--plw-head); font-weight: 600; }
body.pl-wire .plw-toc a:hover, body.pl-wire .plw-sidelist a:hover { color: var(--plw-deep); }
.plw-side__more { margin: 12px 0 0; }
/* The company link folded into the release block (audit 11/13). */
.plw-side__more + .plw-side__more { margin-top: 6px; }
body.pl-wire .plw-sidecard { display: flex; flex-direction: column; gap: 4px; border: 1px solid var(--plw-rule); padding: 14px; color: var(--plw-ink); }
body.pl-wire .plw-sidecard:hover { border-color: var(--plw-sky); background: var(--plw-tint2); text-decoration: none; }
.plw-sidecard b { font-family: var(--plw-head); font-size: 16px; }
.plw-sidecard span { font-family: var(--plw-mono); font-size: 13px; color: var(--plw-t3); text-transform: none; letter-spacing: normal; font-variant-numeric: tabular-nums; }

/* Below 1024px the sidebar moves under the article (300px minimum kept). */
@media (max-width: 1023px) {
  .plw-cols { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .plw-side { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 28px 32px; }
  .plw-byline__share { align-items: flex-start; }
  /* The sidebar stacks under the article here, right after "More from" with
     the same hub link: drop the repeat (audit 11/5). */
  .plw-side__block--co .plw-side__more { display: none; }
  .plw-side__block--co:not(:has(.plw-sidecard)) { display: none; }
  .plw-side__more--co { display: none; }
}

/* Phones ------------------------------------------------------------------ */
@media (max-width: 767px) {
  .plw-crumb { font-size: 13px; padding: 12px 0; }
  .plw-posthead { gap: 14px; padding-bottom: 20px; }
  body.pl-wire .plw-posth1 { font-size: 29px; line-height: 1.12; }
  .plw-posthook { font-size: 18px; }
  .plw-byline__meta { font-size: 14px; }
  .plw-hero { margin-bottom: 20px; }
  .plw-hero__plate { height: 320px; padding: 8px; }
  .plw-hero__cap { flex-direction: column; gap: 4px; font-size: 13px; }
  .plw-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .plw-facts > div { padding: 12px 14px; }
  .plw-facts dt { font-size: 12px; }
  .plw-facts dd { font-size: 14px; }
  .plw-facts .plw-facts__m { font-size: 14px; }
  body.pl-wire .pl-page.plw-body { font-size: 17px; }
  body.pl-wire .plw-body > h2 { font-size: 24px; margin: 32px 0 12px; }
  body.pl-wire .plw-body > p, body.pl-wire .plw-body > .pl-compare p { font-size: 17px; margin-bottom: 18px; }
  .plw-glance { padding: 18px; }
  body.pl-wire-post .pl-fq { padding: 16px 18px; margin-bottom: 24px; }
  body.pl-wire-post .pl-fq__quote { font-size: 17px; }
  body.pl-wire-post .plw-take { padding: 18px; }
  body.pl-wire-post .plw-take .pl-editorial__body { font-size: 16px; }
  body.pl-wire-post .plw-take .pl-editorial__label { font-size: 19px; margin-bottom: 10px; }
  .plw-body > ul, .plw-body > ol { font-size: 17px; }
  body.pl-wire-post .plw-postnews { padding: 20px 18px; }
  body.pl-wire-post .plw-postnews .pl-cta__form { flex-direction: column; }
  body.pl-wire-post .plw-postnews .pl-cta__input, body.pl-wire-post .plw-postnews .pl-cta__btn { flex: none; height: 46px; width: 100%; }
  body.pl-wire-post .pl-comments__title { font-size: 22px; }
  .plw-body .plw-sechead { margin: 32px 0 14px; }
  body.pl-wire .plw-body .plw-sechead__t { font-size: 19px; }
  body.pl-wire-post .pl-filing__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  body.pl-wire-post .pl-filing__tile { height: 120px; }
  .plw-pcards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
  .plw-pcard__plate { height: 96px; }
  .plw-wlcards { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .plw-wlcard__plate { width: 84px; height: 64px; }
  .plw-side { grid-template-columns: minmax(0, 1fr); }
}

/* Watchlist band under the facts (parity with live, 2026-10-22) */
.plw-wlband { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 0 0 28px; padding: 10px 14px; background: var(--plw-tint2); border-left: 4px solid var(--plw-sky); font-size: 15px; line-height: 1.45; }
.plw-postchips + .plw-wlband { margin-top: -14px; }
.plw-wlband + .plw-wlband { margin-top: -22px; }
.plw-wlband__k { font-family: var(--plw-mono); font-size: 14px; font-weight: 600; color: var(--plw-deep); text-transform: none; letter-spacing: normal; font-variant-numeric: tabular-nums; }
body.pl-wire .plw-wlband a { font-weight: 600; }
.plw-wlband__n { font-family: var(--plw-mono); font-size: 13px; color: var(--plw-t3); text-transform: none; letter-spacing: normal; font-variant-numeric: tabular-nums; }
@media (max-width: 767px) {
  .plw-wlband { font-size: 14px; padding: 9px 12px; }
  .plw-wlband__k, .plw-wlband__n { font-size: 13px; }
}
