.chemryttga-hero-card,
.chemryttga-card {
  background: var(--chemryttga-surface);
  border: 1px solid var(--chemryttga-border);
  border-radius: var(--chemryttga-radius-lg);
  box-shadow: var(--chemryttga-shadow);
}

.chemryttga-hero-card {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  min-height: 0;
  padding: 0.85rem 1rem;
  margin-bottom: 1rem;
  border-radius: 20px;
  background: linear-gradient(135deg, #0f3f5f 0%, #126f7d 58%, #576849 100%);
  color: #f8fcff;
  border-color: #d8e5ec;
  box-shadow: 0 14px 26px rgba(19, 50, 73, 0.07);
}

.chemryttga-hero-copy,
.chemryttga-hero-actions {
  position: relative;
  z-index: 1;
}

.chemryttga-hero-copy {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2rem;
  max-width: 980px;
}

.chemryttga-eyebrow,
.chemryttga-card-kicker,
.chemryttga-metric-label,
.chemryttga-mini-metric__label {
  display: inline-flex;
  color: #0f3f69;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.chemryttga-page-title,
.chemryttga-card-title,
.chemryttga-section-title {
  margin: 0;
  color: var(--chemryttga-text);
  font-weight: 500;
}

.chemryttga-page-title {
  margin-top: 0.35rem;
  font-size: clamp(1.35rem, 2.1vw, 1.9rem);
  line-height: 1.18;
}

.chemryttga-page-subtitle,
.chemryttga-section-copy,
.chemryttga-inline-note,
.chemryttga-empty-state,
.chemryttga-prose,
.chemryttga-side-copy,
.chemryttga-data-value {
  color: var(--chemryttga-text-soft);
}

.chemryttga-hero-card .chemryttga-eyebrow {
  color: rgba(255, 255, 255, 0.92);
  margin: 0 0 4px;
  font-size: 0.68rem;
  letter-spacing: 0.18em;
}

.chemryttga-hero-card .chemryttga-page-title {
  color: #ffffff;
  margin-top: 0;
  font-size: 1.4rem;
  font-weight: 900;
  line-height: 1.08;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.24);
}

.chemryttga-hero-card .chemryttga-page-subtitle {
  color: rgba(248, 252, 255, 0.95);
  margin-top: 3px;
  max-width: 980px;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.5;
}

.chemryttga-page-subtitle {
  margin: 0.4rem 0 0;
  max-width: 740px;
  font-size: 0.94rem;
  line-height: 1.5;
}

.chemryttga-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem 0.8rem;
  border-bottom: 1px solid var(--chemryttga-border);
}

.chemryttga-card-disclosure {
  display: block;
}

.chemryttga-card-disclosure > summary {
  cursor: pointer;
  list-style: none;
}

.chemryttga-card-disclosure > summary::-webkit-details-marker {
  display: none;
}

.chemryttga-disclosure-state {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 0.8rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 999px;
  background: #ffffff;
  color: var(--chemryttga-primary);
  font-size: 0.78rem;
  font-weight: 800;
}

.chemryttga-disclosure-state::after {
  content: "Open";
}

.chemryttga-card-disclosure[open] .chemryttga-disclosure-state::after {
  content: "Hide";
}


.chemryttga-card-title {
  margin-top: 0.35rem;
  font-size: 1.05rem;
  line-height: 1.32;
}

.chemryttga-section-title {
  font-size: 0.98rem;
  line-height: 1.3;
}

.chemryttga-card-body,
.chemryttga-side-stack {
  padding: 1rem 1.25rem;
}

.chemryttga-side-stack {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 0.55rem;
  align-items: start;
}

.chemryttga-parameter-card .chemryttga-card-body {
  padding-top: 0.8rem;
}

.chemryttga-snapshot-card {
  min-height: 0;
}

.chemryttga-insight-grid-section {
  margin-bottom: 1rem;
}

.chemryttga-workspace-snapshot {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}

.chemryttga-workspace-snapshot.chemryttga-empty-state {
  display: block;
}

.chemryttga-snapshot-item {
  display: grid;
  gap: 0.28rem;
  min-height: 4.4rem;
  padding: 0.75rem 0.8rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 0.85rem;
  background: #ffffff;
}

.chemryttga-snapshot-item span {
  color: var(--chemryttga-text-soft);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.chemryttga-snapshot-item strong {
  color: var(--chemryttga-text);
  font-size: 1rem;
  line-height: 1.25;
}

.chemryttga-snapshot-note {
  grid-column: 1 / -1;
  padding: 0.65rem 0.75rem;
  border: 1px solid #bfdbfe;
  border-left: 4px solid var(--chemryttga-primary);
  border-radius: 0.75rem;
  background: #eff6ff;
  color: var(--chemryttga-text);
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.45;
}

.chemryttga-form {
  display: grid;
  gap: 0.45rem;
}

.chemryttga-check-row {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 28px;
  flex-wrap: wrap;
}

.chemryttga-check-row label {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  height: 28px;
  padding: 0 0.5rem;
  border: 1px solid var(--chemryttga-border-strong);
  border-radius: 999px;
  background: #ffffff;
  color: var(--chemryttga-text);
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.chemryttga-check-row input {
  width: 13px;
  height: 13px;
  margin: 0;
  accent-color: var(--chemryttga-primary);
}

.chemryttga-predict-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.75rem;
  margin-bottom: 0.5rem;
}

.chemryttga-predict-toolbar:empty,
.chemryttga-predict-toolbar:has(.chemryttga-loading[hidden]) {
  display: none;
}

.chemryttga-structure-card .chemryttga-card-head {
  align-items: center;
}

.chemryttga-structure-card .chemryttga-card-actions {
  flex: 0 0 auto;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
}

.chemryttga-status {
  margin-bottom: 1rem;
  padding: 0.9rem 1rem;
  border-radius: var(--chemryttga-radius-md);
  font-weight: 700;
  border: 1px solid transparent;
}

.chemryttga-status--info {
  color: #1f5e87;
  background: #eaf3fb;
  border-color: #cfe0f2;
}

.chemryttga-status--success {
  color: var(--chemryttga-success);
  background: #e8f5ed;
  border-color: #c8e6d2;
}

.chemryttga-status--warning {
  color: var(--chemryttga-warning);
  background: #fff4db;
  border-color: #f6ddae;
}

.chemryttga-status--error {
  color: var(--chemryttga-danger);
  background: #fdebec;
  border-color: #f4c7cb;
}

.chemryttga-label {
  display: block;
  margin-bottom: 0.25rem;
  color: #375069;
  font-size: 0.78rem;
  font-weight: 700;
}

.chemryttga-input {
  width: 100%;
  height: 28px;
  min-height: 28px;
  padding: 0 0.55rem;
  border: 1px solid var(--chemryttga-border-strong);
  border-radius: 0.5rem;
  background: #fff;
  color: var(--chemryttga-text);
  font: inherit;
  font-size: 0.86rem;
  line-height: 26px;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.chemryttga-input:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.12);
}

.chemryttga-textarea {
  min-height: 28px;
  padding-top: 0.25rem;
  line-height: 1.25;
  resize: vertical;
}

.chemryttga-form .chemryttga-textarea {
  height: 28px;
  resize: none;
}

.chemryttga-textarea--mono {
  font-family: Consolas, Monaco, monospace;
}

.chemryttga-btn {
  appearance: none;
  height: 28px;
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font: inherit;
  font-size: 0.89rem;
  font-weight: 700;
  line-height: 1.15;
  white-space: nowrap;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease, color .15s ease;
}

.chemryttga-btn:hover {
  transform: translateY(-1px);
}

.chemryttga-btn:disabled {
  opacity: 0.65;
  cursor: progress;
  transform: none;
}

.chemryttga-btn--primary {
  color: #fff;
  background: linear-gradient(135deg, #0d6e8a 0%, #1793aa 100%);
  border-color: #0d6e8a;
  box-shadow: 0 14px 32px rgba(13, 110, 138, 0.22);
}

.chemryttga-btn--primary:hover {
  border-color: #0d6e8a;
  box-shadow: 0 14px 32px rgba(13, 110, 138, 0.22);
}

.chemryttga-btn--secondary {
  background: #f4fafc;
  color: #163347;
  border-color: #d6e4ed;
}

.chemryttga-btn--secondary:hover {
  background: #f4fafc;
  border-color: #d6e4ed;
  box-shadow: none;
}

.chemryttga-btn--ghost {
  background: transparent;
  color: #5c7386;
  border-color: #d6e4ed;
}

.chemryttga-btn--ghost:hover {
  border-color: #d6e4ed;
  box-shadow: none;
}

.chemryttga-run-button {
  min-width: 92px;
  height: 28px;
  min-height: 28px;
  font-size: 0.89rem;
}

.chemryttga-loading {
  width: min(100%, 520px);
  margin: 0;
}

.chemryttga-progress {
  display: grid;
  gap: 0.35rem;
  padding: 0.55rem 0.75rem;
  border: 1px solid #bfdbfe;
  border-radius: 0.85rem;
  background: #f8fbff;
}

.chemryttga-progress__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  color: var(--chemryttga-primary);
  font-size: 0.82rem;
  font-weight: 800;
}

