/* Cat Tools integration layer: aligns the existing calculator with Mochi Belly. */
.mbct-page {
  --mbct-bg: #FCF9F5;
  --mbct-bg-muted: #F2E9DD;
  --mbct-surface: #FFFFFF;
  --mbct-ink: #352B27;
  --mbct-muted: #766B65;
  --mbct-line: rgba(53, 43, 39, 0.14);
  --mbct-line-strong: #DED0BE;
  --mbct-accent: #B8955A;
  --mbct-accent-hover: #A9863F;
  --mbct-accent-soft: rgba(216, 194, 155, 0.28);
  --mbct-orange: #6D788A;
  --mbct-orange-hover: #596477;
  --mbct-orange-soft: rgba(109, 120, 138, 0.14);
  --mbct-deep: #211B18;
  --mbct-on-deep: #FCF9F5;
  --mbct-on-deep-body: #DED0BE;
  --mbct-success: #54725C;
  --mbct-warning: #9A6E35;
  --mbct-danger: #9C4D49;
  background: var(--mbct-bg);
  color: var(--mbct-ink);
  font-family: "Manrope", Arial, sans-serif;
}

/* Xpro owns the visible shell on this page. */
.mbct-page > .mbct-nav,
.mbct-page > .mbct-footer {
  display: none;
}

.mbct-page h1,
.mbct-page h2,
.mbct-page h3,
.mbct-page h4,
.mbct-brand strong,
.mbct-principle strong {
  font-family: "Fraunces", Georgia, serif;
  font-optical-sizing: auto;
  font-weight: 460;
}

.mbct-page h1 {
  letter-spacing: -0.02em;
  line-height: 1.05;
}

.mbct-page h2 {
  letter-spacing: -0.015em;
  line-height: 1.08;
}

.mbct-page h3,
.mbct-page h4 {
  letter-spacing: -0.01em;
}

.mbct-button,
.mbct-example-row button,
.mbct-text-button {
  border-radius: 999px;
}

.mbct-cat-orbit,
.mbct-toolbox {
  border-radius: 28px;
}

.mbct-code-ribbon,
.mbct-parent,
.mbct-result-card,
.mbct-result-summary,
.mbct-probability-card,
.mbct-source-links a,
.mbct-code-explainer,
.mbct-table-wrap,
.mbct-scenario > div {
  border-radius: 18px;
}

.mbct-page input,
.mbct-page select,
.mbct-callout,
.mbct-inline-warning,
.mbct-locus-list > div > span {
  border-radius: 12px;
}

.mbct-hero::before {
  background: var(--mbct-orange);
}

.mbct-cat-orbit {
  border-color: rgba(242, 233, 221, 0.16);
  background: #352B27;
}

.mbct-cat-portrait > circle {
  fill: #F2E9DD;
}

.mbct-cat-fill {
  fill: #DED0BE;
}

.mbct-cat-shadow {
  fill: #B8A997;
}

.mbct-cat-eye {
  fill: #6D788A;
}

.mbct-cat-nose {
  fill: #B8955A;
}

.mbct-toolbox,
.mbct-code-ribbon {
  box-shadow: 0 18px 50px rgba(53, 43, 39, 0.10);
}

.mbct-page :focus-visible {
  outline-color: #6D788A;
}

/* Cat Tools control palette: scoped to Mochi Belly only. */
.mbct-page .mbct-button {
  border-color: #352B27;
  background: #352B27;
  color: #FCF9F5 !important;
  box-shadow: none;
}

.mbct-page .mbct-button:hover,
.mbct-page .mbct-button:focus-visible {
  border-color: #211B18;
  background: #211B18;
  color: #FCF9F5 !important;
}

.mbct-page .mbct-button:disabled {
  border-color: #DED0BE;
  background: #DED0BE;
  color: #766B65 !important;
  cursor: not-allowed;
  transform: none;
}

.mbct-page .mbct-example-row button,
.mbct-page .mbct-text-button {
  border-color: #DED0BE;
  background: #F2E9DD;
  color: #352B27 !important;
  box-shadow: none;
}

.mbct-page .mbct-example-row button:hover,
.mbct-page .mbct-example-row button:focus,
.mbct-page .mbct-example-row button:focus-visible,
.mbct-page .mbct-example-row button.is-active,
.mbct-page .mbct-example-row button[aria-pressed="true"],
.mbct-page .mbct-text-button:hover,
.mbct-page .mbct-text-button:focus,
.mbct-page .mbct-text-button:focus-visible,
.mbct-page .mbct-text-button.is-active,
.mbct-page .mbct-text-button[aria-pressed="true"] {
  border-color: #B8955A;
  background: #B8955A;
  color: #211B18 !important;
}

.mbct-page .mbct-tab:hover,
.mbct-page .mbct-tab:focus-visible,
.mbct-page .mbct-tab.is-active {
  background: rgba(216, 194, 155, 0.28);
  color: #352B27;
}

.mbct-page .mbct-tab.is-active,
.mbct-page .mbct-tab.is-active span {
  color: #352B27;
}

@media (max-width: 760px) {
  .mbct-cat-orbit,
  .mbct-toolbox {
    border-radius: 18px;
  }
}
