/* Scoped styles for the INCY legal documents. */
.legal-prose { color: #A8ADAA; font-size: 15.5px; line-height: 1.75; }
.legal-prose .container { padding: 0; max-width: none; }

/* hero/title */
.legal-prose h1 { font-size: clamp(2.1rem, 4.4vw, 3rem); font-weight: 800; letter-spacing: -0.035em; color: #ECEEEC; margin-bottom: 10px; line-height: 1.05; }
.legal-prose .meta { display: flex; flex-wrap: wrap; gap: 6px 14px; font-family: 'JetBrains Mono', monospace; font-size: 12px; color: #6C726E; margin-bottom: 8px; max-width: 100%; }
.legal-prose .meta span { min-width: 0; overflow-wrap: anywhere; }
.legal-prose .intro { margin: 8px 0 28px; }
.legal-prose .intro p { font-size: 16.5px; color: #C2C7C4; }

/* sections */
.legal-prose section.section { margin: 0 0 14px; padding: 24px; border: 1px solid rgba(255,255,255,0.07); border-radius: 16px; background: rgba(255,255,255,0.02); }
.legal-prose .section-header { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.legal-prose .section-num {
  flex-shrink: 0; width: 34px; height: 34px; display: grid; place-items: center;
  border: 1px solid rgba(52,211,153,0.3); border-radius: 10px; background: rgba(52,211,153,0.07);
  color: #34D399; font-family: 'JetBrains Mono', monospace; font-weight: 700; font-size: 14px;
}
.legal-prose .section-icon { flex-shrink: 0; width: 22px; height: 22px; color: #34D399; }
.legal-prose h2 { font-size: 1.4rem; font-weight: 700; letter-spacing: -0.02em; color: #ECEEEC; margin: 0; }
.legal-prose h3 { font-size: 1.1rem; font-weight: 600; color: #ECEEEC; margin: 18px 0 8px; }
.legal-prose .section-body { color: #A8ADAA; }
.legal-prose p { margin-bottom: 12px; }
.legal-prose p:last-child { margin-bottom: 0; }

/* lists */
.legal-prose ul, .legal-prose ol { margin: 12px 0 16px; padding-left: 2px; list-style: none; }
.legal-prose li { position: relative; padding-left: 24px; margin-bottom: 9px; }
.legal-prose li::before { content: ''; position: absolute; left: 4px; top: 0.6em; width: 6px; height: 6px; border-radius: 50%; background: #34D399; }

/* links + inline */
.legal-prose a { color: #34D399; transition: color .15s; }
.legal-prose a:hover { color: #6EE7B7; }
.legal-prose strong { color: #ECEEEC; font-weight: 600; }
.legal-prose code { font-family: 'JetBrains Mono', monospace; font-size: 0.86em; background: rgba(52,211,153,0.08); border: 1px solid rgba(52,211,153,0.25); border-radius: 6px; padding: 1px 6px; color: #6EE7B7; }

/* inline SVG icons (from ported HTML) are FILLED Material glyphs — tint via fill */
.legal-prose svg { width: 20px; height: 20px; display: inline-block; vertical-align: middle; fill: currentColor; stroke: none; flex-shrink: 0; }
.legal-prose .section-icon svg, .legal-prose .highlight-header svg, .legal-prose .note-header svg { width: 20px; height: 20px; }
.legal-prose .link-card-icon svg { width: 22px; height: 22px; }

/* highlight / note callouts */
.legal-prose .highlight, .legal-prose .note {
  margin: 16px 0; padding: 16px 18px; border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.025);
}
.legal-prose .highlight-header, .legal-prose .note-header {
  display: flex; align-items: center; gap: 8px; margin-bottom: 8px;
  font-weight: 600; font-size: 13.5px; color: #ECEEEC;
}
.legal-prose .highlight.success, .legal-prose .note.success { border-color: rgba(52,211,153,0.3); background: rgba(52,211,153,0.05); }
.legal-prose .highlight.success .highlight-header { color: #34D399; }
.legal-prose .highlight.warning, .legal-prose .note.warning { border-color: rgba(251,191,36,0.3); background: rgba(251,191,36,0.05); }
.legal-prose .highlight.warning .highlight-header { color: #FBBF24; }
.legal-prose .highlight.danger, .legal-prose .note.danger { border-color: rgba(248,113,113,0.3); background: rgba(248,113,113,0.05); }
.legal-prose .highlight.danger .highlight-header { color: #F87171; }

/* summary cards grid */
.legal-prose .summary-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin: 16px 0; }
.legal-prose .summary-card { padding: 16px; border: 1px solid rgba(255,255,255,0.08); border-radius: 12px; background: rgba(255,255,255,0.025); }
.legal-prose .summary-card-title { font-size: 12px; color: #6C726E; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 6px; }
.legal-prose .summary-card-value { font-size: 18px; font-weight: 700; color: #ECEEEC; }

/* link cards grid */
.legal-prose .links-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin: 16px 0; }
.legal-prose .link-card { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border: 1px solid rgba(255,255,255,0.08); border-radius: 12px; background: rgba(255,255,255,0.025); transition: border-color .2s, transform .2s; }
.legal-prose .link-card:hover { border-color: rgba(52,211,153,0.3); transform: translateY(-2px); }
.legal-prose .link-card-icon { flex-shrink: 0; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: rgba(52,211,153,0.08); border: 1px solid rgba(52,211,153,0.25); color: #34D399; }
.legal-prose .link-card-title { font-weight: 600; color: #ECEEEC; font-size: 14px; }
.legal-prose .link-card-url { font-family: 'JetBrains Mono', monospace; font-size: 12px; color: #6C726E; }

/* Shared contact block for both documents. */
.legal-prose .contact-card {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px;
  margin: 20px 0 0; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.1);
}
.legal-prose .contact-details { flex: 1 1 220px; min-width: 0; }
.legal-prose .contact-card h3 { font-size: 1.1rem; font-weight: 600; color: #ECEEEC; margin: 0; }
.legal-prose .contact-card p { color: #A8ADAA; font-size: 14px; margin: 4px 0 0; }
.legal-prose .contact-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 48px; max-width: 100%; padding: 10px 18px; border-radius: 10px;
  background: #34D399; color: #062318; text-decoration: none;
  font-weight: 600; font-size: 16px; line-height: 1.5;
  transition: background-color .15s, color .15s;
}
.legal-prose .contact-btn:hover { background: #6EE7B7; color: #062318; text-decoration: none; }
.legal-prose .contact-btn:active { background: #2CC58D; }
.legal-prose .contact-btn:focus-visible { outline: 2px solid #ECEEEC; outline-offset: 4px; }
.legal-prose .contact-btn svg { width: 18px; height: 18px; fill: currentColor; stroke: none; }
@media (max-width: 640px) {
  .legal-prose .contact-details { flex-basis: 100%; }
  .legal-prose .contact-btn { width: 100%; }
}

/* license badges */
.legal-prose .license-badge { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px; font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 600; border: 1px solid rgba(255,255,255,0.12); color: #A8ADAA; }
.legal-prose .license-badge.mit, .legal-prose .license-badge.bsd, .legal-prose .license-badge.apache { border-color: rgba(52,211,153,0.3); color: #34D399; background: rgba(52,211,153,0.06); }
.legal-prose .license-badge.lgpl, .legal-prose .license-badge.mpl { border-color: rgba(94,163,255,0.3); color: #5EA3FF; background: rgba(94,163,255,0.06); }

/* tables — horizontal scroll on small screens instead of crushing */
.legal-prose .table-container { overflow-x: auto; margin: 16px 0; border: 1px solid rgba(255,255,255,0.08); border-radius: 12px; -webkit-overflow-scrolling: touch; }
.legal-prose .table-container::-webkit-scrollbar { height: 6px; }
.legal-prose .table-container::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.14); border-radius: 999px; }
.legal-prose table { border-collapse: collapse; width: 100%; min-width: 560px; font-size: 14px; }
.legal-prose th, .legal-prose td { border-bottom: 1px solid rgba(255,255,255,0.07); padding: 10px 14px; text-align: left; white-space: nowrap; }
.legal-prose td { white-space: normal; }
.legal-prose tr:last-child td { border-bottom: none; }
.legal-prose th { background: rgba(255,255,255,0.04); color: #ECEEEC; font-weight: 600; font-size: 13px; }

/* lang toggle inside ported HTML */
.legal-prose [lang="en"] { display: none; }
.legal-prose [lang="ru"] { display: revert; }
body.lang-en .legal-prose [lang="en"] { display: revert; }
body.lang-en .legal-prose [lang="ru"] { display: none; }
.legal-prose span[lang], .legal-prose strong[lang], .legal-prose code[lang] { display: inline; }
.legal-prose span[lang="en"], .legal-prose strong[lang="en"], .legal-prose code[lang="en"] { display: none; }
body.lang-en .legal-prose span[lang="en"], body.lang-en .legal-prose strong[lang="en"], body.lang-en .legal-prose code[lang="en"] { display: inline; }
body.lang-en .legal-prose span[lang="ru"], body.lang-en .legal-prose strong[lang="ru"], body.lang-en .legal-prose code[lang="ru"] { display: none; }

/* ── Legal: mobile responsive ──────────────────────────────────── */
@media (max-width: 640px) {
  .legal-prose { font-size: 16px; }
  .legal-prose h1 { font-size: 1.85rem; }
  .legal-prose .intro p { font-size: 15.5px; }
  .legal-prose section.section { padding: 18px 16px; border-radius: 14px; }
  .legal-prose .section-header { gap: 10px; margin-bottom: 12px; }
  .legal-prose .section-num { width: 30px; height: 30px; font-size: 13px; }
  .legal-prose h2 { font-size: 1.2rem; }
  .legal-prose .summary-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .legal-prose .summary-card { padding: 13px; }
  .legal-prose .summary-card-value { font-size: 16px; }
  .legal-prose .links-grid { grid-template-columns: 1fr; }
  .legal-prose code { word-break: break-word; }
  /* scroll hint under tables */
  .legal-prose .table-container { position: relative; }
}