.chemryttga-progress__track {
  height: 0.45rem;
  overflow: hidden;
  border-radius: 999px;
  background: #dbeafe;
}

.chemryttga-progress__bar {
  display: block;
  width: 0%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #0d6e8a, #0f6dbb);
  transition: width 0.22s ease;
}

.chemryttga-editor-frame {
  position: relative;
  padding: 0.85rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 1.25rem;
  background: #ffffff;
  overflow: hidden;
}

.chemryttga-fragment-highlight-overlay {
  position: absolute;
  left: 3.5rem;
  right: 0.85rem;
  bottom: 0.85rem;
  z-index: 6;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  max-height: 3.2rem;
  padding: 0.35rem 0.45rem;
  border: 1px solid;
  border-radius: 0.65rem;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 8px 20px rgba(18, 48, 77, 0.14);
  overflow: hidden;
  pointer-events: none;
}

.chemryttga-fragment-highlight-overlay span {
  color: var(--chemryttga-text);
  font-size: 0.78rem;
  font-weight: 800;
}

.chemryttga-fragment-highlight-overlay mark {
  padding: 0.2rem 0.45rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--fragment-color) 16%, white);
  color: var(--chemryttga-text);
  font-size: 0.76rem;
  font-weight: 700;
}

.chemryttga-jsme-overlay {
  position: absolute;
  inset: 0;
  z-index: 10;
  cursor: pointer;
  border-radius: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  transition: background 0.15s;
}
.chemryttga-jsme-overlay:hover {
  background: rgba(55, 80, 105, 0.06);
}
.chemryttga-jsme-overlay__hint {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid #d7e0ea;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  font-size: 0.78rem;
  font-weight: 600;
  color: #375069;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.15s;
}
.chemryttga-jsme-overlay:hover .chemryttga-jsme-overlay__hint {
  opacity: 1;
}

.chemryttga-jsme {
  width: 100%;
  height: 300px;
}

.chemryttga-structure-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.98fr) minmax(360px, 1.02fr);
  gap: 1rem;
  align-items: start;
}

.chemryttga-structure-details {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}

.chemryttga-structure-details .chemryttga-textarea {
  min-height: 0;
  resize: vertical;
}

.chemryttga-structure-details #chemryttga-smiles-input,
.chemryttga-structure-details #chemryttga-smiles-display {
  height: 4.7rem;
}

.chemryttga-chip {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
}

.chemryttga-chip--soft {
  background: var(--chemryttga-accent-soft);
  color: var(--chemryttga-warning);
}

.chemryttga-molecule-summary,
.chemryttga-descriptor-snapshot,
.chemryttga-subcard,
.chemryttga-side-section {
  padding: 0.8rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 0.85rem;
  background: #ffffff;
  box-shadow: var(--chemryttga-shadow-soft);
}

.chemryttga-side-section {
  min-height: 0;
  box-shadow: none;
}

.chemryttga-side-section .chemryttga-section-title {
  margin-bottom: 0.45rem;
  font-size: 0.86rem;
}

.chemryttga-side-section--wide {
  grid-column: 1 / -1;
}

.chemryttga-side-row {
  grid-column: 1 / -1;
  display: grid;
  gap: 0.55rem;
}

.chemryttga-side-row--triple {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.chemryttga-side-section--horizontal {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.35rem;
  align-items: start;
  padding-block: 0.55rem;
}

.chemryttga-side-section--horizontal .chemryttga-section-title {
  margin-bottom: 0;
}

.chemryttga-side-section--horizontal .chemryttga-side-copy {
  min-width: 0;
}

.chemryttga-side-section--horizontal .chemryttga-compatibility-badge,
.chemryttga-side-section--horizontal .chemryttga-kinetic-badge,
.chemryttga-side-section--horizontal .chemryttga-solvent-match-badge {
  padding: 0.48rem 0.65rem;
  border-radius: 0.65rem;
}

.chemryttga-side-section--horizontal .chemryttga-compatibility-grid,
.chemryttga-side-section--horizontal .chemryttga-solvent-match-meta {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.35rem;
  margin-top: 0.35rem;
  padding: 0;
  border: 0;
}

.chemryttga-side-section--horizontal .chemryttga-compatibility-grid div,
.chemryttga-side-section--horizontal .chemryttga-solvent-match-list div {
  padding: 0.42rem 0.55rem;
  border-radius: 0.55rem;
}

.chemryttga-side-section--horizontal .chemryttga-solvent-match-list {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 0.35rem;
  margin-top: 0.35rem;
}

.chemryttga-side-section--horizontal .chemryttga-compatibility-note,
.chemryttga-side-section--horizontal .chemryttga-compatibility-warning {
  margin-top: 0.35rem;
  padding: 0.4rem 0;
}

.chemryttga-molecule-summary {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.45rem 0.65rem;
  border-radius: 0.85rem;
  box-shadow: none;
}

.chemryttga-molecule-summary__head {
  flex: 0 0 auto;
}

.chemryttga-molecule-summary .chemryttga-section-title {
  font-size: 0.82rem;
  font-weight: 800;
}

.chemryttga-mini-metric,
.chemryttga-metric-card,
.chemryttga-data-item {
  padding: 0.9rem 1rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 1rem;
  background: #ffffff;
}

#chemryttga-summary-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 0.45rem;
}

#chemryttga-summary-cards .chemryttga-metric-card {
  min-height: 0;
  padding: 0.48rem 0.6rem;
  border-radius: 0.75rem;
}

#chemryttga-summary-cards .chemryttga-metric-label {
  color: var(--chemryttga-text-soft);
  font-size: 0.66rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0;
}

#chemryttga-summary-cards .chemryttga-metric-number {
  margin-top: 0.18rem;
  color: var(--chemryttga-text);
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chemryttga-molecule-summary .chemryttga-mini-metric {
  display: inline-flex;
  align-items: baseline;
  gap: 0.35rem;
  min-height: 28px;
  padding: 0.25rem 0.5rem;
  border-radius: 999px;
}

.chemryttga-molecule-summary .chemryttga-mini-metric__label {
  font-size: 0.62rem;
  letter-spacing: 0.12em;
}

.chemryttga-molecule-summary .chemryttga-mini-metric__value {
  display: inline;
  margin-top: 0;
  font-size: 0.82rem;
}

.chemryttga-descriptor-snapshot {
  display: grid;
  gap: 0.55rem;
  padding: 0.65rem;
  border-radius: 0.85rem;
  box-shadow: none;
}

.chemryttga-descriptor-snapshot .chemryttga-section-title {
  font-size: 0.82rem;
  font-weight: 800;
}

.chemryttga-descriptor-snapshot #chemryttga-descriptors {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.45rem;
}

.chemryttga-descriptor-snapshot #chemryttga-descriptors.chemryttga-empty-state {
  display: block;
  padding: 0.45rem 0;
  color: var(--chemryttga-text-soft);
  font-size: 0.82rem;
}

.chemryttga-descriptor-snapshot .chemryttga-data-item {
  min-height: 3rem;
  padding: 0.45rem 0.55rem;
  border-radius: 0.75rem;
  display: grid;
  gap: 0.15rem;
}

.chemryttga-descriptor-snapshot .chemryttga-data-label {
  color: var(--chemryttga-text-soft);
  font-size: 0.66rem;
  font-weight: 800;
  text-transform: uppercase;
}

