@font-face {
  font-family: Workbench;
  src: local("Inter"), local("Aptos"), local("Segoe UI");
  font-display: swap;
}
* {
  box-sizing: border-box;
}
:root {
  font-family: Workbench, Arial, sans-serif;
  color: #203044;
  background: #f5f6f8;
  font-synthesis: none;
  --navy: #101f32;
  --teal: #087f79;
  --teal-dark: #07645e;
  --muted: #748092;
  --line: #e3e8ed;
  --amber: #c28a34;
  --shadow: 0 5px 22px #182c4410;
}
body {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
}
button,
input,
select,
textarea {
  font: inherit;
}
button,
a,
input,
select,
textarea {
  -webkit-tap-highlight-color: transparent;
}
button,
a {
  touch-action: manipulation;
}
button {
  cursor: pointer;
}
button:disabled {
  cursor: wait;
  opacity: 0.55;
}
a {
  color: var(--teal);
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid #56b8b0;
  outline-offset: 3px;
}
.hidden {
  display: none !important;
}
h1,
h2,
h3,
h4,
p {
  margin: 0;
}
h1 {
  font-size: 31px;
  letter-spacing: -1.1px;
  line-height: 1.2;
  font-weight: 650;
}
h2 {
  font-size: 22px;
  letter-spacing: -0.5px;
  line-height: 1.3;
}
h3 {
  font-size: 16px;
  font-weight: 650;
  line-height: 1.4;
}
h4 {
  font-size: 13px;
  margin-bottom: 9px;
}
p {
  color: #667486;
}
small {
  font-size: 11px;
}
.muted {
  color: var(--muted);
}
.tiny {
  font-size: 11px;
}
.eyebrow {
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 1.9px;
  color: var(--teal);
  margin-bottom: 12px;
}
.preline {
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.button {
  border: 1px solid #dce3e8;
  background: #fff;
  border-radius: 7px;
  padding: 10px 16px;
  font-size: 12px;
  font-weight: 650;
  color: #354457;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  white-space: nowrap;
  transition:
    background 0.15s,
    box-shadow 0.15s;
}
.button:hover {
  background: #f1f6f5;
  box-shadow: 0 2px 5px #152c4310;
  text-decoration: none;
}
.button.primary {
  background: var(--teal);
  border-color: var(--teal);
  color: #fff;
}
.button.primary:hover {
  background: var(--teal-dark);
}
.button.dark {
  background: var(--navy);
  color: #fff;
  border-color: var(--navy);
}
.button.small {
  padding: 7px 11px;
  font-size: 11px;
}
.button.ghost {
  background: transparent;
  border-color: transparent;
  color: var(--teal);
}
.button.full {
  width: 100%;
  justify-content: space-between;
}
.icon-button {
  border: 0;
  background: none;
  color: inherit;
  font-size: 19px;
  padding: 6px 8px;
  border-radius: 5px;
}
.icon-button:hover {
  background: #ffffff12;
}
.pill,
.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid #e4e9ec;
  border-radius: 4px;
  padding: 3px 7px;
  font-size: 10px;
  font-weight: 650;
  color: #788394;
  letter-spacing: 0.3px;
}
.pill.teal,
.badge.teal {
  color: #08766f;
  background: #e9f5f2;
  border-color: #daede7;
}
.pill.amber {
  background: #fff4df;
  border-color: #f3e4c9;
  color: #956720;
}
.pill.navy {
  background: #eef0f6;
  color: #556485;
}
.status-pill {
  font-size: 10px;
  color: #5c736e;
  display: flex;
  gap: 6px;
  align-items: center;
}
.status-pill:before {
  content: "";
  width: 6px;
  height: 6px;
  background: #42a18f;
  border-radius: 50%;
}
.status-pill.demo:before {
  background: #c49137;
}
.app-shell {
  display: flex;
  min-height: 100vh;
}
.sidebar {
  width: 234px;
  background: var(--navy);
  color: #a6b2c2;
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 30;
  padding: 29px 18px 0;
  display: flex;
  flex-direction: column;
}
.brand {
  display: flex;
  align-items: center;
  gap: 11px;
  color: #fff;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.7px;
  text-decoration: none !important;
}
.brand-mark {
  position: relative;
  font-size: 17px;
  letter-spacing: -1px;
  background: #ffffff0d;
  border: 1px solid #ffffff21;
  width: 41px;
  height: 41px;
  border-radius: 10px;
  display: grid;
  place-items: center;
}
.brand-mark span {
  position: absolute;
  right: 6px;
  bottom: 8px;
  width: 5px;
  height: 5px;
  background: #57c5ad;
  border-radius: 50%;
}
.brand small {
  display: block;
  letter-spacing: 1.3px;
  font-size: 6px;
  color: #738599;
  margin-top: 0;
}
.workspace-label {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 30px 0 23px;
  padding: 11px 9px;
  border: 1px solid #ffffff11;
  border-radius: 7px;
  font-size: 10px;
  color: #dce4ed;
}
.workspace-label small {
  display: block;
  color: #71849a;
  font-size: 9px;
}
.workspace-label > span:last-child {
  margin-left: auto;
}
.workspace-square {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  background: #223448;
  color: #aec0cf;
  border-radius: 5px;
}
.nav-label {
  font-size: 8px;
  letter-spacing: 1.5px;
  color: #6c7e94;
  margin: 20px 12px 10px;
  font-weight: 650;
}
.nav-item {
  display: flex;
  align-items: center;
  gap: 11px;
  border: 0;
  background: none;
  width: 100%;
  text-align: left;
  padding: 11px 12px;
  margin: 3px 0;
  border-radius: 6px;
  color: #9cacc0;
  font-size: 11px;
  font-weight: 500;
}
.nav-item:hover {
  background: #ffffff07;
  color: white;
}
.nav-item.active {
  background: #1c3e47;
  color: #a1e1d2;
}
.nav-icon {
  font-size: 19px;
  width: 19px;
  line-height: 1;
  font-weight: 400;
}
.nav-count {
  margin-left: auto;
  background: #2a4f56;
  border-radius: 4px;
  padding: 1px 5px;
  font-size: 9px;
}
.sidebar-bottom {
  margin-top: auto;
  padding-top: 24px;
}
.apertus-note {
  display: flex;
  gap: 9px;
  align-items: center;
  margin: 0 5px 22px;
  padding: 14px 9px;
  border-top: 1px solid #ffffff0b;
  border-bottom: 1px solid #ffffff0b;
  font-size: 10px;
  color: #c3d2dc;
}
.apertus-note small {
  display: block;
  font-size: 8px;
  color: #73869c;
  margin-top: 3px;
}
.spark {
  color: #89cbbd;
  font-size: 25px;
}
.sidebar-user {
  display: flex;
  gap: 9px;
  align-items: center;
  border-top: 1px solid #ffffff0c;
  margin-top: 14px;
  padding: 19px 4px;
}
.avatar {
  display: grid;
  place-items: center;
  flex: none;
  width: 31px;
  height: 31px;
  background: #314459;
  color: #d5e1ea;
  font-size: 10px;
  border-radius: 50%;
}
.sidebar-user strong {
  display: block;
  color: #d9e3ec;
  font-size: 10px;
  max-width: 112px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sidebar-user small {
  display: block;
  color: #6d8399;
  font-size: 9px;
}
.sidebar-user button {
  margin-left: auto;
  font-size: 16px;
}
.main-area {
  margin-left: 234px;
  width: calc(100% - 234px);
  min-width: 0;
}
.topbar {
  height: 69px;
  background: #ffffffcf;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 38px;
  gap: 15px;
}
.breadcrumb {
  display: flex;
  gap: 14px;
  align-items: center;
  font-size: 10px;
  color: #94a0ad;
}
.breadcrumb b {
  color: #c5ced7;
  font-weight: 400;
}
.breadcrumb strong {
  color: #556478;
  font-weight: 500;
}
.top-actions {
  display: flex;
  gap: 22px;
  align-items: center;
}
.language-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 9px;
  color: #8792a1;
}
.language-label select {
  border: 1px solid #e1e6ea;
  background: #fff;
  border-radius: 4px;
  font-size: 10px;
  padding: 5px;
  color: #4b5e73;
}
.content {
  padding: 32px 38px 44px;
  max-width: 1700px;
  margin: auto;
  min-height: calc(100vh - 117px);
}
.app-footer {
  display: flex;
  justify-content: space-between;
  padding: 15px 38px;
  border-top: 1px solid var(--line);
  font-size: 9px;
  color: #9aa5b1;
  letter-spacing: 0.2px;
}
.page-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 25px;
}
.page-head p {
  font-size: 12px;
  margin-top: 9px;
}
.page-head .eyebrow {
  font-size: 9px;
  margin-bottom: 8px;
}
.page-head .actions {
  display: flex;
  gap: 8px;
}
.date-stamp {
  font-size: 10px;
  color: #84909f;
}
.welcome-title {
  font-size: 29px;
}
.search-hero {
  border: 1px solid #dce6e5;
  border-radius: 11px;
  background: linear-gradient(115deg, #fff 0%, #fff 58%, #eaf4f0 100%);
  padding: 30px 33px;
  position: relative;
  overflow: hidden;
  margin-bottom: 23px;
}
.search-hero h2 {
  font-size: 25px;
  letter-spacing: -0.8px;
  margin-bottom: 8px;
}
.search-hero h2 em {
  font-family: Georgia, serif;
  font-weight: 400;
  color: #16867c;
}
.search-hero > p {
  font-size: 12px;
  max-width: 690px;
}
.search-hero .eyebrow {
  font-size: 9px;
}
.search-form {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border: 1px solid #dbe5e7;
  box-shadow: 0 3px 12px #172a4110;
  border-radius: 8px;
  margin-top: 23px;
  padding: 7px 8px 7px 16px;
  position: relative;
}
.search-form .search-icon {
  font-size: 25px;
  color: #6f9197;
}
.search-form input {
  border: 0 !important;
  box-shadow: none;
  background: transparent;
  min-width: 0;
  flex: 1;
  padding: 8px 1px;
  font-size: 12px;
}
.search-form input:focus {
  outline: none;
}
.search-form:focus-within {
  outline: 2px solid #a6d5cc;
}
.search-chips {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 15px;
}
.search-chips > span {
  font-size: 9px;
  color: #8a96a4;
  margin-right: 2px;
}
.chip {
  border: 1px solid #e0e8e8;
  background: #ffffffb3;
  color: #5d7280;
  border-radius: 4px;
  padding: 5px 9px;
  font-size: 9px;
}
.chip:hover {
  border-color: #99bfb4;
  color: var(--teal);
}
.hero-grid-decoration {
  position: absolute;
  right: -30px;
  top: -70px;
  width: 350px;
  height: 260px;
  transform: rotate(-25deg);
  opacity: 0.25;
  background-image:
    linear-gradient(#9bc4b52a 1px, transparent 1px),
    linear-gradient(90deg, #9bc4b54a 1px, transparent 1px);
  background-size: 24px 24px;
  pointer-events: none;
}
.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
  margin: 22px 0;
}
.stat-card {
  padding: 18px 19px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.stat-card .stat-label {
  font-size: 10px;
  color: #778496;
}
.stat-value {
  font-size: 29px;
  font-weight: 600;
  letter-spacing: -1px;
  line-height: 1.3;
  margin-top: 8px;
}
.stat-foot {
  font-size: 9px;
  color: #9aa4af;
  margin-top: 4px;
}
.stat-icon {
  background: #eef5f4;
  border-radius: 7px;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  color: #529c91;
  font-size: 16px;
}
.card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 9px;
  min-width: 0;
  overflow: hidden;
}
.pad {
  padding: 23px;
}
.panel-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 20px 23px;
  border-bottom: 1px solid #edf0f3;
}
.panel-head h3 {
  font-size: 13px;
}
.panel-head p,
.panel-head small {
  font-size: 10px;
  color: #8a96a5;
}
.panel-head p {
  margin-top: 3px;
}
.panel-head .actions {
  display: flex;
  gap: 7px;
}
.home-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 20px;
}
.list-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  padding: 17px 22px;
  border-bottom: 1px solid #edf0f3;
}
.list-row:last-child {
  border-bottom: 0;
}
.list-row strong {
  font-size: 12px;
}
.list-row p {
  font-size: 10px;
  margin-top: 3px;
}
.list-row small {
  font-size: 9px;
}
.list-row .row-icon {
  background: #edf4f3;
  border-radius: 7px;
  padding: 9px 11px;
  color: var(--teal);
}
.list-main {
  flex: 1;
  min-width: 0;
}
.workflow-list {
  padding: 7px 23px 15px;
}
.workflow-step {
  display: flex;
  gap: 13px;
  padding: 15px 0;
}
.step-number {
  border: 1px solid #dce9e5;
  background: #f1f8f5;
  color: #529688;
  font-size: 10px;
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border-radius: 50%;
  flex: none;
}
.workflow-step h4 {
  margin: 0 0 4px;
  font-size: 11px;
}
.workflow-step p {
  font-size: 10px;
  line-height: 1.65;
}
.card-foot {
  background: #f8fafb;
  border-top: 1px solid #edf0f3;
  padding: 13px 23px;
  color: #83929f;
  font-size: 9px;
}
.feature-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 25px;
  border: 1px solid #dce5e7;
  border-radius: 9px;
  background: #eef3f5;
  margin-top: 22px;
}
.feature-banner h3 {
  font-size: 13px;
  margin-bottom: 5px;
}
.feature-banner p {
  font-size: 10px;
}
.filters {
  display: flex;
  align-items: end;
  gap: 11px;
  flex-wrap: wrap;
  margin-top: 17px;
}
.filters label {
  font-size: 9px;
  color: #7d8a98;
  display: block;
}
.filters input,
.filters select {
  display: block;
  margin-top: 4px;
  padding: 7px 9px;
  font-size: 10px;
  border: 1px solid #dce5e6;
  border-radius: 5px;
  background: #fff;
  max-width: 165px;
}
.filters input[type="number"] {
  width: 87px;
}
.query-plan {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 12px 17px;
  background: #edf5f2;
  border: 1px solid #ddece7;
  border-radius: 7px;
  margin-bottom: 20px;
  font-size: 10px;
  color: #66867a;
}
.query-plan code {
  font-size: 10px;
  color: #396d61;
  overflow-wrap: anywhere;
}
.query-plan details {
  width: 100%;
}
.query-plan summary {
  cursor: pointer;
}
.query-plan p {
  margin-top: 5px;
}
.analytics-grid {
  display: grid;
  grid-template-columns: 1.65fr 1fr;
  gap: 18px;
  margin-bottom: 20px;
}
.chart-wrap {
  padding: 15px 20px 9px;
}
.chart {
  display: block;
  width: 100%;
  height: auto;
  max-height: 260px;
  overflow: visible;
}
.chart text {
  font-family: Workbench, Arial, sans-serif;
  font-size: 10px;
  fill: #8e9caa;
}
.chart .grid-line {
  stroke: #eaf0f2;
  stroke-dasharray: 3 4;
}
.chart .history-bar {
  fill: #76b9ad;
}
.chart .history-bar.last {
  fill: #cbab71;
}
.chart .history-bar:hover {
  fill: #138579;
}
.chart .line-base {
  fill: none;
  stroke: #138579;
  stroke-width: 3;
}
.chart .line-low {
  fill: none;
  stroke: #8ea7bf;
  stroke-width: 2;
  stroke-dasharray: 5 4;
}
.chart .line-high {
  fill: none;
  stroke: #c49851;
  stroke-width: 2;
  stroke-dasharray: 5 4;
}
.chart .area-band {
  fill: #e9f2ef;
}
.chart-legend {
  display: flex;
  justify-content: center;
  gap: 17px;
  font-size: 9px;
  color: #8d99a5;
  padding-bottom: 10px;
}
.chart-legend span:before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  background: #76b9ad;
  border-radius: 2px;
  margin-right: 6px;
}
.chart-legend .amber:before {
  background: #cbab71;
}
.chart-legend .blue:before {
  background: #8ea7bf;
}
.facets-tabs {
  display: flex;
  gap: 5px;
  padding: 12px 19px 0;
}
.facets-tabs button {
  border: 0;
  background: none;
  border-radius: 4px;
  padding: 4px 8px;
  font-size: 9px;
  color: #81909d;
}
.facets-tabs button.active {
  background: #eef4f2;
  color: #388475;
}
.facet-list {
  padding: 7px 21px 16px;
}
.facet-row {
  margin-top: 13px;
}
.facet-label {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 9px;
  margin-bottom: 5px;
}
.facet-label span:first-child {
  max-width: 85%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.facet-bar {
  width: 100%;
  height: 5px;
  display: block;
}
.facet-bar .track {
  fill: #f0f3f5;
}
.facet-bar .fill {
  fill: #6fb2a4;
}
.source-note {
  font-size: 9px;
  color: #8e9aa6;
  padding: 10px 21px;
  border-top: 1px solid #edf0f3;
  overflow-wrap: anywhere;
}
.source-note p {
  font-size: 9px;
}
.results-layout {
  display: grid;
  grid-template-columns: 1fr 264px;
  gap: 18px;
}
.results-meta {
  display: flex;
  align-items: center;
  gap: 9px;
}
.result-card {
  padding: 20px 23px;
  border-bottom: 1px solid #edf0f3;
  display: flex;
  gap: 15px;
}
.result-card:last-child {
  border-bottom: 0;
}
.result-select {
  padding-top: 3px;
  flex: none;
}
.result-select input {
  accent-color: var(--teal);
  width: 14px;
  height: 14px;
}
.result-main {
  min-width: 0;
  flex: 1;
}
.result-top {
  display: flex;
  gap: 9px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.patent-id {
  font-family: monospace;
  font-size: 10px;
  font-weight: 600;
  color: #458a7b;
}
.result-date {
  font-size: 9px;
  color: #9aa5b0;
  margin-left: auto;
}
.result-title {
  padding: 0;
  background: none;
  border: 0;
  text-align: left;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 600;
  color: #263a4d;
}
.result-title:hover {
  color: var(--teal);
}
.result-card p {
  font-size: 11px;
  line-height: 1.75;
  margin: 7px 0 11px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.result-footer {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  font-size: 9px;
  color: #83909c;
}
.result-footer .button {
  margin-left: auto;
}
.pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 17px 22px;
  font-size: 10px;
  color: #7c8998;
}
.research-aside {
  background: #152c3d;
  color: white;
  border-radius: 9px;
  padding: 23px 21px;
  align-self: start;
}
.research-aside .eyebrow {
  color: #79c0af;
  font-size: 8px;
}
.research-aside h3 {
  font-size: 20px;
  line-height: 1.35;
  letter-spacing: -0.5px;
  margin-bottom: 12px;
}
.research-aside p {
  color: #8ea6b7;
  font-size: 10px;
  line-height: 1.8;
}
.research-aside .model-step {
  display: flex;
  gap: 9px;
  align-items: center;
  border-bottom: 1px solid #ffffff0a;
  padding: 13px 0;
  font-size: 10px;
  color: #c3d2de;
}
.model-step span {
  color: #6a9c9b;
  font-size: 9px;
}
.research-aside .button {
  margin-top: 19px;
  width: 100%;
}
.research-aside .footnote {
  font-size: 8px;
  margin-top: 12px;
}
.selection-bar {
  position: sticky;
  bottom: 16px;
  background: #142e3e;
  color: #d6e9e9;
  padding: 12px 18px;
  box-shadow: 0 6px 30px #0c233a30;
  border-radius: 9px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-top: 15px;
  z-index: 5;
  font-size: 11px;
}
.selection-bar .actions {
  display: flex;
  gap: 7px;
}
.selection-bar .button.ghost {
  color: #9fc3c0;
}
.empty {
  padding: 35px 23px;
  text-align: center;
}
.empty-icon {
  font-size: 26px;
  color: #8db9af;
  margin-bottom: 10px;
}
.empty h3 {
  font-size: 13px;
  margin-bottom: 6px;
}
.empty p {
  font-size: 11px;
  max-width: 430px;
  margin: auto;
  line-height: 1.8;
}
.empty .button {
  margin-top: 16px;
}
.loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #83939f;
  padding: 42px 20px;
  font-size: 11px;
}
.spinner {
  width: 17px;
  height: 17px;
  border: 2px solid #dceae6;
  border-top-color: #459a88;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.notice {
  background: #f0f7f5;
  color: #56796f;
  border: 1px solid #e0ece7;
  border-radius: 6px;
  padding: 13px 15px;
  font-size: 11px;
  line-height: 1.8;
  margin: 15px 0;
}
.notice.warn {
  background: #fff8ec;
  color: #987744;
  border-color: #f1e6d1;
}
.error-card {
  border: 1px solid #edddd6;
  border-radius: 7px;
  color: #ad7764;
  padding: 18px;
  font-size: 12px;
  background: #fff8f5;
}
.split-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.form-row {
  display: flex;
  gap: 10px;
  align-items: center;
}
.inline-form {
  display: grid;
  gap: 14px;
  margin-top: 20px;
}
.inline-form label,
label.field-label {
  font-size: 11px;
  color: #738393;
  display: block;
}
.inline-form input,
.inline-form select,
.inline-form textarea,
label.field-label input,
label.field-label select {
  width: 100%;
  margin-top: 5px;
}
input:not([type="checkbox"]),
select,
textarea {
  border: 1px solid #dde4e9;
  border-radius: 5px;
  padding: 9px 11px;
  background: #fff;
  color: #33495b;
  min-width: 0;
}
input::placeholder,
textarea::placeholder {
  color: #a3adb7;
}
textarea {
  resize: vertical;
  min-height: 90px;
}
.grow {
  flex: 1;
}
.metadata {
  font-size: 10px;
  line-height: 1.8;
  color: #80909e;
  margin-top: 20px;
  padding-top: 15px;
  border-top: 1px solid #edf0f3;
  overflow-wrap: anywhere;
}
.metadata strong {
  display: block;
  color: #577066;
  margin-bottom: 6px;
}
.tabs {
  display: flex;
  overflow-x: auto;
  gap: 0;
  padding: 0 28px;
  border-bottom: 1px solid #e4eaee;
  background: #fff;
}
.tabs button {
  border: 0;
  border-bottom: 2px solid transparent;
  background: none;
  color: #84929e;
  white-space: nowrap;
  padding: 15px 13px;
  font-size: 11px;
}
.tabs button.active {
  color: #127e73;
  border-bottom-color: #128678;
}
.patent-dialog {
  position: fixed;
  inset: 0 0 0 250px;
  margin: 0;
  width: calc(100vw - 250px);
  max-width: none;
  height: 100vh;
  height: 100dvh;
  max-height: none;
  padding: 0;
  border: 0;
  border-radius: 0;
  overflow-x: hidden;
  overflow-y: auto;
  background: #fbfcfc;
  color: #2b3d4f;
  z-index: 25;
}
.patent-dialog #patent-content {
  max-width: 1600px;
  min-height: 100%;
  margin: 0 auto;
}
.patent-dialog::backdrop,
.action-dialog::backdrop {
  background: #0b1c35aa;
  backdrop-filter: blur(4px);
}
.dialog-top {
  padding: 16px 28px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #f7faf9;
  border-bottom: 1px solid #e7edea;
}
.patent-dialog .dialog-top {
  position: sticky;
  top: 0;
  z-index: 11;
  height: 56px;
  padding-block: 6px;
}
.patent-dialog .tabs {
  position: sticky;
  top: 56px;
  z-index: 10;
}
.dialog-top .eyebrow {
  margin: 0;
  font-size: 9px;
}
.dialog-top .icon-button {
  color: #80919c;
}
.patent-header {
  padding: 26px 30px 23px;
}
.patent-header h2 {
  font-size: 25px;
  max-width: 860px;
  line-height: 1.45;
  margin: 10px 0 12px;
}
.detail-meta {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  font-size: 11px;
  color: #7f8c98;
}
.detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}
.tab-body {
  padding: 28px 30px;
  background: #fbfcfc;
  min-height: 300px;
}
.brief-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 20px;
}
.brief-card {
  background: white;
  border: 1px solid #e2eae7;
  border-radius: 8px;
  padding: 22px;
  margin-bottom: 18px;
}
.brief-card h3 {
  font-size: 14px;
  margin-bottom: 11px;
}
.brief-card p,
.brief-card li {
  font-size: 12px;
  line-height: 1.9;
  color: #667988;
}
.brief-card .eyebrow {
  font-size: 8px;
}
.brief-card.emphasis {
  background: #edf6f2;
  border-color: #d7e9e0;
}
.brief-section {
  margin-bottom: 18px;
}
.brief-section h4 {
  color: #4b776a;
  font-size: 11px;
  margin-bottom: 5px;
}
.application-card {
  border-top: 1px solid #e0eae5;
  padding-top: 14px;
  margin-top: 14px;
}
.application-card h4 {
  font-size: 12px;
  color: #2b6e60;
}
.application-card .validation {
  font-size: 10px;
  color: #849084;
  margin-top: 8px;
}
.claim {
  padding: 17px 20px;
  border: 1px solid #e2e8eb;
  border-radius: 7px;
  background: #fff;
  margin-bottom: 12px;
  line-height: 1.9;
  font-size: 12px;
  white-space: pre-line;
}
.claim-index {
  color: var(--teal);
  font-weight: 700;
  margin-right: 10px;
}
.patent-drawing {
  width: 100%;
  max-height: 700px;
  object-fit: contain;
  background: white;
  border: 1px solid #e4eaec;
}
.source-card {
  background: #fff;
  border: 1px solid #e3e9ec;
  border-radius: 6px;
  padding: 15px;
  margin-top: 12px;
  font-size: 11px;
  overflow-wrap: anywhere;
}
.source-card p {
  margin-top: 5px;
  font-size: 11px;
  line-height: 1.8;
}
.evidence-list {
  margin-top: 15px;
}
.evidence-item {
  font-size: 10px;
  padding: 12px 0;
  border-top: 1px solid #e8eeee;
  color: #7d8c98;
}
.evidence-item b {
  color: #328773;
}
.evidence-item p {
  font-size: 10px;
  margin-top: 5px;
}
.action-dialog {
  padding: 26px;
  border: 1px solid #dde6e8;
  border-radius: 10px;
  width: 440px;
  max-width: calc(100vw - 30px);
  color: #304459;
}
.action-dialog h3 {
  font-size: 19px;
  margin-bottom: 8px;
}
.action-dialog p {
  font-size: 11px;
}
.dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  margin-top: 20px;
}
.report-layout {
  display: grid;
  grid-template-columns: 285px 1fr;
  gap: 20px;
}
.report-list button {
  width: 100%;
  border: 0;
  border-bottom: 1px solid #edf0f3;
  background: #fff;
  padding: 17px 20px;
  text-align: left;
}
.report-list button:hover,
.report-list button.active {
  background: #eff6f3;
}
.report-list strong {
  display: block;
  font-size: 11px;
  line-height: 1.7;
  color: #375266;
  margin: 7px 0;
}
.report-list small {
  color: #9aa5af;
  font-size: 9px;
}
.report-list .pill {
  font-size: 8px;
}
.report-document {
  padding: 31px;
}
.report-document h2 {
  font-size: 26px;
  line-height: 1.4;
  margin: 10px 0 15px;
}
.report-summary {
  font-size: 13px;
  color: #617583;
  line-height: 1.9;
  padding: 20px;
  background: #f0f6f3;
  border-left: 3px solid #75af9e;
  border-radius: 0 5px 5px 0;
  white-space: pre-line;
}
.report-section {
  margin-top: 27px;
}
.report-section h3 {
  font-size: 15px;
  margin-bottom: 12px;
}
.report-section p {
  font-size: 12px;
  line-height: 1.9;
  white-space: pre-line;
}
.report-section ul {
  padding-left: 19px;
  color: #6d7f8c;
  font-size: 12px;
  line-height: 1.9;
}
.opportunity {
  border: 1px solid #e0e8e6;
  border-radius: 7px;
  padding: 20px;
  margin-top: 13px;
  background: #fafcfb;
}
.opportunity h4 {
  font-size: 14px;
  margin-top: 9px;
  color: #2f6459;
}
.opportunity-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
  margin-top: 13px;
}
.opportunity-grid p {
  font-size: 11px;
}
.opportunity-grid strong {
  font-size: 9px;
  color: #8ba298;
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.7px;
  margin-bottom: 3px;
}
.experiment {
  font-size: 11px;
  border-top: 1px solid #e1eae5;
  padding-top: 13px;
  margin-top: 14px;
  color: #50786d;
}
.job-progress {
  padding: 27px;
}
.job-progress h2 {
  font-size: 22px;
  margin-bottom: 10px;
}
.progress-track {
  height: 6px;
  width: 100%;
  margin: 20px 0;
  border-radius: 3px;
  accent-color: var(--teal);
}
.stage {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 15px 0;
  border-bottom: 1px solid #edf0f3;
}
.stage-dot {
  border: 1px solid #dce6e5;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #89a298;
  font-size: 10px;
}
.stage.done .stage-dot {
  background: #e4f4eb;
  color: #278764;
}
.stage.active .stage-dot {
  background: #e3f1ef;
  color: #12887b;
}
.stage strong {
  font-size: 11px;
}
.stage small {
  display: block;
  color: #92a0ab;
  font-size: 9px;
}
.stage-label {
  margin-left: auto;
  font-size: 9px;
  color: #84a395;
}
.model-line {
  font-size: 9px;
  color: #859a92;
  margin-top: 17px;
  overflow-wrap: anywhere;
}
.market-grid {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 20px;
  margin-top: 20px;
}
.scenario-form {
  padding: 23px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.scenario-form .wide {
  grid-column: 1 / -1;
}
.scenario-form label {
  font-size: 10px;
  color: #82909c;
}
.scenario-form input,
.scenario-form select {
  width: 100%;
  margin-top: 5px;
  font-size: 11px;
}
.scenario-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid #e7edf0;
}
.scenario-metrics > div {
  padding: 18px 20px;
  border-right: 1px solid #e7edf0;
}
.scenario-metrics small {
  font-size: 9px;
  color: #90a0aa;
  display: block;
}
.scenario-metrics strong {
  font-size: 22px;
  letter-spacing: -0.5px;
  display: block;
  color: #387b6a;
  margin-top: 4px;
}
.scenario-metrics .low strong {
  color: #859bb1;
}
.scenario-metrics .high strong {
  color: #b38e52;
}
.context-sources {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
  margin-top: 20px;
}
.context-source {
  padding: 21px;
}
.context-source h3 {
  font-size: 13px;
  margin: 9px 0;
}
.context-source p {
  font-size: 10px;
  line-height: 1.85;
}
.context-source a {
  font-size: 10px;
  display: block;
  margin-top: 12px;
}
.context-source small {
  color: #99a6b0;
  font-size: 9px;
}
.compare-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
}
.compare-card {
  padding: 22px;
}
.compare-card h3 {
  font-size: 14px;
  line-height: 1.65;
  margin: 11px 0;
}
.compare-card p {
  font-size: 11px;
  line-height: 1.85;
}
.compare-cell {
  border-top: 1px solid #e7eeea;
  padding-top: 15px;
  margin-top: 15px;
}
.compare-cell h4 {
  font-size: 9px;
  color: #7d9c90;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.routing-panel {
  margin-top: 20px;
}
.route-row {
  margin: 13px 0;
}
.route-row label {
  min-width: 140px;
  font-size: 11px;
}
.route-row select {
  font-size: 10px;
}
.toast {
  position: fixed;
  bottom: 25px;
  left: 50%;
  transform: translateX(-50%);
  background: #183d44;
  color: #e8f5ed;
  padding: 13px 23px;
  border-radius: 8px;
  z-index: 100;
  box-shadow: 0 8px 40px #05182d24;
  font-size: 12px;
  max-width: calc(100vw - 30px);
}
.login-screen {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  min-height: 100vh;
  background: white;
}
.login-art {
  background: #112637;
  color: #fff;
  padding: 45px 65px;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.login-story {
  margin: auto 0;
  padding: 70px 0;
  position: relative;
  z-index: 1;
}
.login-story h1 {
  font-size: 49px;
  letter-spacing: -1.8px;
  line-height: 1.2;
  font-weight: 500;
}
.login-story h1 em {
  font-family: Georgia, serif;
  color: #92d1bc;
  font-weight: 400;
}
.login-story .eyebrow {
  color: #71b4a7;
  font-size: 9px;
  margin-bottom: 23px;
}
.login-story .eyebrow a,
.workspace-label small a {
  color: inherit;
  text-decoration: none;
}
.login-story p {
  color: #91a8b9;
  font-size: 12px;
  line-height: 1.9;
  margin-top: 25px;
}
.login-credit {
  font-size: 8px;
  letter-spacing: 1px;
  color: #708c9d;
  z-index: 1;
}
.login-credit span {
  margin: 0 12px;
  color: #a0b6b9;
}
.orbital {
  position: absolute;
  width: 320px;
  height: 320px;
  right: -210px;
  bottom: -20px;
  z-index: -1;
  opacity: 0.45;
}
.orbit-ring {
  position: absolute;
  inset: 0;
  border: 1px solid #619994;
  border-radius: 50%;
  transform: rotate(-30deg) scaleX(0.6);
}
.orbit-ring.second {
  transform: rotate(35deg) scaleX(0.6);
}
.orbit-core {
  position: absolute;
  inset: 110px;
  border: 1px solid #6fa698;
  background: #2e6a60;
  color: #a6d7c7;
  display: grid;
  place-items: center;
  font:
    35px Georgia,
    serif;
  border-radius: 50%;
}
.orbit-point {
  position: absolute;
  width: 10px;
  height: 10px;
  border: 2px solid #95ccb8;
  background: #447f73;
  border-radius: 50%;
}
.orbit-point.one {
  top: 25px;
  left: 65px;
}
.orbit-point.two {
  bottom: 60px;
  left: 58px;
}
.orbit-point.three {
  top: 90px;
  right: 30px;
}
.login-panel {
  display: grid;
  place-items: center;
  padding: 40px;
}
.login-box {
  width: 345px;
  max-width: 100%;
}
.login-box h2 {
  font-size: 30px;
  letter-spacing: -1px;
  margin: 21px 0 9px;
}
.login-box > p {
  font-size: 12px;
}
.login-box form {
  display: grid;
  gap: 19px;
  margin-top: 34px;
}
.login-box label {
  font-size: 11px;
  color: #6b7b89;
}
.login-box input {
  width: 100%;
  margin-top: 7px;
  padding: 12px;
  font-size: 12px;
}
.login-box .button {
  margin-top: 7px;
  padding: 13px 15px;
}
.login-box .login-note {
  font-size: 10px;
  color: #a0aab4;
  text-align: center;
  margin-top: 24px;
  line-height: 1.9;
}
.login-footer {
  margin-top: 80px;
  padding-top: 21px;
  border-top: 1px solid #e8edef;
  color: #667e8b;
  font-size: 10px;
  display: flex;
  justify-content: space-between;
}
.login-footer span {
  color: #9fabb4;
  font-size: 8px;
}
.form-error {
  color: #b26050;
  font-size: 11px;
  margin-top: 14px;
}
.mobile-menu {
  display: none;
}
.table-scroll {
  overflow-x: auto;
}
.data-table {
  border-collapse: collapse;
  width: 100%;
  font-size: 11px;
}
.data-table th,
.data-table td {
  padding: 11px 18px;
  text-align: left;
  border-bottom: 1px solid #edf0f3;
}
.data-table th {
  color: #82938e;
  font-size: 9px;
  font-weight: 500;
  background: #f8faf9;
}
.description-text {
  line-height: 1.95;
  font-size: 12px;
  color: #667b89;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.source-details {
  margin-top: 15px;
  font-size: 10px;
  color: #83959d;
}
.source-details summary {
  cursor: pointer;
  color: #548275;
}
.source-details .data-table {
  margin-top: 12px;
  font-size: 10px;
}
.heading-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin: 29px 0 15px;
}
.heading-row h3 {
  font-size: 14px;
}
.heading-row p {
  font-size: 10px;
}
.text-button {
  background: none;
  border: 0;
  color: var(--teal);
  font-size: 10px;
  padding: 0;
}
.no-margin {
  margin: 0;
}
.description-block {
  margin-top: 17px;
}
.report-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.warning-list {
  font-size: 11px;
  color: #a07e47;
  padding-left: 18px;
}
.search-hero.compact {
  padding: 23px 27px;
}
.search-hero.compact .search-form {
  margin-top: 0;
}
.dashboard-greeting {
  display: flex;
  gap: 10px;
  align-items: center;
}
.dashboard-greeting .pill {
  font-size: 8px;
}
.scope-number {
  font-size: 25px;
  font-weight: 650;
  letter-spacing: -0.8px;
}
.scope-label {
  font-size: 10px;
  color: #82939d;
}
.mini-stats {
  display: flex;
  gap: 22px;
  align-items: center;
}
.skeleton-line {
  height: 10px;
  margin: 12px 0;
  background: #edf3f1;
  border-radius: 4px;
}
.selection-items {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
}
.selection-items .pill {
  color: #b8dad2;
  border-color: #47616a;
  font-size: 9px;
}
.spaced {
  margin-top: 20px;
}
.text-list {
  padding-left: 18px;
  font-size: 12px;
  color: #6b7f8a;
  line-height: 1.9;
}
@media (min-width: 1600px) {
  .content {
    padding-top: 40px;
  }
  .search-hero {
    padding: 36px;
  }
  .home-grid {
    grid-template-columns: 1.8fr 1fr;
  }
}
@media (max-width: 1180px) {
  .sidebar {
    width: 207px;
    padding-inline: 13px;
  }
  .main-area {
    margin-left: 207px;
    width: calc(100% - 207px);
  }
  .content {
    padding: 27px 25px;
  }
  .topbar {
    padding: 0 25px;
  }
  .results-layout {
    grid-template-columns: 1fr;
  }
  .research-aside {
    display: none;
  }
  .market-grid {
    grid-template-columns: 270px 1fr;
  }
  .report-layout {
    grid-template-columns: 240px 1fr;
  }
  .login-art {
    padding: 40px;
  }
  .login-story h1 {
    font-size: 40px;
  }
}
@media (max-width: 950px) {
  .analytics-grid {
    grid-template-columns: 1fr;
  }
  .home-grid {
    grid-template-columns: 1fr;
  }
  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .context-sources {
    grid-template-columns: 1fr;
  }
  .market-grid {
    grid-template-columns: 1fr;
  }
  .scenario-form {
    grid-template-columns: repeat(3, 1fr);
  }
  .scenario-form .wide {
    grid-column: auto;
  }
  .brief-grid {
    grid-template-columns: 1fr;
  }
  .report-layout {
    grid-template-columns: 1fr;
  }
  .report-list {
    max-height: 240px;
    overflow: auto;
  }
  .split-cards {
    grid-template-columns: 1fr;
  }
  .login-story h1 {
    font-size: 35px;
  }
  .login-art {
    padding: 30px;
  }
  .login-panel {
    padding: 30px;
  }
  .compare-grid {
    grid-template-columns: 1fr;
  }
  .date-stamp {
    display: none;
  }
}
@media (max-width: 720px) {
  .sidebar {
    transform: translateX(-100%);
    transition: transform 0.2s;
    width: 234px;
    box-shadow: 10px 0 40px #0c223322;
  }
  .sidebar.open {
    transform: translateX(0);
  }
  .main-area {
    margin-left: 0;
    width: 100%;
  }
  .mobile-menu {
    display: block;
  }
  .topbar {
    height: 58px;
    padding: 0 15px;
  }
  .breadcrumb {
    gap: 9px;
    font-size: 9px;
  }
  .breadcrumb > span,
  .breadcrumb > b {
    display: none;
  }
  .top-actions {
    gap: 10px;
  }
  .language-label > span {
    display: none;
  }
  .status-pill {
    font-size: 8px;
  }
  .content {
    padding: 23px 16px 30px;
  }
  .page-head {
    align-items: flex-start;
    gap: 10px;
  }
  .page-head h1 {
    font-size: 26px;
  }
  .page-head p {
    font-size: 11px;
  }
  .page-head > .button,
  .page-head .actions {
    display: none;
  }
  .search-hero {
    padding: 23px 19px;
  }
  .search-hero h2 {
    font-size: 23px;
  }
  .search-hero > p {
    font-size: 11px;
  }
  .search-form {
    gap: 7px;
    padding: 6px;
  }
  .search-form .search-icon {
    display: none;
  }
  .search-form input {
    font-size: 11px;
    padding-left: 7px;
  }
  .search-form .button {
    padding: 9px 11px;
    font-size: 10px;
  }
  .search-chips {
    gap: 5px;
  }
  .search-chips > span {
    width: 100%;
    margin-bottom: 3px;
  }
  .chip {
    font-size: 8px;
  }
  .stats-grid {
    gap: 10px;
  }
  .stat-card {
    padding: 14px;
  }
  .stat-label {
    font-size: 9px !important;
  }
  .stat-value {
    font-size: 25px;
  }
  .stat-icon {
    width: 24px;
    height: 24px;
    font-size: 13px;
  }
  .stat-foot {
    font-size: 8px;
  }
  .panel-head {
    padding: 17px;
  }
  .panel-head .actions {
    flex-wrap: wrap;
    justify-content: flex-end;
  }
  .panel-head .button {
    font-size: 9px;
    padding: 6px 8px;
  }
  .feature-banner {
    padding: 20px;
    flex-direction: column;
    align-items: flex-start;
  }
  .feature-banner .button {
    font-size: 10px;
  }
  .app-footer {
    padding: 15px 16px;
    font-size: 8px;
    gap: 12px;
  }
  .app-footer span:last-child {
    display: none;
  }
  .result-card {
    padding: 18px 15px;
    gap: 9px;
  }
  .result-title {
    font-size: 13px;
  }
  .result-footer .button {
    padding: 5px 7px;
    font-size: 9px;
  }
  .result-footer .applicant {
    max-width: 160px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .result-date {
    font-size: 8px;
  }
  .dialog-top {
    padding: 13px 17px;
  }
  .patent-header {
    padding: 20px 19px;
  }
  .patent-header h2 {
    font-size: 20px;
  }
  .detail-meta {
    font-size: 10px;
    gap: 8px;
  }
  .tabs {
    padding: 0 10px;
  }
  .tabs button {
    font-size: 10px;
    padding: 12px 10px;
  }
  .tab-body {
    padding: 19px 16px;
  }
  .brief-card {
    padding: 18px;
  }
  .brief-card p {
    font-size: 11px;
  }
  .selection-bar {
    padding: 10px 12px;
    flex-wrap: wrap;
    bottom: 8px;
    font-size: 10px;
  }
  .selection-items {
    display: none;
  }
  .selection-bar .button {
    font-size: 9px;
    padding: 7px 10px;
  }
  .filters {
    gap: 9px;
  }
  .filters label {
    flex: 1;
    min-width: 70px;
  }
  .filters input,
  .filters select {
    width: 100%;
    max-width: none;
  }
  .filters input[type="number"] {
    width: 100%;
  }
  .filters label:nth-child(3) {
    flex-basis: 35%;
  }
  .search-hero.compact {
    padding: 17px;
  }
  .mini-stats {
    gap: 12px;
  }
  .scope-number {
    font-size: 20px;
  }
  .scope-label {
    font-size: 9px;
  }
  .scenario-form {
    grid-template-columns: 1fr 1fr;
    padding: 18px;
  }
  .scenario-metrics > div {
    padding: 14px 12px;
  }
  .scenario-metrics strong {
    font-size: 18px;
  }
  .scenario-metrics small {
    font-size: 8px;
  }
  .report-document {
    padding: 23px 18px;
  }
  .report-document h2 {
    font-size: 21px;
  }
  .opportunity-grid {
    grid-template-columns: 1fr;
  }
  .report-summary {
    font-size: 12px;
    padding: 16px;
  }
  .opportunity {
    padding: 17px;
  }
  .route-row {
    flex-wrap: wrap;
  }
  .route-row label {
    width: 100%;
  }
  .route-row select {
    max-width: calc(100% - 80px);
  }
  .login-screen {
    grid-template-columns: 1fr;
  }
  .login-art {
    padding: 27px 30px;
  }
  .login-story {
    padding: 34px 0 12px;
  }
  .login-story h1 {
    font-size: 33px;
  }
  .login-story h1 br:nth-child(2) {
    display: none;
  }
  .login-story p,
  .login-credit,
  .orbital {
    display: none;
  }
  .login-story .eyebrow {
    font-size: 8px;
    margin-bottom: 15px;
  }
  .login-panel {
    padding: 32px 25px;
  }
  .login-box h2 {
    font-size: 27px;
  }
  .login-footer {
    margin-top: 35px;
  }
  .login-box form {
    margin-top: 23px;
  }
  .login-box .login-note {
    margin-top: 18px;
  }
  .heading-row {
    gap: 10px;
  }
  .heading-row h3 {
    font-size: 13px;
  }
}
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    transition: none !important;
  }
}
.market-metric {
  font-size: 26px;
  font-weight: 650;
  letter-spacing: -0.6px;
  color: #2d7365;
  margin-top: 9px;
}
.market-metric small {
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0;
  color: #839b93;
}
.context-sources {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.citation {
  display: inline;
  border: 1px solid #d5e9e0;
  background: #edf6f1;
  color: #237c67;
  border-radius: 3px;
  font-size: 0.8em;
  padding: 1px 4px;
  line-height: 1.4;
  vertical-align: baseline;
}
.evidence-item:target {
  background: #e9f5ef;
}
.panel-head > div {
  min-width: 0;
}
@media (max-width: 720px) {
  .page-head {
    flex-wrap: wrap;
  }
  .page-head > .button,
  .page-head .actions {
    display: flex;
  }
  .page-head > .button {
    font-size: 10px;
    padding: 8px 12px;
  }
  .context-sources {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 720px) {
  .sidebar {
    transition: none;
  }
}
.provenance-row {
  padding: 8px 0;
  border-bottom: 1px solid #edf1ef;
}
.provenance-row b {
  display: block;
  font-size: 10px;
  color: #627f73;
  font-weight: 500;
}
.provenance-row span {
  font-size: 9px;
  color: #899d93;
}

/* English intelligence workspace visual reset */
:root {
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #102f3f;
  background: #f3f7f8;
  --navy: #062b3d;
  --teal: #087f91;
  --teal-dark: #075f70;
  --muted: #627b87;
  --line: #dce8eb;
  --shadow: 0 18px 50px #0b425013;
}
body {font-size: 15px; line-height: 1.55;}
p {color: #5c7480;}
small, .tiny {font-size: 12px;}
h1 {font-size: clamp(30px, 3.1vw, 46px); line-height: 1.12; letter-spacing: -1.8px; font-weight: 750;}
h2 {font-size: clamp(23px, 2vw, 30px); line-height: 1.22; letter-spacing: -1px; font-weight: 720;}
h3 {font-size: 19px; line-height: 1.3; font-weight: 700;}
h4 {font-size: 15px; line-height: 1.4;}
.eyebrow {font-size: 11px; letter-spacing: 2px; font-weight: 780; color: #078496;}
.button {font-size: 13px; padding: 11px 16px; border-radius: 10px; min-height: 42px; font-weight: 700;}
.button.small {font-size: 12px; padding: 8px 12px; min-height: 36px;}
.button.primary {background: #08a4ad; border-color: #08a4ad; color: #fff;}
.button.primary:hover {background: #07838d; border-color: #07838d;}
.button.dark {background: #0b4257; border-color: #0b4257;}
.button.outline-light {background: #ffffff12; border-color: #ffffff5a; color: #fff;}
.button.outline-light:hover {background: #ffffff25;}
.pill,.badge {font-size: 11px; border-radius: 6px; padding: 4px 8px;}
.sidebar {width: 250px; background: #062b3d; padding: 27px 15px 0;}
.sidebar:before {content:""; position:absolute; inset:0; pointer-events:none; opacity:.22; background: radial-gradient(circle at 20% 15%,#11868a77,transparent 30%),radial-gradient(circle at 95% 90%,#11868a44,transparent 24%);}
.sidebar > * {position:relative;}
.brand {font-size: 24px; font-weight: 760; letter-spacing: -1px; padding: 0 8px;}
.brand small {font-size: 9px; letter-spacing: 1.6px; color: #96ccd1;}
.brand-mark {background: #f5fdfa; color: #065371; border-color:#e2fffb; font-weight:800;}
.brand-mark span {background:#03a7a9;}
.workspace-label {margin: 29px 4px 23px; padding: 11px; border-radius: 11px; background: #ffffff0d; border:1px solid #ffffff1b; font-size: 12px; color:#ecf8f9;}
.workspace-label small {font-size: 10px; color:#94b7bf;}
.nav-label {font-size: 10px; letter-spacing: 1.8px; margin: 19px 12px 11px; color: #8ab5bf;}
.nav-item {font-size: 13px; padding: 12px 13px; margin: 2px 0; border-radius: 10px; color:#c1d6dc; font-weight:590; min-height: 46px;}
.nav-icon {width: 23px; font-size:20px; color:#87bec7;}
.nav-item:hover {background:#ffffff15;}
.nav-item.active {background:linear-gradient(90deg,#0b7580,#0e5264); color:#fff; box-shadow: inset 3px 0 #7ce2dc;}
.nav-item.active .nav-icon {color:#c7fff3;}
.brand-glyph{width:28px;height:26px;flex:0 0 auto;background:currentColor;-webkit-mask:url(/assets/apatent-mark.svg) center / contain no-repeat;mask:url(/assets/apatent-mark.svg) center / contain no-repeat;mask-mode:alpha}
.brand-lockup{display:grid;gap:2px}
.brand-word{display:block;width:132px;height:17px;background:currentColor;-webkit-mask:url(/assets/apatent-wordmark.svg) left center / contain no-repeat;mask:url(/assets/apatent-wordmark.svg) left center / contain no-repeat;mask-mode:alpha}
.login-art{background:#13171c}
.login-story h1 em{color:#8fd8ea}
.login-story .eyebrow{color:#49bed8}
.apertus-note {font-size:12px; padding:15px 8px; color:#e3f3f3;}
.apertus-note small {font-size:10px; color:#9cbac0;}
.avatar {width:36px;height:36px;background:#d9f5f0;color:#0a4f61;font-size:11px;font-weight:800;}
.sidebar-user strong {font-size:12px;color:#fff;max-width:132px;}
.sidebar-user small {font-size:11px;color:#9cbac0;}
.main-area {margin-left:250px;width:calc(100% - 250px);}
.topbar {height:74px; background:#ffffffeb; padding:0 clamp(20px,3vw,48px); position:sticky; top:0; z-index:20; backdrop-filter:blur(18px);}
.breadcrumb {font-size:12px;color:#77919c;}
.breadcrumb strong {font-weight:700;color:#123b4e;}
.topbar-caption {font-size:10px;letter-spacing:1.4px;color:#8aa1aa;font-weight:750;}
.status-pill {font-size:12px;color:#146e74;font-weight:650;}
.status-pill:before {width:8px;height:8px;box-shadow:0 0 0 4px #dff6ee;}
.content {max-width:1540px;padding:34px clamp(20px,3vw,48px) 68px;min-height:calc(100vh - 120px);}
.app-footer {padding:18px clamp(20px,3vw,48px);font-size:11px;}
.page-head {margin-bottom:25px;align-items:flex-end;}
.page-head .eyebrow {font-size:11px;}
.page-head p {font-size:14px;margin-top:8px;}
.card {border-color:#d9e7e9;border-radius:16px;box-shadow:var(--shadow);}
.panel-head {padding:21px 23px;}
.panel-head h3 {font-size:17px;}
.panel-head p,.panel-head small {font-size:12px;}
.list-row {padding:18px 22px;}
.list-row strong {font-size:14px;}
.list-row p,.list-row small {font-size:12px;}
.text-button {font-size:13px;font-weight:700;color:#087788;}
.source-note,.card-foot,.metadata,.footnote {font-size:12px;line-height:1.55;}
.empty h3 {font-size:17px;}
.empty p {font-size:13px;}
.notice {font-size:13px;line-height:1.55;}

.command-topline {display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;color:#839ba5;font-size:12px;font-weight:600;}
.command-topline .eyebrow {margin:0;}
.command-hero {min-height:342px;border-radius:22px;position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(290px,.9fr);background:linear-gradient(114deg,#062c40 5%,#086078 61%,#119fa3 100%);color:#fff;box-shadow:0 24px 45px #0c536334;}
.command-hero:before {content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 55%,#34c8bc56,transparent 30%),linear-gradient(120deg,transparent 50%,#d1ffff0b);pointer-events:none;}
.command-copy {z-index:1;padding:43px 0 42px clamp(28px,3.8vw,62px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;}
.command-live {font-size:11px;letter-spacing:1.4px;font-weight:760;color:#b4eeee;display:flex;align-items:center;gap:10px;margin-bottom:18px;}
.command-live i {width:8px;height:8px;border-radius:50%;background:#7ff2bf;box-shadow:0 0 0 5px #7ff2bf23;}
.command-hero h1 {font-size:clamp(38px,3.9vw,60px);line-height:1.05;max-width:690px;color:#fff;margin-bottom:17px;}
.command-hero h1 em {font-style:normal;color:#94f0dd;}
.command-hero p {font-size:16px;color:#d2edf1;max-width:515px;line-height:1.52;}
.command-actions {display:flex;gap:11px;flex-wrap:wrap;margin-top:29px;}
.command-actions .button {min-height:46px;font-size:14px;padding:12px 18px;}
.command-visual {position:relative;min-height:340px;display:grid;place-items:center;overflow:hidden;}
.command-visual:before {content:"";position:absolute;width:490px;height:490px;border:1px solid #ffffff2f;border-radius:50%;box-shadow:0 0 0 51px #e7ffff0a,0 0 0 103px #e7ffff0a;transform:translate(26px,4px);}
.orbit {position:absolute;border:1px solid #ffffff3d;border-radius:50%;width:350px;height:220px;transform:rotate(-26deg);}
.orbit-two {transform:rotate(35deg);width:390px;height:250px;}
.signal-dot {position:absolute;width:11px;height:11px;border-radius:50%;background:#9efadd;box-shadow:0 0 20px #a7fff9;}
.dot-one{top:70px;left:90px}.dot-two{right:80px;bottom:88px}
.visual-caption {position:absolute;bottom:24px;right:25px;font-size:10px;letter-spacing:1.3px;color:#d8fffa;}
.command-section-head {display:flex;align-items:end;justify-content:space-between;gap:15px;margin:33px 1px 17px;}
.command-section-head .eyebrow {display:block;margin-bottom:4px;}
.command-intelligence {display:grid;grid-template-columns:minmax(0,1.38fr) minmax(300px,1fr);gap:18px;align-items:stretch;}
.command-bottom {display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.command-intelligence>.card,.command-bottom>.card {padding:25px 27px;min-height:305px;}
.feature-heading {display:flex;align-items:center;gap:13px;min-width:0;margin-bottom:17px;}
.feature-heading>div {flex:1;min-width:0;}
.feature-heading .eyebrow {font-size:10px;margin:0 0 3px;}
.feature-heading h3 {font-size:18px;}
.feature-heading .pill {margin-left:auto;white-space:nowrap;}
.feature-icon {flex:none;width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#e9f7f5;color:#0a8990;font-size:21px;}
.history-feature-stat {display:flex;align-items:baseline;gap:13px;margin:5px 0 14px;}
.history-feature-stat strong {font-size:39px;line-height:1;letter-spacing:-1.7px;color:#0b4257;}
.history-feature-stat span {font-size:12px;color:#6c8790;}
.pulse-chart {display:flex;align-items:end;gap:7px;height:137px;border-bottom:1px solid #d7e4e6;padding:6px 0 0;}
.pulse-year {height:100%;flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;}
.pulse-bar-wrap {width:100%;height:calc(100% - 22px);display:flex;align-items:end;justify-content:center;}
.pulse-bar {width:min(100%,32px);min-height:3px;background:linear-gradient(#48c7c2,#0b7790);border-radius:5px 5px 0 0;transition:height .3s;}
.pulse-bar.partial {background:repeating-linear-gradient(135deg,#f3c87a,#f3c87a 5px,#e2a64d 5px,#e2a64d 9px);}
.pulse-year b {font-size:10px;font-weight:630;color:#79929b;margin-top:4px;}
.pulse-chart-foot {display:flex;justify-content:space-between;gap:12px;color:#76929a;font-size:11px;margin:10px 0;}
.history-feature .source-note {border-top:1px solid #edf3f4;margin-top:13px;padding-top:12px;}
.market-feature-number {font-size:48px;font-weight:780;line-height:1;color:#0a6675;letter-spacing:-2px;margin-top:6px;}
.market-feature-number span {font-size:18px;font-weight:600;letter-spacing:0;color:#72919a;margin-left:8px;}
.market-feature-label {font-size:12px;color:#637f89;margin:7px 0 19px;}
.market-projection {display:flex;align-items:center;gap:15px;padding:14px;background:#eaf7f4;border-radius:11px;}
.market-projection-line {width:48px;height:27px;display:block;border-bottom:3px solid #1ca99b;border-right:3px solid #1ca99b;transform:skewY(-22deg);}
.market-projection b {display:block;font-size:19px;color:#0c5867;}
.market-projection small {display:block;color:#637e87;margin-top:2px;}
.market-disclaimer {font-size:11px;margin:12px 0 7px;line-height:1.4;}
.market-feature>a {font-size:12px;font-weight:700;}
.market-feature>.text-button {margin-top:15px;}
.featured-patent .patent-id {display:inline-block;margin-bottom:9px;}
.featured-patent #home-patent h3 {font-size:20px;margin:5px 0 9px;}
.featured-patent #home-patent p {font-size:13px;line-height:1.55;max-height:60px;overflow:hidden;}
.feature-meta {display:flex;flex-wrap:wrap;gap:8px 18px;font-size:11px;color:#6e8992;margin:15px 0;}
.featured-patent .button,.decision-feature .button {margin-top:5px;}
.model-orbit {display:flex;flex-wrap:wrap;gap:8px;margin:3px 0 17px;}
.model-orbit span {padding:8px 10px;border-radius:8px;background:#e9f5f4;color:#0d6e7b;font-size:11px;font-weight:750;}
.decision-feature #home-report p {font-size:13px;line-height:1.55;max-width:460px;}
.command-note {font-size:11px;color:#78919a;margin:17px 2px 0;line-height:1.5;}

.search-hero {background:linear-gradient(120deg,#073c52,#0d7888 75%,#24a7a1);border:0;color:#fff;border-radius:18px;padding:35px 38px;box-shadow:0 16px 34px #0c556124;}
.search-hero h2 {font-size:clamp(27px,2.4vw,36px);color:#fff;}
.search-hero h2 em {color:#abf7e0;font-family:inherit;font-weight:700;}
.search-hero>.eyebrow,.search-hero>p {color:#dbf3f3;}
.search-hero>p {font-size:14px;}
.search-form {margin-top:26px;border-radius:12px;padding:7px;max-width:950px;box-shadow:0 12px 28px #0725342b;}
.search-form input {font-size:15px;padding:11px 9px;}
.search-form .button {font-size:14px;min-height:44px;}
.search-chips>span {font-size:11px;color:#c8f0eb;font-weight:650;}
.chip {font-size:12px;padding:7px 10px;border-color:#ffffff54;background:#ffffff16;color:#fff;border-radius:7px;}
.chip:hover {background:#ffffff2f;color:#fff;border-color:#fff;}
.search-hero.compact {padding:24px 29px;}
.search-hero.compact .search-form {margin-top:0;max-width:none;}
.filters {gap:11px;margin-top:17px;}
.filters label {font-size:12px;color:#ddf3ef;}
.filters input,.filters select {font-size:13px;padding:8px 10px;border-radius:8px;max-width:190px;min-height:39px;}
.query-plan {font-size:12px;padding:15px 17px;border-radius:10px;}
.query-plan code {font-size:12px;}
.analytics-grid {grid-template-columns:minmax(0,1.45fr) minmax(290px,1fr);gap:18px;}
.chart-wrap {padding:20px;}
.chart {width:100%;height:auto;}
.results-layout {grid-template-columns:minmax(0,1fr) 275px;gap:18px;}
.result-card {padding:20px 23px;}
.result-title {font-size:17px;line-height:1.3;}
.result-main p {font-size:13px;line-height:1.55;}
.result-footer,.result-date,.applicant {font-size:12px;}
.research-aside {border-radius:16px;padding:25px;}
.research-aside h3 {font-size:20px;}
.research-aside p {font-size:13px;}
.facets-tabs button,.tabs button {font-size:12px;font-weight:680;}
.scope-number {font-size:30px;}
.scope-label {font-size:13px;}
.mini-stats p,.pagination {font-size:12px;}
.patent-header h2 {font-size:clamp(25px,2.5vw,36px);}
.detail-meta,.detail-actions {font-size:13px;}
.tab-body {padding:27px;}
.brief-card {border-radius:13px;padding:24px;}
.brief-card p,.brief-card li,.description-text {font-size:14px;line-height:1.65;}
.brief-card h3 {font-size:20px;}
.application-card {border-radius:10px;padding:17px;}
.application-card h4 {font-size:15px;}
.report-layout {grid-template-columns:300px minmax(0,1fr);gap:19px;}
.report-list button {padding:16px;}
.report-list strong {font-size:13px;line-height:1.45;}
.report-list small {font-size:11px;}
.report-document {padding:32px;}
.report-document h2 {font-size:clamp(23px,2.3vw,33px);}
.report-summary {font-size:15px;line-height:1.7;}
.report-section p,.report-section li {font-size:14px;line-height:1.65;}
.opportunity {border-radius:12px;}
.opportunity h4 {font-size:17px;}
.opportunity-grid p {font-size:13px;}
.market-grid {grid-template-columns:310px minmax(0,1fr);gap:18px;}
.market-metric {font-size:32px;}
.context-source p {font-size:13px;}
.scenario-form label {font-size:12px;}
.scenario-form input {font-size:13px;}
.data-table th,.data-table td {font-size:12px;}

@media (max-width: 1180px) {
  .sidebar {width:224px;}
  .patent-dialog {left:224px;width:calc(100vw - 224px);}
  .main-area {margin-left:224px;width:calc(100% - 224px);}
  .command-hero {grid-template-columns:1.1fr .8fr;}
  .command-copy {padding-left:30px;}
  .command-visual {min-height:300px;}
  .command-intelligence {grid-template-columns:1fr 1fr;}
  .results-layout {grid-template-columns:1fr;}
  .research-aside {display:block;}
  .report-layout {grid-template-columns:260px minmax(0,1fr);}
  .market-grid {grid-template-columns:260px 1fr;}
}
@media (max-width: 900px) {
  .topbar-caption {display:none;}
  .command-hero {grid-template-columns:1fr .48fr;}
  .command-visual {min-height:300px;}
  .command-visual:before {transform:scale(.75);}
  .command-intelligence,.command-bottom,.analytics-grid,.report-layout,.market-grid {grid-template-columns:1fr;}
  .report-list {max-height:260px;overflow:auto;}
  .scenario-form {grid-template-columns:repeat(3,1fr);}
}
@media (max-width: 720px) {
  .sidebar {width:min(82vw,290px);padding:20px 13px 0;transform:translateX(-100%);}
  .patent-dialog {left:0;width:100vw;}
  .sidebar.open {transform:translateX(0);}
  .main-area {margin-left:0;width:100%;}
  .topbar {height:64px;padding:0 17px;}
  .content {padding:22px 16px 48px;}
  .status-pill {font-size:10px;}
  .page-head {align-items:flex-start;flex-wrap:wrap;}
  .page-head>.button,.page-head .actions {display:flex;}
  .page-head h1 {font-size:30px;}
  .page-head p {font-size:13px;}
  .command-topline {font-size:10px;}
  .command-topline .eyebrow {font-size:9px;letter-spacing:1px;}
  .command-hero {grid-template-columns:1fr;min-height:0;}
  .command-copy {padding:32px 25px 34px;}
  .command-hero h1 {font-size:41px;}
  .command-hero p {font-size:14px;}
  .command-visual {display:none;}
  .command-actions {width:100%;gap:8px;}
  .command-actions .button {flex:1;font-size:12px;min-width:140px;}
  .command-section-head {align-items:flex-start;}
  .command-section-head h2 {font-size:23px;}
  .command-section-head .text-button {display:none;}
  .command-intelligence>.card,.command-bottom>.card {padding:21px;min-height:0;}
  .feature-heading h3 {font-size:16px;}
  .feature-heading .pill {font-size:9px;}
  .feature-icon {width:35px;height:35px;font-size:17px;}
  .history-feature-stat strong {font-size:34px;}
  .pulse-year b {font-size:9px;}
  .pulse-chart {gap:4px;}
  .market-feature-number {font-size:42px;}
  .search-hero,.search-hero.compact {padding:22px 17px;}
  .search-hero h2 {font-size:27px;}
  .search-form {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;padding:5px;margin-top:20px;}
  .search-form .search-icon {display:none;}
  .search-form input {font-size:13px;min-width:0;width:100%;padding:10px 7px;}
  .search-form .button {font-size:12px;min-height:41px;padding:8px 12px;}
  .search-chips {gap:7px;}
  .chip {font-size:11px;}
  .filters label {min-width:calc(50% - 7px);font-size:11px;}
  .filters input,.filters select,.filters input[type=number] {width:100%;max-width:none;}
  .panel-head {padding:18px;align-items:flex-start;}
  .panel-head h3 {font-size:15px;}
  .panel-head .actions {flex-wrap:wrap;}
  .result-card {padding:18px 15px;}
  .result-title {font-size:15px;}
  .result-main p {font-size:12px;}
  .result-footer {flex-wrap:wrap;}
  .patent-header {padding:20px;}
  .patent-header h2 {font-size:23px;}
  .tab-body {padding:18px;}
  .brief-card {padding:18px;}
  .brief-card p,.brief-card li {font-size:13px;}
  .report-document {padding:22px 17px;}
  .report-summary,.report-section p,.report-section li {font-size:13px;}
  .scenario-form {grid-template-columns:1fr 1fr;}
  .app-footer {padding:16px;font-size:10px;}
}
@media (max-width: 420px) {
  .command-actions .button {flex:1 1 100%;}
  .command-hero h1 {font-size:38px;}
  .search-form .button {font-size:0;gap:0;min-width:44px;}
  .search-form .button span {font-size:18px;}
  .feature-heading .pill {display:none;}
  .stats-grid {grid-template-columns:1fr 1fr;}
  .pulse-chart-foot {font-size:10px;}
}
.pulse-missing {display:grid;place-items:center;width:26px;height:22px;border:1px dashed #c8d8db;border-radius:5px;background:#f1f5f5;color:#8aa0a6;font-size:12px;font-weight:800;}
@media (min-width:721px) and (max-width:900px) {
  .sidebar {width:min(82vw,290px);transform:translateX(-100%);box-shadow:12px 0 40px #0b29343b;}
  .sidebar.open {transform:translateX(0);}
  .patent-dialog {left:0;width:100vw;}
  .main-area {margin-left:0;width:100%;}
  .mobile-menu {display:block;}
  .command-hero {grid-template-columns:1.1fr .9fr;}
  .command-visual {display:grid;}
  .command-copy {padding-left:38px;}
}
.market-projection svg {width:140px;max-width:42%;height:62px;overflow:visible;flex:none;}
.market-line {fill:none;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;}
.market-line.line-low {stroke:#7c9eb3;}
.market-line.line-base {stroke:#0d918e;stroke-width:3.5;}
.market-line.line-high {stroke:#e0b467;}
.pulse-bar {transition:none;}
.pulse-bar-wrap {position:relative;display:block;}
.pulse-bar {position:absolute;left:50%;bottom:0;height:108px;transform:translateX(-50%) scaleY(var(--level,1));transform-origin:bottom center;}
.pulse-missing {position:absolute;left:50%;bottom:0;transform:translateX(-50%);}
svg.pulse-chart {display:block;width:100%;height:auto;min-height:145px;margin:6px 0 0;padding:0;border:0;overflow:visible;}
.pulse-chart text {font-size:11px;fill:#8198a0;font-family:inherit;font-weight:650;}
.pulse-chart .pulse-svg-bar {fill:#0b8394;}
.pulse-chart .pulse-svg-bar.partial {fill:#d9aa5e;}
.pulse-chart .pulse-svg-unknown {fill:#eef3f4;stroke:#bfd2d8;stroke-dasharray:3 3;}
.pulse-chart .pulse-svg-question {fill:#78939c;font-size:13px;font-weight:800;}
.pulse-chart .pulse-axis {stroke:#cedfe2;stroke-width:1;}
@media (max-width: 720px) {
  #market-form {display:flex;flex-direction:column;align-items:stretch;gap:10px;}
  #market-form input,#market-form .button {width:100%;min-width:0;max-width:none;}
  .heading-row>.pill {display:none;}
  .patent-header h2 {font-size:21px;line-height:1.23;overflow-wrap:anywhere;}
  .tabs {overflow-x:auto;scrollbar-width:thin;scrollbar-color:#a9cdd0 transparent;}
  .tabs button {white-space:nowrap;flex:none;}
  .search-form .button {font-size:11px;min-width:64px;}
  .search-form .button span {font-size:13px;}
}
@media (max-width:420px) {
  .search-form .button {font-size:11px;min-width:64px;}
}
/* Source-linked patent maps, assistance and multilingual access. */
.patent-map-scroll {overflow-x:auto;margin:18px 0;max-width:100%;border:1px solid #dce8eb;border-radius:12px;background:#f8fbfc;}
.patent-map {display:block;width:100%;min-width:760px;height:auto;}
.map-edge {stroke:#91aab2;stroke-width:1.5;fill:none;opacity:.8;}
.map-edge.hypothesis {stroke:#bb8840;stroke-dasharray:6 4;}
.map-node rect {fill:white;stroke:#0d8490;stroke-width:1.4;}
.map-node text {font-size:11px;font-weight:650;fill:#123443;}
.map-node .map-kind {fill:#66828d;font-size:9px;text-transform:uppercase;}
.map-node.hypothesis rect {fill:#fff7e8;stroke:#c99e58;stroke-dasharray:5 3;}
.map-node.selected rect,.patent-map a:focus rect {stroke:#082d42;stroke-width:3;fill:#e3f6f4;}
.patent-map a:hover rect {fill:#e9f8f7;cursor:pointer;}
.audit-hash {overflow-wrap:anywhere;font-size:11px;}
.suggestion-row {display:flex;flex-wrap:wrap;gap:8px;margin:18px 0;}
.suggestion-row .button {white-space:normal;text-align:left;max-width:100%;}
.checkbox-label {display:flex!important;flex-direction:row!important;align-items:center;gap:10px!important;}
.checkbox-label input {width:auto!important;}
.translation-columns {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px;}
.translation-columns p {overflow-wrap:anywhere;line-height:1.65;}
.translation-header {padding:16px 0;border-bottom:2px solid #dbe7e9;}
.translation-segment {padding:22px 0;border-bottom:1px solid #dbe7e9;}
.technology-map {margin:20px 0;}
.technology-cluster {display:flex;align-items:stretch;gap:25px;margin:12px 0;}
.cluster-classification {padding:14px 18px;background:#e9f6f5;border-left:3px solid #0d8b91;border-radius:8px;min-width:200px;display:flex;flex-direction:column;gap:4px;}
.cluster-classification span,.cluster-classification small {font-size:11px;color:#567781;}
.cluster-publications {border-left:1px solid #bcd7dc;padding:12px 0 12px 24px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
.chart-insight {padding:14px 22px;margin:8px 20px 12px;border-radius:8px;background:#edf8f6;font-size:12px;color:#315962;line-height:1.6;}
.assistant-conversation:empty {display:none;}
@media(max-width:720px) {
  .translation-columns {grid-template-columns:minmax(0,1fr);gap:15px;}
  .translation-columns p:first-child::before {content:'Original source';display:block;font-size:11px;font-weight:700;color:#688893;margin-bottom:8px;}
  .translation-columns p:last-child::before {content:'Translation';display:block;font-size:11px;font-weight:700;color:#688893;margin-bottom:8px;}
  .translation-header {display:none;}
  .technology-cluster {flex-direction:column;gap:0;}
  .cluster-classification {min-width:0;}
  .cluster-publications {margin-left:16px;padding-left:14px;}
  .suggestion-row .button {width:100%;}
  .brief-card .heading-row {flex-wrap:wrap;gap:12px;}
  .chart-insight {margin:8px 16px 12px;padding:12px;}
}

.swiss-visual {display:grid;place-items:center;}
.swiss-mark {position:relative;z-index:2;width:190px;height:190px;border:2px solid #cbfff0;border-radius:36px;display:grid;place-items:center;color:#e8fffa;background:linear-gradient(145deg,#087a85,#073b55);box-shadow:0 0 60px #82f3dc6b,inset 0 0 40px #ddfff51c;font-size:72px;font-weight:850;letter-spacing:-6px;transform:rotate(-8deg);}
.swiss-mark span {position:absolute;right:13px;top:0;font-size:44px;letter-spacing:0;color:#9cfbe4;}
.swiss-focus-strip {display:grid;grid-template-columns:minmax(170px,270px) 1fr;gap:20px;align-items:center;margin:26px 0 10px;padding:22px;border:1px solid #d9e7e9;border-radius:16px;background:#fff;}
.swiss-focus-strip p {margin:8px 0 0;font-size:12px;color:#58727c;line-height:1.5;}
.swiss-focus-strip .search-chips {margin:0;justify-content:flex-end;}
.model-role-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 30px;}
.model-role-card {padding:18px 20px;}
.model-role-card strong {display:block;color:#0d6974;font-size:16px;}
.model-role-card p {margin:9px 0 0;color:#536e78;font-size:12px;line-height:1.5;}
.swiss-market-grid {grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;}
.swiss-market-grid .card {min-width:0;}
.swiss-market-grid .scenario-form {grid-template-columns:repeat(3,minmax(0,1fr));margin:24px 0;}
.swiss-market-grid .scenario-form label {min-width:0;}
.swiss-market-grid .source-details, #scenario-chart .source-details {overflow-x:auto;}
.swiss-market-grid .source-details code {overflow-wrap:anywhere;white-space:normal;}
.forecast-line {stroke-dasharray:7 5;fill:none;stroke-width:3;}
.scenario-divider {stroke:#9bb8be;stroke-width:1;stroke-dasharray:3 5;}
@media (max-width: 1100px) {
  .model-role-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .swiss-market-grid {grid-template-columns:1fr;}
}
@media (max-width: 720px) {
  .swiss-focus-strip {grid-template-columns:1fr;}
  .swiss-focus-strip .search-chips {justify-content:flex-start;}
  .model-role-grid {grid-template-columns:1fr 1fr;}
  .swiss-mark {width:130px;height:130px;font-size:48px;border-radius:24px;}
  .swiss-mark span {font-size:29px;}
  .swiss-market-grid .scenario-form {grid-template-columns:1fr;}
}
.public-status-bar{position:relative;z-index:20;box-sizing:border-box;width:100%;margin:0;padding:1.35rem clamp(1rem,3vw,2.2rem) 1.25rem;background:#13171c;color:#e7eef1;font:16px/1.4 system-ui,-apple-system,Segoe UI,sans-serif;overflow-wrap:anywhere}
.public-status-bar .meter-kicker{margin:0 0 .75rem;font-size:.72rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:#49bed8}
.meter-figures,.meter-models{display:grid;gap:.65rem}
.meter-figures{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 .75rem}
.meter-models{grid-template-columns:repeat(2,minmax(0,1fr))}
.meter-figures div,.meter-card{min-width:0;padding:.85rem .95rem;border-radius:14px;background:#1c232b;border:1px solid #2c353d}
.meter-figures span,.meter-unit{display:block;font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#49bed8}
.meter-figures strong{display:block;margin-top:.15rem;font-size:clamp(1.8rem,3vw,2.5rem);line-height:.95;letter-spacing:-.045em;color:#fff}
.meter-figures small,.meter-card small{display:block;margin-top:.35rem;color:#9aabb3;font-size:.78rem}
.meter-card b{display:block;color:#fff;font-size:1.02rem;letter-spacing:-.03em}
.meter-card strong{display:block;margin-top:.2rem;color:#fff;font-size:1.7rem;line-height:1;letter-spacing:-.04em}
.meter-fail{font-style:normal;color:#e7c27a;font-weight:750}
body:has(#app-screen:not(.hidden)) .public-status-bar{margin-left:250px;width:calc(100% - 250px)}
@media(max-width:1180px){body:has(#app-screen:not(.hidden)) .public-status-bar{margin-left:224px;width:calc(100% - 224px)}}
@media(max-width:900px){body:has(#app-screen:not(.hidden)) .public-status-bar{margin-left:0;width:100%}.meter-models{grid-template-columns:1fr 1fr}}
@media(max-width:740px){.meter-figures,.meter-models{grid-template-columns:1fr}}
html,body{max-width:100%;overflow-x:clip}
img,svg,video,canvas{max-width:100%;height:auto}
h1,h2,h3,p,td,th{overflow-wrap:break-word}
.facet-label{align-items:baseline;gap:12px;font-size:clamp(12px,1.5vw,14px)}
.facet-label span:first-child{max-width:none;flex:1 1 auto;min-width:0;overflow:visible;white-space:normal;text-overflow:clip;overflow-wrap:anywhere}
.facet-label strong{flex:none}
.facets-tabs,.tabs{flex-wrap:wrap;overflow:visible}
.tabs button{white-space:normal}
.result-footer .applicant{max-width:none;white-space:normal;overflow:visible;text-overflow:clip}
.data-table{width:100%;max-width:100%}
.data-table th,.data-table td{overflow-wrap:anywhere}
.table-scroll,.swiss-market-grid .source-details,#scenario-chart .source-details{max-width:100%;overflow-x:visible}
.chart,svg.pulse-chart{max-height:none;overflow:visible}
.login-screen{grid-template-columns:1fr}
.main-area,.content,.card,.result-card,.panel-head{min-width:0;max-width:100%}
@media(min-width:900px){.login-screen{grid-template-columns:1.15fr 1fr}}
.dialog-tools{display:flex;align-items:center;gap:8px;margin-left:auto}
.patent-dialog .dialog-top{gap:12px}
.patent-close{width:46px;height:46px;border:0;border-radius:999px;background:#13171c;color:#fff;font-size:30px;line-height:1;display:grid;place-items:center;flex:none;box-shadow:0 6px 16px #13171c33}
.patent-close:hover{background:#0e7490}
.patent-dialog.is-fullscreen,.patent-dialog:fullscreen{inset:0;left:0;width:100vw;width:100dvw;height:100vh;height:100dvh;max-width:none;z-index:80}
.reading-language{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:flex-end;margin:0 0 12px}
.reading-language label{display:flex;flex-direction:column;gap:4px;min-width:min(100%,16rem);flex:1;font-size:12px;color:#526b78}
.reading-language select,.reading-language input{width:100%;padding:8px 10px;border:1px solid #d8e3e6;border-radius:8px;background:#fff;color:#163244}
.reading-language button{white-space:nowrap}
.smart-plus{margin-top:16px;padding:16px 16px 2px;border-radius:14px;background:#f7f5ef;border:1px solid #e3eaec}
.smart-plus h3{margin:4px 0 8px;font-size:18px}
.smart-plus .eyebrow{margin:0}
.smart-part{padding:0 0 14px;margin:0 0 14px;border-bottom:1px solid #e3eaec}
.smart-part h4{margin:0 0 6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#0e7490}
.smart-part p{margin:0}
.market-outlook{margin-top:10px;padding:10px 12px;border-radius:12px;background:#f4fbfa}
.outlook-row{display:grid;grid-template-columns:2.8rem minmax(2.5rem,1fr) auto;gap:.4rem;align-items:center;margin:.16rem 0;font-size:12px}
.outlook-row i{display:block;height:8px;border-radius:99px;background:#0e7490}
.outlook-row b{font-variant-numeric:tabular-nums;white-space:nowrap}
