.reader-shell{max-width:1920px;margin:auto;padding:1.8rem 2.25rem 4rem;display:grid;grid-template-columns:250px minmax(0,1fr);gap:1.7rem}.contents{border:1px solid var(--line);border-radius:4px;align-self:start;position:sticky;top:1rem;max-height:calc(100vh - 2rem);display:flex;flex-direction:column;background:white}.contents-head{padding:1rem 1rem .8rem}.contents-head h2{font-size:1.1rem;margin:0 0 .8rem}.contents-head input{width:100%;height:40px;padding:0 .65rem;border:1px solid #d4dddf;border-radius:3px}.contents nav{overflow:auto;padding:.15rem 0}.toc-link{display:grid;grid-template-columns:2rem 1fr;align-items:start;gap:.35rem;padding:.58rem 1rem;font-size:.88rem;color:var(--ink);text-decoration:none;overflow-wrap:anywhere}.toc-link:hover,.toc-link.active{background:#e7f3f1;color:var(--teal);text-decoration:none}.toc-rank{font-variant-numeric:tabular-nums;color:var(--teal)}.contents-count{padding:1rem;color:var(--muted);font-size:.83rem;border-top:1px solid var(--line)}.reader-main{min-width:0}.breadcrumb{display:flex;gap:.6rem;color:var(--muted);font-size:.85rem;margin:.15rem 0 1.2rem}.breadcrumb a{text-decoration:none}.issue-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:3px solid var(--teal);padding-bottom:.95rem;margin-bottom:1.25rem}.issue-heading h1{font-size:clamp(1.8rem,2.5vw,2.55rem);line-height:1.15;letter-spacing:-.025em;margin:0}.issue-heading p{margin:.55rem 0 0;color:var(--muted)}.issue-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.5rem}.issue-actions .button-outline{white-space:nowrap;font-size:.85rem}.cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.patent-card{min-width:0;border:1px solid var(--line);border-top:4px solid var(--teal);border-radius:3px;background:white;padding:1.15rem 1.2rem 1rem;overflow-wrap:anywhere;scroll-margin-top:1rem;box-shadow:0 1px 3px #203a3c08}.patent-card h2,.patent-card h3,.patent-card h4,.patent-card p{margin-top:0}.patent-card h2{font-size:clamp(1.25rem,1.75vw,1.8rem);line-height:1.2;margin:.5rem 0 .35rem;letter-spacing:-.02em}.patent-card h3{font-size:.97rem;margin-bottom:.55rem}.patent-card h4{font-size:.86rem;margin:.1rem 0 .45rem}.card-head{padding-bottom:.8rem;border-bottom:1px solid var(--line)}.patent-line{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;color:var(--teal);font-size:.86rem;font-weight:750}.patent-line .pages,.patent-line .area{color:var(--muted);font-weight:500}.patent-line .rank{order:-1;font-size:1.04rem;color:var(--teal);min-width:1.75rem}.patent-card .company{font-weight:650}.patent-card .company .org{font-weight:400;color:var(--muted);margin-left:.45rem}.patent-card .indication,.patent-card .modality{color:var(--muted);font-size:.87rem;margin-top:.25rem}.patent-card .target-row{display:flex;align-items:baseline;gap:.65rem;flex-wrap:wrap}.patent-card .position{color:var(--teal);font-size:.78rem}.patent-card .same-week-cluster{margin:.8rem 0;padding:.55rem .7rem;background:var(--soft);font-size:.81rem;line-height:1.5}.patent-card .same-week-cluster span{font-weight:700;color:var(--teal)}.patent-card a{overflow-wrap:anywhere}.patent-card .structures:is(.pair,.tile-pair),.patent-card .member-structure-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:1rem 0 .7rem;align-items:stretch}.patent-card .structures:is(.pair,.tile-pair)>*,.patent-card .member-structure-pair>*{min-width:0;margin:0;padding:.15rem .7rem .3rem}.patent-card .structures:is(.pair,.tile-pair)>*:first-child,.patent-card .member-structure-pair>*:first-child{padding-left:0;border-right:1px solid var(--line)}.patent-card .structures:is(.pair,.tile-pair)>*:last-child,.patent-card .member-structure-pair>*:last-child{padding-right:0}.patent-card .tile-figure-title,.patent-card .structure-panel h3,.patent-card .structural-overview figcaption,.patent-card .member-kind,.patent-card .claim-scope-panel figcaption{font-size:.88rem;font-weight:750;color:var(--ink);min-height:2.25em;line-height:1.35;margin:0 0 .35rem}.patent-card .image-stage,.patent-card .tile-image,.patent-card .overview-image-link,.patent-card .member-image-stage{display:flex;align-items:center;justify-content:center;min-width:0;width:100%;background:white}.patent-card .image-stage,.patent-card .tile-image,.patent-card .member-image-stage{min-height:165px}.patent-card .overview-image-link{min-height:165px}.patent-card .structures img,.patent-card .member-structure-pair img,.patent-card .cluster-structures img{display:block;width:100%;height:165px;object-fit:contain;cursor:zoom-in}.patent-card .structure-caption,.patent-card .tile-caption,.patent-card .overview-locator,.patent-card .member-caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.3rem;font-size:.76rem;color:var(--muted);margin:.3rem 0 0;line-height:1.45}.patent-card .overview-locator{display:block}.patent-card .overview-locator a{margin-right:.5rem}.patent-card .cluster-structures{margin:1rem 0}.patent-card .cluster-structure-grid{display:grid;grid-template-columns:1fr;gap:.85rem}.patent-card .member-structure-panel{border:1px solid var(--line);padding:.75rem;min-width:0}.patent-card .member-patent-line{display:flex;justify-content:space-between;font-size:.82rem;font-weight:700}.patent-card .member-evidence{margin-top:.65rem}.patent-card .claim-scope-panel{margin:0}.patent-card .scope-note{font-size:.76rem;color:var(--muted);line-height:1.45;margin:.2rem 0}.patent-card .scope-source-link{font-size:.76rem}.patent-card .evidence,.patent-card .tile-data{border-top:1px solid var(--line);padding-top:.75rem;margin-top:.7rem}.patent-card .evidence-band+.evidence-band,.patent-card .assay-group+.assay-group{border-top:1px solid var(--line);padding-top:.7rem;margin-top:.7rem}.patent-card .evidence-band h3{font-size:.91rem;margin:.2rem 0 .6rem}.patent-card .evidence-group h4,.patent-card .section-kind{font-size:.79rem;font-weight:750;color:var(--teal)}.patent-card .condition-group+.condition-group{margin-top:.6rem}.patent-card .shared-condition,.patent-card .metric-context{font-size:.74rem;line-height:1.45;color:var(--muted);margin:.25rem 0}.patent-card .metric-grid,.patent-card .tile-readouts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.patent-card .metric,.patent-card .tile-readout{border:1px solid var(--line);border-radius:3px;padding:.55rem .6rem;min-width:0;background:#fcfdfd}.patent-card .tile-readout .tile-reading{padding:0}.patent-card .metric-label{font-size:.76rem;color:var(--muted);line-height:1.4}.patent-card .metric-reading,.patent-card .reading{font-size:.84rem;line-height:1.45;overflow-wrap:anywhere}.patent-card .metric-reading strong,.patent-card .reading strong{font-size:1.06rem;color:var(--ink)}.patent-card .metric-source{font-size:.71rem;color:var(--muted);margin-top:.18rem}.patent-card .tile-data-owner{font-size:.84rem;font-weight:750;margin-bottom:.55rem}.patent-card .tile-footer,.patent-card footer{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:.75rem;margin-top:.75rem;font-size:.81rem}.patent-card .tile-count{color:var(--muted)}.patent-card :is(.table-wrap,table){max-width:100%}.patent-card table{border-collapse:collapse;width:100%;font-size:.78rem}.patent-card td,.patent-card th{padding:.4rem;border:1px solid var(--line);overflow-wrap:anywhere}.patent-card .cluster-evidence,.patent-card .member-evidence{min-width:0}.legacy-view{max-width:1040px;margin:auto}.legacy-figure{margin:0 0 2rem;border:1px solid var(--line);padding:.7rem;background:white}.legacy-figure img{width:100%;height:auto;display:block;cursor:zoom-in}.legacy-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 1rem}.back-top{text-align:right;margin:1.2rem 0}.back-top a{border:1px solid var(--line);padding:.55rem .8rem;text-decoration:none;color:var(--ink)}.zoom-dialog{border:0;padding:0;width:min(96vw,1500px);max-width:none;max-height:95vh;background:white;box-shadow:0 15px 55px #0005}.zoom-dialog::backdrop{background:#101c20c9}.zoom-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:.65rem 1rem;font-size:.86rem}.zoom-top>div{display:flex;gap:1rem;align-items:center}.zoom-top button{font-size:1.6rem;border:0;background:white;line-height:1}.zoom-image-wrap{overflow:auto;max-height:calc(95vh - 57px);display:flex;justify-content:center;align-items:flex-start;padding:1rem}.zoom-image-wrap img{display:block;width:auto;height:auto;max-width:none;max-height:none}.zoom-image-wrap img:not(.original-size){max-width:100%;max-height:calc(95vh - 90px)}@media(max-width:1250px){.reader-shell{grid-template-columns:210px minmax(0,1fr);padding:1.3rem 1.25rem 3rem;gap:1rem}.cards-grid{grid-template-columns:1fr}}@media(max-width:750px){.reader-shell{display:block;padding:1rem}.contents{position:relative;top:auto;max-height:none;margin-bottom:1rem}.contents nav{max-height:175px}.issue-heading{display:block}.issue-actions{justify-content:flex-start;margin-top:.8rem}.cards-grid{grid-template-columns:1fr}.patent-card{padding:.9rem}.patent-card .metric-grid,.patent-card .tile-readouts{grid-template-columns:1fr 1fr}}@media(max-width:510px){.patent-card .structures:is(.pair,.tile-pair),.patent-card .member-structure-pair{grid-template-columns:1fr}.patent-card .structures:is(.pair,.tile-pair)>*,.patent-card .member-structure-pair>*{padding:.4rem 0}.patent-card .structures:is(.pair,.tile-pair)>*:first-child,.patent-card .member-structure-pair>*:first-child{border-right:0;border-bottom:1px solid var(--line)}.patent-card .metric-grid,.patent-card .tile-readouts{grid-template-columns:1fr 1fr}.zoom-top{align-items:flex-start}.zoom-top span{max-width:50%}}
.issue-heading{display:block}
.issue-actions{justify-content:flex-start;margin-top:.85rem}

/* Summary cards share four row tracks with their neighbor. Each pair of cards
   establishes its own tracks, so a tall summary never stretches later rows. */
.summary-grid {
  display: grid;
  gap: 1rem;
}
.summary-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: auto auto auto auto;
  gap: 0 1rem;
  align-items: stretch;
}
.summary-card {
  grid-row: 1 / span 4;
  display: grid;
  grid-template-rows: subgrid;
  min-width: 0;
  border: 1px solid var(--line);
  border-top: 4px solid var(--teal);
  border-radius: 3px;
  background: white;
  box-shadow: 0 1px 3px #203a3c08;
  overflow-wrap: anywhere;
  scroll-margin-top: 1rem;
}
.summary-head {
  padding: 1rem 1.1rem .85rem;
  min-width: 0;
}
.summary-folio {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: .45rem .75rem;
  color: var(--teal);
  font-size: .82rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.summary-folio span:last-child {
  color: var(--muted);
  font-weight: 500;
}
.summary-number { font-size: 1.02rem; }
.summary-folio .summary-pages,
.summary-org { color: var(--muted); font-weight: 400; }
.summary-area { margin: .3rem 0 0; color: var(--muted); font-size: .8rem; line-height: 1.45; }
.summary-head h2 {
  font-size: clamp(1.22rem, 1.55vw, 1.7rem);
  line-height: 1.25;
  margin: .55rem 0 .28rem;
}
.summary-company {
  margin: 0;
  color: var(--ink);
  font-size: .88rem;
  font-weight: 650;
}
.summary-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0 1.1rem;
  padding: .75rem 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  min-width: 0;
}
.summary-figure {
  min-width: 0;
  margin: 0;
  padding: 0 .7rem;
}
.summary-figure:first-child {
  padding-left: 0;
  border-right: 1px solid var(--line);
}
.summary-figure:last-child { padding-right: 0; }
.summary-figure .claim-scope-panel { margin: 0; }
.summary-figure h3,
.summary-figure .member-kind,
.summary-figure .tile-figure-title,
.summary-figure figcaption {
  min-height: 2.5em;
  margin: 0 0 .4rem;
  color: var(--ink);
  font-size: .86rem;
  line-height: 1.3;
  font-weight: 750;
}
.summary-figure .image-stage,
.summary-figure .member-image-stage,
.summary-figure .overview-image-link {
  display: flex;
  width: 100%;
  height: 178px;
  align-items: center;
  justify-content: center;
  background: white;
  text-decoration: none;
}
.summary-figure .image-stage a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.summary-figure img {
  display: block;
  width: 100%;
  height: 178px;
  object-fit: contain;
  cursor: zoom-in;
}
.summary-figure .source-outcome {
  padding: .7rem;
  color: var(--muted);
  font-size: .83rem;
  line-height: 1.55;
  text-align: center;
}
.summary-figure .structure-caption,
.summary-figure .member-caption,
.summary-figure .tile-caption,
.summary-figure .overview-locator,
.summary-figure .scope-note {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: .25rem .5rem;
  margin: .4rem 0 0;
  color: var(--muted);
  font-size: .76rem;
  line-height: 1.45;
}
.summary-figure .overview-locator { justify-content: flex-start; }
.summary-figure .scope-source-link { font-size: .76rem; }
.summary-data {
  min-width: 0;
  padding: .8rem 1.1rem .9rem;
}
.summary-data-title {
  margin: 0 0 .6rem;
  color: var(--teal);
  font-size: .88rem;
}
.summary-readouts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
}
.summary-readout {
  min-width: 0;
  padding: .6rem .65rem;
  border: 1px solid var(--line);
  border-radius: 3px;
  background: #fcfdfd;
}
.summary-readout h4 {
  margin: 0 0 .4rem;
  color: var(--teal);
  font-size: .78rem;
  line-height: 1.4;
}
.summary-readout .metric,
.summary-readout .tile-readout {
  min-width: 0;
}
.summary-readout .metric-label,
.summary-readout .metric-source,
.summary-readout .shared-condition,
.summary-readout .metric-context,
.summary-readout .tile-reading {
  font-size: .76rem;
  line-height: 1.45;
}
.summary-readout .metric-source,
.summary-readout .shared-condition,
.summary-readout .metric-context { color: var(--muted); }
.summary-readout .reading,
.summary-readout .metric-reading,
.summary-readout .bound-result,
.summary-readout .narrative-result {
  font-size: .84rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.summary-readout strong { color: var(--ink); font-size: 1rem; }
.summary-readout .shared-condition { margin: .35rem 0; }
.summary-readout p { margin: .3rem 0; }
.summary-footer {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .5rem .9rem;
  align-self: stretch;
  min-width: 0;
  padding: .75rem 1.1rem;
  border-top: 1px solid var(--line);
  font-size: .81rem;
}
.summary-footer span:first-child { margin-right: auto; color: var(--muted); }
.summary-footer a { font-weight: 650; }
.detail-return {
  display: inline-block;
  margin: 0 0 1rem;
  font-weight: 650;
}
.detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}
.detail-grid .patent-card { padding: 1.35rem 1.5rem; }
.detail-grid .patent-card .structures:is(.pair,.tile-pair),
.detail-grid .patent-card .member-structure-pair {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.detail-grid .patent-card .image-stage,
.detail-grid .patent-card .overview-image-link,
.detail-grid .patent-card .member-image-stage {
  background: white;
}
.detail-grid .patent-card .narrative-result,
.detail-grid .patent-card .bound-result,
.detail-grid .patent-card .reader-commentary {
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.detail-grid .patent-card .shared-condition { line-height: 1.5; }
.detail-grid .patent-card img { cursor: zoom-in; }

@media (max-width: 1299px) {
  .summary-row { grid-template-columns: minmax(0, 1fr); }
  .summary-card {
    grid-row: auto;
    display: block;
  }
  .summary-row { gap: 1rem; }
}
@media (max-width: 600px) {
  .summary-head,
  .summary-data,
  .summary-footer { padding-left: .85rem; padding-right: .85rem; }
  .summary-pair { margin: 0 .85rem; }
  .summary-readouts { grid-template-columns: minmax(0, 1fr); }
  .summary-pair { grid-template-columns: minmax(0, 1fr); }
  .summary-figure { padding: .5rem 0; }
  .summary-figure:first-child {
    padding-left: 0;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .summary-figure:last-child { padding-right: 0; }
  .detail-grid .patent-card { padding: .9rem; }
}

/* W34/W35 have one native representative structure per source record. */
.summary-pair.single-structure {
  grid-template-columns: minmax(0, 1fr);
}
.summary-pair.single-structure > .summary-figure {
  width: 100%;
  padding: 0;
  border: 0;
}
.summary-pair.single-structure .image-stage,
.summary-pair.single-structure .member-image-stage,
.summary-pair.single-structure .tile-image,
.summary-pair.single-structure .overview-image-link,
.summary-pair.single-structure img {
  width: 100%;
  height: 220px;
  background: white;
  object-fit: contain;
}
.detail-grid .patent-card .structures.historical-single {
  display: block;
  width: 100%;
  max-width: none;
  margin: 1rem 0 .7rem;
}
.detail-grid .historical-single .structure-panel,
.detail-grid .historical-single .summary-figure {
  width: 100%;
  max-width: none;
  border-right: 0;
}
.detail-grid .historical-single .image-stage,
.detail-grid .historical-single .member-image-stage {
  width: 100%;
  min-height: 280px;
  height: auto;
  background: white;
}
.detail-grid .historical-single img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
}
.original-note {
  margin: 0 0 1rem;
  padding: .8rem 1rem;
  border: 1px solid var(--line);
  background: var(--soft);
  color: var(--muted);
  font-size: .88rem;
  line-height: 1.5;
}

/* W42 complete primary evidence: one block uses the available card width. */
.summary-card[data-source-layout="full_poster_v1"] .summary-readout:only-child { grid-column: 1 / -1; }
.summary-card[data-source-layout="full_poster_v1"] .evidence-layout { display: block; }
.summary-card[data-source-layout="full_poster_v1"] .evidence-panel + .evidence-panel { margin-top: .8rem; }