.chemryttga-descriptor-snapshot .chemryttga-data-value {
  color: var(--chemryttga-text);
  font-size: 0.86rem;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chemryttga-mini-metric__value,
.chemryttga-metric-number {
  display: block;
  margin-top: 0.45rem;
  color: var(--chemryttga-text);
  font-size: 1.3rem;
}

.chemryttga-tab {
  min-height: 2.8rem;
  padding: 0.65rem 1rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 999px;
  background: #ffffff;
  color: var(--chemryttga-text-soft);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.chemryttga-tab:hover {
  transform: translateY(-1px);
  border-color: #93c5fd;
}

.chemryttga-tab.is-active {
  background: var(--chemryttga-primary-soft);
  border-color: #93c5fd;
  color: var(--chemryttga-primary);
}

.chemryttga-tab-panel {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .2s ease, transform .2s ease;
}

.chemryttga-tab-panel.is-active {
  opacity: 1;
  transform: translateY(0);
}

.chemryttga-chart-intro,
.chemryttga-metrics-block {
  margin-bottom: 1rem;
}

.chemryttga-chart-intro {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.chemryttga-upload-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
}

#chemryttga-experimental-upload,
#chemryttga-isothermal-rate-files {
  display: none !important;
}

.chemryttga-import-control {
  display: inline-flex;
  align-items: center;
  min-height: 2.3rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(18, 48, 77, 0.04);
  overflow: hidden;
}

.chemryttga-import-btn {
  display: inline-flex;
  align-items: center;
  min-height: 2.3rem;
  padding: 0 0.85rem;
  border-right: 1px solid var(--chemryttga-border);
  color: #075985;
  font-size: 0.82rem;
  font-weight: 800;
  cursor: pointer;
}

.chemryttga-import-btn::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  margin-right: 0.45rem;
  border: 1.5px solid #0ea5e9;
  border-radius: 2px;
  box-sizing: border-box;
}

.chemryttga-upload-filename {
  max-width: 16rem;
  padding: 0 0.8rem;
  color: #45617d;
  font-size: 0.78rem;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chemryttga-chart-shell {
  position: relative;
  min-height: 31rem;
}

.chemryttga-chart-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  align-items: stretch;
}

.chemryttga-proximate-card {
  padding: 1rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 1rem;
  background: #ffffff;
}

.chemryttga-chart {
  width: 100% !important;
  height: 31rem !important;
}

#chemryttga-panel-curve .chemryttga-chart-shell {
  min-height: 40rem;
}

#chemryttga-panel-curve #chemryttga-chart {
  height: 40rem !important;
}

.chemryttga-chart-mode {
  width: 126px;
  min-height: 28px;
  padding-block: 0.25rem;
}

.chemryttga-gnn-panel {
  display: grid;
  grid-template-columns: minmax(15rem, 0.32fr) minmax(0, 0.68fr);
  gap: 0.75rem;
  align-items: start;
  min-width: 0;
}

.chemryttga-gnn-structure,
.chemryttga-gnn-chart,
.chemryttga-gnn-readout {
  min-width: 0;
  border: 1px solid var(--chemryttga-border);
  border-radius: 0.85rem;
  background: #ffffff;
}

.chemryttga-gnn-structure {
  display: grid;
  gap: 0.45rem;
  padding: 0.65rem;
}

.chemryttga-gnn-structure h4 {
  margin: 0;
  color: var(--chemryttga-text);
  font-size: 0.86rem;
  font-weight: 800;
}

.chemryttga-gnn-structure-svg {
  display: grid;
  place-items: center;
  min-height: 13rem;
  overflow: hidden;
}

.chemryttga-gnn-structure-svg svg {
  width: 100%;
  max-height: 13rem;
}

.chemryttga-gnn-structure-fallback {
  min-height: 13rem;
  padding: 0.75rem;
  overflow-wrap: anywhere;
  border: 1px dashed var(--chemryttga-border);
  border-radius: 0.65rem;
  color: var(--chemryttga-text-soft);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 0.78rem;
  line-height: 1.35;
}

.chemryttga-gnn-meta,
.chemryttga-gnn-facts {
  display: grid;
  gap: 0.4rem;
}

.chemryttga-gnn-meta span,
.chemryttga-gnn-facts div {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.45rem 0.55rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 0.65rem;
  color: var(--chemryttga-text-soft);
  font-size: 0.74rem;
}

.chemryttga-gnn-meta strong,
.chemryttga-gnn-facts strong {
  color: var(--chemryttga-text);
  font-weight: 800;
}

.chemryttga-gnn-chart {
  min-height: 360px;
}

.chemryttga-gnn-readout {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(16rem, 0.35fr) minmax(0, 0.65fr);
  gap: 0.75rem;
  padding: 0.65rem;
}

.chemryttga-gnn-score {
  display: grid;
  gap: 0.12rem;
  align-content: center;
  padding: 0.75rem 0.85rem;
  border: 1px solid #f0abfc;
  border-left: 4px solid #c026d3;
  border-radius: 0.75rem;
  background: #fdf4ff;
}

.chemryttga-gnn-score span {
  color: #86198f;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.chemryttga-gnn-score strong {
  color: #701a75;
  font-size: 1.55rem;
  font-weight: 850;
}

.chemryttga-gnn-score em {
  color: var(--chemryttga-text-soft);
  font-size: 0.8rem;
  font-style: normal;
}

.chemryttga-empty-state {
  padding: 1rem;
}

.chemryttga-data-item {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.chemryttga-stage-row {
  cursor: pointer;
}

.chemryttga-stage-row:hover,
.chemryttga-stage-row.is-selected {
  background: #f4fafc;
}

.chemryttga-fragment-stage-btn {
  display: grid;
  gap: 0.2rem;
  width: 100%;
  padding: 0.55rem 0;
  border: 0;
  border-bottom: 1px solid var(--chemryttga-border);
  background: transparent;
  color: var(--chemryttga-text);
  text-align: left;
  cursor: pointer;
}

.chemryttga-fragment-stage-btn:last-child {
  border-bottom: 0;
}

.chemryttga-fragment-stage-btn strong,
.chemryttga-fragment-detail-title {
  color: var(--chemryttga-text);
  font-size: 0.86rem;
  font-weight: 800;
}

.chemryttga-fragment-stage-btn span {
  color: var(--chemryttga-text-soft);
  font-size: 0.82rem;
  line-height: 1.35;
}

.chemryttga-fragment-item,
.chemryttga-ega-item {
  display: grid;
  gap: 0.18rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--chemryttga-border);
  border-left: 3px solid #0d6e8a;
  border-radius: 0.65rem;
  background: #ffffff;
}

.chemryttga-fragment-item + .chemryttga-fragment-item,
.chemryttga-fragment-item + .chemryttga-ega-item,
.chemryttga-ega-item + .chemryttga-ega-item,
.chemryttga-ega-item + .chemryttga-offgas-hazard,
.chemryttga-offgas-hazard + .chemryttga-offgas-hazard {
  margin-top: 0.55rem;
}

.chemryttga-fragment-item strong,
.chemryttga-ega-item strong {
  color: var(--chemryttga-text);
  font-size: 0.88rem;
}

.chemryttga-fragment-item span,
.chemryttga-ega-item span,
.chemryttga-ega-item em,
.chemryttga-fragment-stage-btn em {
  color: var(--chemryttga-text-soft);
  font-size: 0.78rem;
  font-style: normal;
  line-height: 1.28;
}

.chemryttga-fragment-stage-btn em {
  color: var(--chemryttga-warning);
  font-weight: 800;
}

.chemryttga-offgas-hazard {
  padding: 0.65rem 0.75rem;
  border: 1px solid #fed7aa;
  border-left: 4px solid var(--chemryttga-warning);
  border-radius: 0.7rem;
  background: #fff7ed;
  color: var(--chemryttga-warning);
  font-size: 0.84rem;
  font-weight: 800;
  line-height: 1.45;
}

.chemryttga-ms-heatmap {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0.6rem 0;
}

