/* shell.css — the platform fallback page (infra/platform/fallback/page.html).
   Deliberately plain: the site's own colours and fonts arrive as --mh-*
   variables set by shell.js from the site's style + [theme]. */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body.mh-shell {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--mh-bg, #ffffff);
  color: var(--mh-text, #1d1d1b);
  font-family: var(--mh-font, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);
  line-height: 1.55;
}
.mh-shell a { color: var(--mh-accent, #b45309); }
.mh-shell__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem 1.5rem;
  padding: .9rem 1rem;
  background: var(--mh-surface, #f7f7f5);
  border-bottom: 1px solid var(--mh-border, #e3e1dc);
}
.mh-shell__brand {
  display: flex;
  align-items: center;
  gap: .6rem;
  text-decoration: none;
  color: var(--mh-text, #1d1d1b) !important;
  font-family: var(--mh-font-heading, inherit);
  font-weight: 700;
  font-size: 1.2rem;
}
.mh-shell__logo { height: 2.5rem; width: auto; max-width: 9rem; object-fit: contain; }
.mh-shell__nav { display: flex; flex-wrap: wrap; gap: .25rem 1rem; }
.mh-shell__nav a { text-decoration: none; font-weight: 600; font-size: .95rem; }
.mh-shell__main {
  flex: 1;
  width: 100%;
  max-width: 52rem;
  margin: 0 auto;
  padding: 1.5rem 1rem 3rem;
}
.mh-shell__title {
  font-family: var(--mh-font-heading, inherit);
  font-size: clamp(1.6rem, 4vw, 2.3rem);
  margin: .5rem 0 1.25rem;
}
.mh-shell__footer {
  padding: 1.25rem 1rem;
  border-top: 1px solid var(--mh-border, #e3e1dc);
  text-align: center;
}
.mh-shell__loading { color: var(--mh-muted, #6b6b66); }