.chemryttga-ms-cell {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  padding: 0.55rem 0.6rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 0.55rem;
  background:
    linear-gradient(90deg, rgba(13, 110, 138, 0.18) var(--ms-intensity), #ffffff var(--ms-intensity));
}

.chemryttga-ms-cell strong {
  color: var(--chemryttga-text);
  font-size: 0.82rem;
}

.chemryttga-ms-cell span,
.chemryttga-ms-cell em {
  overflow: hidden;
  color: var(--chemryttga-text-soft);
  font-size: 0.76rem;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chemryttga-offgas-hazard--high {
  border-color: #fecaca;
  border-left-color: var(--chemryttga-danger);
  background: #fff7f7;
  color: var(--chemryttga-danger);
}

.chemryttga-alert-line {
  padding: 0.55rem 0.65rem;
  border: 1px solid #fed7aa;
  border-left: 3px solid var(--chemryttga-warning);
  border-radius: 0.65rem;
  background: #fff7ed;
  color: var(--chemryttga-warning);
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.35;
}

.chemryttga-alert-line:last-child {
  border-bottom: 1px solid #fed7aa;
}

.chemryttga-compatibility-badge {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 0.75rem;
  background: #ffffff;
}

.chemryttga-compatibility-badge strong {
  color: var(--chemryttga-text);
  font-size: 0.9rem;
}

.chemryttga-compatibility-badge span {
  color: var(--chemryttga-text-soft);
  font-size: 0.82rem;
  font-weight: 800;
}

.chemryttga-kinetic-badge {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid #bfdbfe;
  border-radius: 0.75rem;
  background: #eff6ff;
}

.chemryttga-kinetic-badge strong {
  color: var(--chemryttga-text);
  font-size: 0.9rem;
}

.chemryttga-kinetic-badge span {
  color: var(--chemryttga-primary);
  font-size: 0.82rem;
  font-weight: 800;
}

.chemryttga-atmosphere-banner {
  display: grid;
  gap: 0.35rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid #fed7aa;
  border-left: 4px solid var(--chemryttga-warning);
  border-radius: 0.75rem;
  background: #fff7ed;
}

.chemryttga-atmosphere-banner strong {
  color: var(--chemryttga-warning);
  font-size: 0.9rem;
}

.chemryttga-atmosphere-banner span {
  color: var(--chemryttga-text);
  font-size: 0.86rem;
  line-height: 1.45;
}

.chemryttga-compatibility-badge--high {
  border-color: #a7f3d0;
  background: #f0fdf4;
}

.chemryttga-compatibility-badge--moderate {
  border-color: #fde68a;
  background: #fffbeb;
}

.chemryttga-compatibility-badge--low,
.chemryttga-compatibility-badge--critical {
  border-color: #fecaca;
  background: #fff7f7;
}

.chemryttga-compatibility-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  margin-top: 0.65rem;
}

.chemryttga-compatibility-grid div {
  display: grid;
  gap: 0.15rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 0.7rem;
  background: #ffffff;
}

.chemryttga-compatibility-grid span {
  color: var(--chemryttga-text-soft);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.chemryttga-compatibility-grid strong {
  color: var(--chemryttga-text);
  font-size: 0.86rem;
}

.chemryttga-compatibility-warning,
.chemryttga-compatibility-note {
  margin-top: 0.55rem;
  padding: 0.55rem 0;
  border-top: 1px solid var(--chemryttga-border);
  line-height: 1.45;
}

.chemryttga-compatibility-warning {
  color: var(--chemryttga-warning);
  font-weight: 800;
}

.chemryttga-compatibility-note {
  color: var(--chemryttga-text-soft);
  font-size: 0.84rem;
}

.chemryttga-deconvolution-peak {
  display: grid;
  gap: 0.15rem;
  margin-top: 0.55rem;
  padding: 0.55rem 0;
  border-top: 1px solid var(--chemryttga-border);
}

.chemryttga-deconvolution-peak strong {
  color: var(--chemryttga-text);
  font-size: 0.86rem;
}

.chemryttga-deconvolution-peak span {
  color: var(--chemryttga-text-soft);
  font-size: 0.82rem;
  line-height: 1.4;
}

.chemryttga-kinetic-points {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.65rem;
}

.chemryttga-kinetic-points span {
  padding: 0.32rem 0.5rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 999px;
  background: #ffffff;
  color: var(--chemryttga-text-soft);
  font-size: 0.78rem;
  font-weight: 700;
}

.chemryttga-molar-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid #bfdbfe;
  border-radius: 0.75rem;
  background: #f8fbff;
}

.chemryttga-molar-summary strong {
  color: var(--chemryttga-text);
  font-size: 0.9rem;
}

.chemryttga-molar-summary span {
  color: var(--chemryttga-primary);
  font-size: 0.82rem;
  font-weight: 800;
  text-align: right;
}

.chemryttga-molar-chart {
  height: 260px;
  margin-top: 0.75rem;
  overflow: hidden;
  border: 1px solid var(--chemryttga-border);
  border-radius: 0.75rem;
  background: #ffffff;
}

.chemryttga-molar-chart canvas {
  width: 100% !important;
  height: 260px !important;
}

.chemryttga-molar-note {
  margin: 0.65rem 0 0;
  color: var(--chemryttga-text-soft);
  font-size: 0.84rem;
  line-height: 1.45;
}

.chemryttga-solvent-match-badge {
  display: grid;
  gap: 0.2rem;
  padding: 0.7rem 0.8rem;
  border: 1px solid #bfdbfe;
  border-left: 4px solid #0d6e8a;
  border-radius: 0.75rem;
  background: #f8fbff;
}

.chemryttga-solvent-match-badge strong {
  color: var(--chemryttga-text);
  font-size: 0.92rem;
}

.chemryttga-solvent-match-badge span {
  color: var(--chemryttga-primary);
  font-size: 0.82rem;
  font-weight: 900;
}

.chemryttga-solvent-match-meta {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr);
  gap: 0.35rem 0.65rem;
  margin-top: 0.65rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 0.75rem;
  background: #ffffff;
}

.chemryttga-solvent-match-meta span {
  color: var(--chemryttga-text-soft);
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.chemryttga-solvent-match-meta strong {
  min-width: 0;
  color: var(--chemryttga-text);
  font-size: 0.82rem;
  overflow-wrap: anywhere;
}

.chemryttga-solvent-match-list {
  display: grid;
  gap: 0.45rem;
  margin-top: 0.65rem;
}

.chemryttga-solvent-match-list div {
  display: grid;
  gap: 0.12rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 0.65rem;
  background: #ffffff;
}

.chemryttga-solvent-match-list strong {
  color: var(--chemryttga-text);
  font-size: 0.84rem;
}

.chemryttga-solvent-match-list span {
  color: var(--chemryttga-text-soft);
  font-size: 0.78rem;
  line-height: 1.35;
}

.chemryttga-tangent-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid #bfdbfe;
  border-left: 4px solid #7c3aed;
  border-radius: 0.75rem;
  background: #f8fbff;
}

.chemryttga-tangent-summary strong {
  color: var(--chemryttga-text);
  font-size: 0.9rem;
}

.chemryttga-tangent-summary span {
  color: #6d28d9;
  font-size: 0.82rem;
  font-weight: 900;
}

.chemryttga-tangent-chart {
  height: 300px;
  margin-top: 0.75rem;
  overflow: hidden;
  border: 1px solid var(--chemryttga-border);
  border-radius: 0.75rem;
  background: #ffffff;
}

.chemryttga-tangent-chart canvas {
  width: 100% !important;
  height: 300px !important;
}

.chemryttga-tangent-deltas {
  display: grid;
  gap: 0.45rem;
  margin-top: 0.65rem;
}

.chemryttga-tangent-deltas div {
  display: flex;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 0.65rem;
  background: #ffffff;
}

.chemryttga-tangent-deltas strong {
  color: var(--chemryttga-text);
  font-size: 0.84rem;
}

.chemryttga-tangent-deltas span,
.chemryttga-tangent-note {
  color: var(--chemryttga-text-soft);
  font-size: 0.78rem;
  line-height: 1.35;
}

.chemryttga-tangent-note {
  margin: 0.6rem 0 0;
}

.chemryttga-multisolvent-badge {
  display: grid;
  gap: 0.2rem;
  padding: 0.7rem 0.8rem;
  border: 1px solid #bfdbfe;
  border-left: 4px solid #0d6e8a;
  border-radius: 0.75rem;
  background: #f8fbff;
}

.chemryttga-multisolvent-badge strong {
  color: var(--chemryttga-text);
  font-size: 0.88rem;
}

.chemryttga-multisolvent-badge span {
  color: var(--chemryttga-primary);
  font-size: 0.82rem;
  font-weight: 900;
}

.chemryttga-multisolvent-chart {
  height: 320px;
  margin-top: 0.75rem;
  overflow: hidden;
  border: 1px solid var(--chemryttga-border);
  border-radius: 0.75rem;
  background: #ffffff;
}

.chemryttga-multisolvent-chart canvas {
  width: 100% !important;
  height: 320px !important;
}

.chemryttga-multisolvent-matrix {
  display: grid;
  gap: 0.45rem;
  margin-top: 0.65rem;
}

.chemryttga-multisolvent-matrix div {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 0.55rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 0.65rem;
  background: #ffffff;
}

.chemryttga-multisolvent-matrix span {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--peak-color);
}

.chemryttga-multisolvent-matrix strong {
  color: var(--chemryttga-text);
  font-size: 0.84rem;
}

.chemryttga-multisolvent-matrix em,
.chemryttga-multisolvent-matrix b {
  color: var(--chemryttga-text-soft);
  font-size: 0.78rem;
  font-style: normal;
}

.chemryttga-multisolvent-matrix b {
  color: var(--chemryttga-primary);
  font-weight: 900;
}

.chemryttga-check-row--wrap {
  flex-wrap: wrap;
}

.chemryttga-isothermal-summary {
  display: grid;
  gap: 0.25rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid #bfdbfe;
  border-radius: 0.75rem;
  background: #f8fbff;
}

.chemryttga-isothermal-split,
.chemryttga-rate-body,
.chemryttga-arrhenius-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 1fr);
  gap: 0.75rem;
}

.chemryttga-isothermal-split,
.chemryttga-rate-plotter,
.chemryttga-arrhenius-panel {
  margin-bottom: 1rem;
  padding: 0.75rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 0.85rem;
  background: #ffffff;
}

.chemryttga-rate-plotter {
  display: grid;
  gap: 0.75rem;
}

.chemryttga-rate-info-panel,
.chemryttga-arrhenius-info-panel {
  display: grid;
  align-content: start;
  gap: 0.7rem;
  min-width: 0;
}

.chemryttga-rate-toolbar {
  display: grid;
  grid-template-columns: minmax(8rem, 0.8fr) minmax(9rem, 0.9fr) minmax(13rem, 1fr) minmax(8rem, 0.8fr) minmax(8rem, 0.8fr);
  align-items: center;
  gap: 0.55rem;
  padding-top: 0.9rem;
}

.chemryttga-rate-toolbar .chemryttga-upload-filename {
  max-width: none;
  min-height: 2.25rem;
  display: inline-flex;
  align-items: center;
  padding-inline: 0.7rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 999px;
  background: #ffffff;
}

.chemryttga-rate-model-field {
  position: relative;
  min-width: 0;
  margin: 0;
  padding-top: 0;
}

.chemryttga-rate-model-field span {
  position: absolute;
  left: 0.7rem;
  top: -1rem;
  color: var(--chemryttga-text);
  font-size: 0.68rem;
  font-weight: 650;
  line-height: 1;
}

.chemryttga-rate-model-field select {
  width: 100%;
  min-height: 2.25rem;
  padding: 0 2rem 0 0.75rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 0.7rem;
  background-color: #ffffff;
  color: var(--chemryttga-text);
  font-family: inherit;
  font-size: 0.86rem;
  font-weight: 650;
  line-height: 1.2;
}

.chemryttga-rate-status {
  color: var(--chemryttga-text-soft);
  font-size: 0.82rem;
  line-height: 1.35;
}

.chemryttga-rate-status--success {
  color: #0f766e;
  font-weight: 650;
}

.chemryttga-rate-status--error {
  color: var(--chemryttga-danger);
  font-weight: 650;
}

.chemryttga-rate-chart-wrap {
  position: relative;
  min-height: 340px;
  min-width: 0;
}

.chemryttga-rate-chart {
  width: 100%;
  min-height: 340px;
  position: relative;
}

.chemryttga-rate-chart canvas {
  width: 100% !important;
  height: 340px !important;
}

.chemryttga-rate-chart .js-plotly-plot,
.chemryttga-rate-chart .plot-container,
.chemryttga-rate-chart .svg-container {
  width: 100% !important;
  min-height: 340px;
}

.chemryttga-rate-chart.js-plotly-plot {
  min-height: 340px;
}

.chemryttga-rate-fit-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.35rem;
}

.chemryttga-rate-fit-card {
  display: grid;
  gap: 0.12rem;
  padding: 0.42rem 0.55rem;
  border: 1px solid #bfdbfe;
  border-radius: 0.7rem;
  background: rgba(248, 251, 255, 0.92);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
}

.chemryttga-rate-fit-card span {
  color: var(--chemryttga-text-soft);
  font-size: 0.68rem;
  font-weight: 650;
}

.chemryttga-rate-fit-card strong {
  color: var(--chemryttga-text);
  font-size: 0.86rem;
  font-weight: 750;
}

.chemryttga-arrhenius-chart {
  min-height: 340px;
  min-width: 0;
}

.chemryttga-arrhenius-chart.js-plotly-plot {
  min-height: 340px;
}

.chemryttga-ofw-profiler-chart {
  min-height: 340px;
  min-width: 0;
}

.chemryttga-ofw-profiler-chart.js-plotly-plot,
.chemryttga-ofw-profiler-chart .js-plotly-plot,
.chemryttga-ofw-profiler-chart .plot-container,
.chemryttga-ofw-profiler-chart .svg-container {
  width: 100% !important;
  min-height: 340px;
}

.chemryttga-ofw-panel > .chemryttga-side-copy {
  align-self: stretch;
  min-width: 0;
}

.chemryttga-pseudo-banners {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.4rem;
  margin-bottom: 0.6rem;
}

.chemryttga-pseudo-banner {
  display: grid;
  gap: 0.12rem;
  padding: 0.45rem 0.55rem;
  border: 1px solid var(--chemryttga-border);
  border-left: 4px solid var(--pseudo-color, #0f6dbb);
  border-radius: 0.65rem;
  background: #f8fbff;
}

.chemryttga-pseudo-banner strong {
  color: var(--chemryttga-text);
  font-size: 0.78rem;
  font-weight: 750;
}

.chemryttga-pseudo-banner span {
  color: var(--chemryttga-text-soft);
  font-size: 0.72rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chemryttga-pseudo-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.45fr);
  gap: 0.75rem;
  align-items: start;
}

.chemryttga-pseudo-plot {
  min-height: 340px;
  min-width: 0;
}

.chemryttga-pseudo-checkboxes {
  display: grid;
  gap: 0.35rem;
  margin-top: 0.55rem;
}

.chemryttga-pseudo-checkboxes label {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr) auto;
  gap: 0.35rem;
  align-items: center;
  min-height: 1.85rem;
  padding: 0.32rem 0.45rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 999px;
  background: #ffffff;
}

.chemryttga-pseudo-checkboxes input {
  margin: 0;
}

.chemryttga-pseudo-checkboxes span {
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 999px;
  background: var(--pseudo-color, #0f6dbb);
}

.chemryttga-pseudo-checkboxes strong,
.chemryttga-pseudo-checkboxes em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.74rem;
  font-style: normal;
}

.chemryttga-pseudo-checkboxes strong {
  color: var(--chemryttga-text);
  font-weight: 750;
}

.chemryttga-pseudo-checkboxes em {
  color: var(--chemryttga-text-soft);
}

.chemryttga-solvate-flag {
  margin-bottom: 0.55rem;
  padding: 0.5rem 0.65rem;
  border: 1px solid #bfdbfe;
  border-radius: 0.7rem;
  background: #f8fbff;
  color: var(--chemryttga-text);
  font-size: 0.82rem;
  font-weight: 750;
}

.chemryttga-solvate-flag--warning {
  border-color: #fecaca;
  background: #fff7f7;
  color: #b91c1c;
}

.chemryttga-solvate-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.32fr);
  gap: 0.75rem;
  align-items: start;
}

.chemryttga-solvate-chart {
  min-height: 330px;
  min-width: 0;
}

.chemryttga-solvate-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
}

.chemryttga-solvate-summary div {
  display: grid;
  gap: 0.12rem;
  padding: 0.48rem 0.55rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 0.65rem;
  background: #ffffff;
}

.chemryttga-solvate-summary span {
  color: var(--chemryttga-text-soft);
  font-size: 0.7rem;
  font-weight: 650;
}

.chemryttga-solvate-summary strong {
  color: var(--chemryttga-text);
  font-size: 0.86rem;
  font-weight: 800;
}

.chemryttga-triplot-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.75rem;
  align-items: start;
}

.chemryttga-triplot-chart {
  min-height: 520px;
  min-width: 0;
}

.chemryttga-triplot-side {
  display: grid;
  gap: 0.6rem;
  min-width: 0;
}

.chemryttga-sinter-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.75rem;
  align-items: start;
}

.chemryttga-sinter-chart {
  min-height: 340px;
  min-width: 0;
}

.chemryttga-sinter-side {
  display: grid;
  gap: 0.65rem;
  min-width: 0;
}

.chemryttga-sinter-controls {
  display: grid;
  gap: 0.55rem;
}

.chemryttga-sinter-controls label {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr) 4.8rem;
  gap: 0.45rem;
  align-items: center;
  color: var(--chemryttga-text);
  font-size: 0.78rem;
  font-weight: 700;
}

.chemryttga-sinter-controls input {
  width: 100%;
}

.chemryttga-sinter-controls b {
  color: var(--chemryttga-text-soft);
  font-size: 0.74rem;
  text-align: right;
}

.chemryttga-framework-panel {
  display: grid;
  gap: 0.75rem;
  padding: 0.75rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 0.85rem;
  background: #ffffff;
  font-family: inherit;
  font-size: 0.86rem;
  line-height: 1.35;
}

.chemryttga-framework-controls {
  display: grid;
  grid-template-columns: minmax(12rem, 1fr) minmax(8rem, 0.7fr) minmax(9rem, 0.6fr);
  gap: 0.65rem;
  align-items: end;
}

.chemryttga-framework-controls--cocrystal {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.chemryttga-framework-controls input {
  width: 100%;
  min-height: 2.35rem;
  padding: 0.45rem 0.65rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 0.65rem;
  background: #ffffff;
  color: var(--chemryttga-text);
  font: inherit;
  font-size: 0.86rem;
}

.chemryttga-framework-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.75rem;
  align-items: start;
}

.chemryttga-framework-chart {
  min-height: 380px;
  min-width: 0;
}

.chemryttga-framework-side {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 5.5rem;
  gap: 0.75rem;
  align-items: stretch;
  min-width: 0;
}

.chemryttga-framework-meter {
  position: relative;
  display: grid;
  min-height: 17rem;
  overflow: hidden;
  border: 1px solid var(--chemryttga-border);
  border-radius: 0.8rem;
  background: #ffffff;
}

.chemryttga-framework-meter > div,
.chemryttga-framework-meter > strong {
  position: absolute;
  inset: 0.65rem 1.75rem 2.25rem 1.75rem;
  overflow: hidden;
  border-radius: 999px;
}

.chemryttga-framework-meter > div {
  display: grid;
  grid-template-rows: 1fr 1fr 1fr;
  border: 1px solid rgba(15, 23, 42, 0.12);
}

.chemryttga-framework-meter span:nth-child(1) {
  background: rgba(22, 163, 74, 0.24);
}

.chemryttga-framework-meter span:nth-child(2) {
  background: rgba(217, 119, 6, 0.24);
}

.chemryttga-framework-meter span:nth-child(3) {
  background: rgba(220, 38, 38, 0.22);
}

.chemryttga-framework-meter > strong {
  top: auto;
  display: block;
  max-height: calc(100% - 2.9rem);
  min-height: 0.25rem;
  background: rgba(15, 109, 187, 0.55);
}

.chemryttga-framework-meter em {
  align-self: end;
  justify-self: center;
  margin: 0 0 0.45rem;
  color: var(--chemryttga-text);
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 800;
}

.chemryttga-framework-meter--green em {
  color: #15803d;
}

.chemryttga-framework-meter--amber em {
  color: #b45309;
}

.chemryttga-framework-meter--red em {
  color: #b91c1c;
}

.chemryttga-framework-suite-grid {
  display: grid;
  gap: 0.75rem;
}

.chemryttga-framework-widget {
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 0.85rem;
  background: #ffffff;
  overflow: hidden;
}

.chemryttga-framework-card-head {
  margin-bottom: 0.35rem;
}

.chemryttga-framework-widget-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.62fr) minmax(16rem, 0.38fr);
  gap: 0.65rem;
  align-items: start;
}

.chemryttga-framework-widget--compact .chemryttga-framework-widget-layout {
  grid-template-columns: 1fr;
  gap: 0.45rem;
}

.chemryttga-framework-widget-chart {
  min-height: 0;
  min-width: 0;
}

.chemryttga-framework-widget--compact .chemryttga-framework-widget-chart {
  min-height: 0;
}

.chemryttga-framework-widget-side {
  min-width: 0;
  align-self: start;
}

.chemryttga-framework-widget-side:empty {
  display: none;
}

.chemryttga-framework-widget-layout:has(.chemryttga-framework-widget-side:empty) {
  grid-template-columns: 1fr;
}

.chemryttga-framework-dual-chart {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.45rem;
  min-width: 0;
}

.chemryttga-framework-dual-chart--stack {
  grid-template-columns: 1fr;
}

.chemryttga-framework-dual-chart > div {
  min-width: 0;
  min-height: 290px;
}

.chemryttga-framework-dual-chart--stack > div {
  min-height: 0;
}

.chemryttga-framework-wireframe {
  display: block;
  width: 100%;
  min-width: 0;
  height: 230px;
  border: 1px solid var(--chemryttga-border);
  border-radius: 0.75rem;
  background: linear-gradient(180deg, #ffffff, #f8fbff);
}

.chemryttga-framework-dual-chart--compact > div {
  min-height: 220px;
}

.chemryttga-framework-widget--water-allocation .chemryttga-framework-widget-layout,
.chemryttga-framework-widget--habit-anisotropy .chemryttga-framework-widget-layout {
  grid-template-columns: minmax(0, 0.72fr) minmax(14rem, 0.28fr);
}

.chemryttga-framework-dual-chart--water-allocation > div,
.chemryttga-framework-dual-chart--habit > div,
.chemryttga-framework-dual-chart--habit > canvas {
  height: 230px;
  min-height: 0;
}

.chemryttga-framework-dual-chart--water-allocation .js-plotly-plot,
.chemryttga-framework-dual-chart--water-allocation .plot-container,
.chemryttga-framework-dual-chart--water-allocation .svg-container,
.chemryttga-framework-dual-chart--habit .js-plotly-plot,
.chemryttga-framework-dual-chart--habit .plot-container,
.chemryttga-framework-dual-chart--habit .svg-container {
  height: 230px !important;
}

.chemryttga-framework-widget--delamination .chemryttga-framework-widget-layout {
  grid-template-columns: minmax(0, 0.74fr) minmax(14rem, 0.26fr);
}

.chemryttga-framework-dual-chart--delamination > div {
  height: 230px;
  min-height: 0;
}

.chemryttga-framework-dual-chart--delamination .js-plotly-plot,
.chemryttga-framework-dual-chart--delamination .plot-container,
.chemryttga-framework-dual-chart--delamination .svg-container {
  height: 230px !important;
}

.chemryttga-framework-widget--compact .chemryttga-compatibility-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 0;
}

.chemryttga-framework-slider {
  display: grid;
  gap: 0.45rem;
  margin-top: 0.65rem;
  padding: 0.6rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 0.7rem;
  background: #ffffff;
}

.chemryttga-framework-slider input {
  width: 100%;
}

.chemryttga-framework-slider strong {
  color: var(--chemryttga-text);
  font-size: 0.78rem;
}

.chemryttga-framework-alert {
  display: grid;
  gap: 0.15rem;
  margin-bottom: 0.65rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid #bfdbfe;
  border-left: 4px solid #0f6dbb;
  border-radius: 0.75rem;
  background: #f8fbff;
}

.chemryttga-framework-alert strong {
  color: var(--chemryttga-text);
  font-size: 0.9rem;
}

.chemryttga-framework-alert span {
  color: #0f6dbb;
  font-size: 0.76rem;
  font-weight: 800;
}

.chemryttga-framework-alert--yellow {
  border-color: #fde68a;
  border-left-color: #facc15;
  background: #fffbeb;
  box-shadow: 0 0 0 3px rgba(250, 204, 21, 0.16);
}

.chemryttga-framework-alert--yellow span {
  color: #854d0e;
}

.chemryttga-framework-gauge {
  display: grid;
  place-items: center;
  min-height: 320px;
}

.chemryttga-framework-gauge svg {
  width: min(18rem, 100%);
  height: auto;
}

.chemryttga-framework-gauge circle {
  fill: none;
  stroke: #e5edf7;
  stroke-width: 12;
}

.chemryttga-framework-gauge circle + circle {
  stroke: #0f6dbb;
  stroke-linecap: round;
  pathLength: 100;
  transform: rotate(-90deg);
  transform-origin: 60px 60px;
}

.chemryttga-framework-gauge text {
  fill: var(--chemryttga-text);
  font-family: inherit;
  font-size: 1.1rem;
  font-weight: 850;
  text-anchor: middle;
}

.chemryttga-framework-gauge text + text {
  fill: var(--chemryttga-text-soft);
  font-size: 0.38rem;
  font-weight: 750;
}

.chemryttga-framework-alert--red {
  border-color: #fecaca;
  border-left-color: #dc2626;
  background: #fff7f7;
}

.chemryttga-framework-alert--red span {
  color: #b91c1c;
}

.chemryttga-framework-alert--green {
  border-color: #bbf7d0;
  border-left-color: #16a34a;
  background: #f0fdf4;
}

.chemryttga-framework-alert--green span {
  color: #15803d;
}

.chemryttga-framework-alert--amber {
  border-color: #fde68a;
  border-left-color: #d97706;
  background: #fffbeb;
}

.chemryttga-framework-alert--amber span {
  color: #b45309;
}

.chemryttga-flow-widget {
  position: relative;
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr) 2.4rem;
  align-items: center;
  gap: 0.35rem;
  min-height: 4rem;
  margin-bottom: 0.65rem;
}

.chemryttga-flow-widget span {
  width: 2.4rem;
  height: 2.4rem;
  border: 2px solid #0f6dbb;
  border-radius: 999px;
  background: #f8fbff;
}

.chemryttga-flow-widget b {
  position: relative;
  display: block;
  height: 0.45rem;
  border-radius: 999px;
  background: linear-gradient(90deg, #0ea5e9, #7c3aed, #f97316);
}

.chemryttga-flow-widget b::after {
  position: absolute;
  right: -0.15rem;
  top: 50%;
  width: 0;
  height: 0;
  border-top: 0.45rem solid transparent;
  border-bottom: 0.45rem solid transparent;
  border-left: 0.75rem solid #f97316;
  content: "";
  transform: translateY(-50%);
}

.chemryttga-framework-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.chemryttga-framework-table {
  width: 100%;
  min-width: 30rem;
  border-collapse: collapse;
  table-layout: fixed;
}

.chemryttga-framework-table th,
.chemryttga-framework-table td {
  padding: 0.5rem 0.55rem;
  border-bottom: 1px solid var(--chemryttga-border);
  color: var(--chemryttga-text);
  font-size: 0.76rem;
  text-align: left;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.chemryttga-framework-table th {
  color: var(--chemryttga-text-soft);
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.chemryttga-arrhenius-readout {
  display: grid;
  gap: 0.3rem;
  min-width: 0;
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(191, 219, 254, 0.9);
  border-radius: 0.8rem;
  background: rgba(248, 251, 255, 0.9);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
  backdrop-filter: blur(8px);
}

.chemryttga-arrhenius-readout span {
  color: var(--chemryttga-text-soft);
  font-size: 0.7rem;
  font-weight: 650;
}

.chemryttga-arrhenius-readout strong {
  color: var(--chemryttga-text);
  font-size: 1.05rem;
  font-weight: 800;
}

.chemryttga-arrhenius-readout div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: var(--chemryttga-text-soft);
  font-size: 0.78rem;
}

.chemryttga-arrhenius-readout b,
.chemryttga-arrhenius-readout em {
  font-style: normal;
  font-weight: 650;
}

.chemryttga-arrhenius-fallback {
  display: grid;
  gap: 0.25rem;
  padding: 1rem;
}

.chemryttga-arrhenius-fallback strong {
  color: var(--chemryttga-text);
  font-size: 1rem;
}

.chemryttga-arrhenius-fallback span {
  color: var(--chemryttga-text-soft);
  font-size: 0.84rem;
}

.chemryttga-isothermal-summary strong {
  color: var(--chemryttga-text);
  font-size: 0.95rem;
}

.chemryttga-isothermal-summary span,
.chemryttga-isothermal-note {
  color: var(--chemryttga-text-soft);
  font-size: 0.86rem;
  line-height: 1.45;
}

.chemryttga-isothermal-table-wrap {
  margin-top: 0.85rem;
  overflow-x: auto;
  border: 1px solid var(--chemryttga-border);
  border-radius: 0.75rem;
  background: #ffffff;
}

.chemryttga-isothermal-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 620px;
}

.chemryttga-isothermal-table th,
.chemryttga-isothermal-table td {
  padding: 0.72rem 0.85rem;
  border-bottom: 1px solid var(--chemryttga-border);
  text-align: left;
}

.chemryttga-isothermal-table th {
  color: var(--chemryttga-text-soft);
  font-size: 0.75rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0;
  background: #f8fbff;
}

.chemryttga-isothermal-table td {
  color: var(--chemryttga-text);
  font-size: 0.9rem;
  font-weight: 700;
}

.chemryttga-isothermal-table tr:last-child td {
  border-bottom: 0;
}

.chemryttga-isothermal-risk {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0.2rem 0.48rem;
  border-radius: 999px;
  border: 1px solid var(--chemryttga-border);
  background: #ffffff;
  font-size: 0.78rem;
  font-weight: 900;
}

.chemryttga-isothermal-risk--low {
  color: #047857;
  border-color: #a7f3d0;
  background: #f0fdf4;
}

.chemryttga-isothermal-risk--moderate {
  color: #a16207;
  border-color: #fde68a;
  background: #fffbeb;
}

.chemryttga-isothermal-risk--high {
  color: #b91c1c;
  border-color: #fecaca;
  background: #fff7f7;
}

.chemryttga-isothermal-components {
  display: grid;
  gap: 0.55rem;
  margin-top: 0.85rem;
}

.chemryttga-isothermal-components h4 {
  margin: 0;
  color: var(--chemryttga-text);
  font-size: 0.9rem;
}

.chemryttga-isothermal-components div {
  display: grid;
  gap: 0.18rem;
  padding: 0.62rem 0.7rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 0.7rem;
  background: #ffffff;
}

.chemryttga-isothermal-components strong {
  color: var(--chemryttga-text);
  font-size: 0.86rem;
}

.chemryttga-isothermal-components span {
  color: var(--chemryttga-text-soft);
  font-size: 0.82rem;
  line-height: 1.4;
}

.chemryttga-isothermal-note {
  margin: 0.85rem 0 0;
}

.chemryttga-chart-intro--sub {
  margin-top: 1.1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--chemryttga-border);
}

.chemryttga-isoconversional-chart-shell {
  height: 340px;
  min-height: 340px;
  margin: 0;
}

.chemryttga-isoconversional-chart-shell .chemryttga-chart {
  height: 340px !important;
}

.chemryttga-isoconversional-panel > .chemryttga-side-copy {
  align-self: stretch;
  min-width: 0;
}

.chemryttga-data-label {
  color: var(--chemryttga-text);
  font-weight: 700;
}

.chemryttga-side-copy,
.chemryttga-prose {
  line-height: 1.6;
}

.chemryttga-prose {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: flex-start;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.chemryttga-zone-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  flex: 0 1 min(100%, 27rem);
  max-width: 100%;
  min-height: 1.9rem;
  padding: 0.32rem 0.6rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 999px;
  background: #f8fbff;
  color: var(--chemryttga-text-soft);
  font-size: 0.82rem;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chemryttga-zone-pill strong {
  flex: 0 0 auto;
  color: var(--chemryttga-text);
  font-weight: 900;
}

.chemryttga-zone-pill > span {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chemryttga-side-section .chemryttga-side-copy {
  font-size: 0.84rem;
  line-height: 1.45;
}

.chemryttga-side-section .chemryttga-empty-state {
  padding: 0.55rem 0;
}

.chemryttga-side-section--ega #chemryttga-ega-simulation {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 0.55rem;
}

.chemryttga-side-section--ega #chemryttga-ega-simulation.chemryttga-empty-state {
  display: block;
}

.chemryttga-side-section--fragment #chemryttga-fragment-map {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 0.55rem;
}

.chemryttga-side-section--fragment #chemryttga-fragment-map.chemryttga-empty-state {
  display: block;
}

.chemryttga-side-section--safety #chemryttga-safety-alerts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 0.55rem;
}

.chemryttga-side-section--safety #chemryttga-safety-alerts.chemryttga-empty-state {
  display: block;
}

.chemryttga-side-section--deconvolution #chemryttga-curve-deconvolution {
  display: grid;
  grid-template-columns: minmax(220px, 0.8fr) minmax(0, 2fr);
  gap: 0.65rem;
  align-items: start;
}

.chemryttga-side-section--deconvolution #chemryttga-curve-deconvolution.chemryttga-empty-state {
  display: block;
}

.chemryttga-side-section--deconvolution .chemryttga-compatibility-grid {
  margin-top: 0;
}

.chemryttga-disclaimer-card {
  background: #fffbeb;
  border-color: #f6ddae;
  color: var(--chemryttga-warning);
}

.chemryttga-disclaimer-card p {
  margin: 0;
  padding: 1.1rem 1.25rem;
  font-weight: 600;
}

.chemryttga-inline-validation {
  min-height: 1rem;
  padding-top: 0.2rem;
  color: var(--chemryttga-danger);
  font-size: 0.82rem;
  font-weight: 700;
}

.chemryttga-stage-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  scrollbar-width: thin;
}

.chemryttga-stage-table {
  width: 1250px;
  min-width: 1250px;
  table-layout: fixed;
  border-collapse: collapse;
}

.chemryttga-proximate-table {
  width: 100%;
  margin-top: 0.7rem;
  border-collapse: collapse;
}

.chemryttga-proximate-table th,
.chemryttga-proximate-table td,
.chemryttga-stage-table th,
.chemryttga-stage-table td {
  padding: 0.52rem 0.42rem;
  border-bottom: 1px solid var(--chemryttga-border);
  text-align: left;
  vertical-align: middle;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.chemryttga-proximate-table th,
.chemryttga-stage-table th {
  color: var(--chemryttga-text);
  font-size: 0.76rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.chemryttga-stage-table th:last-child,
.chemryttga-stage-table td:last-child {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.chemryttga-stage-table th:nth-child(1),
.chemryttga-stage-table td:nth-child(1) {
  width: 60px;
}

.chemryttga-stage-table th:nth-child(2),
.chemryttga-stage-table td:nth-child(2) {
  width: 420px;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
  line-height: 1.25;
}

.chemryttga-stage-table th:nth-child(3),
.chemryttga-stage-table td:nth-child(3) {
  width: 130px;
}

.chemryttga-stage-table th:nth-child(4),
.chemryttga-stage-table td:nth-child(4) {
  width: 130px;
}

.chemryttga-stage-table th:nth-child(5),
.chemryttga-stage-table td:nth-child(5) {
  width: 130px;
}

.chemryttga-stage-table th:nth-child(6),
.chemryttga-stage-table td:nth-child(6) {
  width: 120px;
}

.chemryttga-stage-table th:nth-child(7),
.chemryttga-stage-table td:nth-child(7) {
  width: 260px;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
  line-height: 1.25;
}

.chemryttga-stage-table th,
.chemryttga-stage-table td {
  overflow: visible;
  text-overflow: clip;
}

.chemryttga-proximate-table td {
  color: var(--chemryttga-text-soft);
  font-size: 0.84rem;
  line-height: 1.35;
}

@keyframes chemryttga-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 960px) {
  .chemryttga-hero-header,
  .chemryttga-card-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .chemryttga-chart-layout {
    grid-template-columns: 1fr;
  }

  .chemryttga-structure-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .chemryttga-card-head,
  .chemryttga-card-body,
  .chemryttga-tab-panel,
  .chemryttga-side-stack {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .chemryttga-jsme,
  .chemryttga-chart {
    height: 20rem !important;
  }

  #chemryttga-panel-curve .chemryttga-chart-shell {
    min-height: 28rem;
  }

  #chemryttga-panel-curve #chemryttga-chart {
    height: 28rem !important;
  }

  .chemryttga-descriptor-snapshot #chemryttga-descriptors {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .chemryttga-side-section--deconvolution #chemryttga-curve-deconvolution {
    grid-template-columns: 1fr;
  }

  .chemryttga-side-section--horizontal {
    grid-template-columns: 1fr;
  }

  .chemryttga-side-section--horizontal .chemryttga-compatibility-grid,
  .chemryttga-side-section--horizontal .chemryttga-solvent-match-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .chemryttga-side-row--triple {
    grid-template-columns: 1fr;
  }

  .chemryttga-isothermal-split,
  .chemryttga-rate-body,
  .chemryttga-arrhenius-panel {
    grid-template-columns: 1fr;
  }

  .chemryttga-gnn-panel,
  .chemryttga-gnn-readout {
    grid-template-columns: 1fr;
  }

  .chemryttga-rate-toolbar {
    grid-template-columns: 1fr;
  }

  .chemryttga-pseudo-banners,
  .chemryttga-pseudo-layout,
  .chemryttga-solvate-layout,
  .chemryttga-triplot-layout,
  .chemryttga-sinter-layout,
  .chemryttga-framework-layout,
  .chemryttga-framework-side,
  .chemryttga-framework-controls,
  .chemryttga-framework-controls--cocrystal,
  .chemryttga-framework-widget-layout,
  .chemryttga-framework-dual-chart {
    grid-template-columns: 1fr;
  }

  .chemryttga-rate-fit-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .chemryttga-rate-chart-wrap {
    min-height: 0;
  }

  .chemryttga-arrhenius-readout {
    margin: 0.6rem;
  }

  .chemryttga-stage-table-wrap {
    overflow-x: auto;
  }
}

.chemryttga-debug-card {
  margin-bottom: 1rem;
}

.chemryttga-debug-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
}

.chemryttga-debug-item {
  padding: 0.9rem 1rem;
  border: 1px solid var(--chemryttga-border);
  border-radius: 1rem;
  background: #ffffff;
}

.chemryttga-debug-label {
  display: block;
  color: var(--chemryttga-text-soft);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.chemryttga-debug-value {
  display: block;
  margin-top: 0.45rem;
  color: var(--chemryttga-text);
  font-size: 1rem;
}

.chemryttga-debug-paths {
  margin-top: 1rem;
  padding: 1rem;
  border: 1px dashed var(--chemryttga-border-strong);
  border-radius: 1rem;
  background: #fff;
}

.chemryttga-debug-paths p {
  margin: 0.25rem 0;
  color: var(--chemryttga-text-soft);
  line-height: 1.5;
  word-break: break-all;
}

@media (max-width: 760px) {
  .chemryttga-debug-grid {
    grid-template-columns: 1fr;
  }
}

/* Typography normalization: keep ChemrytTGA dense and consistent across report panels. */
.chemryttga-page {
  font-size: 14px;
  line-height: 1.45;
  letter-spacing: 0;
}

.chemryttga-card-title {
  font-size: 0.98rem;
  font-weight: 650;
  line-height: 1.25;
}

.chemryttga-section-title {
  font-size: 0.84rem;
  font-weight: 650;
  line-height: 1.25;
}

.chemryttga-card-kicker,
.chemryttga-eyebrow,
.chemryttga-label,
.chemryttga-metric-label,
.chemryttga-mini-metric__label,
.chemryttga-data-label,
.chemryttga-debug-label,
.chemryttga-descriptor-snapshot .chemryttga-data-label,
#chemryttga-summary-cards .chemryttga-metric-label,
.chemryttga-compatibility-grid span,
.chemryttga-solvent-match-meta span,
.chemryttga-multisolvent-matrix span {
  font-size: 0.68rem;
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
}

.chemryttga-tab {
  min-height: 2.1rem;
  padding: 0.38rem 0.75rem;
  border-radius: 999px;
  font-size: 0.86rem;
  font-weight: 600;
  line-height: 1.2;
}

.chemryttga-tab.is-active {
  background: #0f6dbb;
  border-color: #0f6dbb;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(15, 109, 187, 0.18);
}

.chemryttga-tab.is-active:hover {
  border-color: #0b5fa8;
  background: #0b5fa8;
  color: #ffffff;
}

.chemryttga-btn,
.chemryttga-import-btn,
.chemryttga-disclosure-state,
.chemryttga-formulation-total,
.chemryttga-formulation-lock {
  font-size: 0.82rem;
  font-weight: 600;
}

.chemryttga-metric-number,
.chemryttga-mini-metric__value,
#chemryttga-summary-cards .chemryttga-metric-number,
.chemryttga-data-value,
.chemryttga-compatibility-grid strong,
.chemryttga-solvent-match-meta strong,
.chemryttga-debug-value,
.chemryttga-zone-pill strong,
.chemryttga-fragment-item strong,
.chemryttga-ega-item strong,
.chemryttga-solvent-match-list strong {
  font-size: 0.86rem;
  font-weight: 600;
}

.chemryttga-side-copy,
.chemryttga-section-copy,
.chemryttga-inline-note,
.chemryttga-empty-state,
.chemryttga-prose,
.chemryttga-zone-pill,
.chemryttga-fragment-item span,
.chemryttga-ega-item span,
.chemryttga-solvent-match-list span,
.chemryttga-compatibility-note,
.chemryttga-compatibility-warning,
.chemryttga-alert-line {
  font-size: 0.82rem;
  line-height: 1.35;
}

.chemryttga-compatibility-badge strong,
.chemryttga-kinetic-badge strong,
.chemryttga-molar-summary strong,
.chemryttga-tangent-summary strong,
.chemryttga-multisolvent-badge strong,
.chemryttga-solvent-match-badge strong {
  font-size: 0.88rem;
  font-weight: 650;
}

.chemryttga-compatibility-badge span,
.chemryttga-kinetic-badge span,
.chemryttga-molar-summary span,
.chemryttga-tangent-summary span,
.chemryttga-multisolvent-badge span,
.chemryttga-solvent-match-badge span {
  font-size: 0.78rem;
  font-weight: 600;
}

.chemryttga-proximate-table th,
.chemryttga-stage-table th,
.chemryttga-isothermal-table th {
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
}

.chemryttga-proximate-table td,
.chemryttga-stage-table td,
.chemryttga-isothermal-table td {
  font-size: 0.82rem;
  font-weight: 500;
}
