/* AI Heroes — hibernation stub 2026→2027. Palette from
   src/web/src/components/system/BrandedErrorScreen.tsx. No external assets. */
:root {
  --bg: #f6f3ef;
  --card: #ffffff;
  --ink: #0f0b2b;
  --muted: #4a4566;
  --accent: #d61c8e;
  --rule: rgba(15, 11, 43, .12);
  --bar: #0f0b2b;
  --bar-ink: #f6f3ef;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0f0b2b;
    --card: #1a1540;
    --ink: #f6f3ef;
    --muted: #c9c5dc;
    --accent: #ff5cb8;
    --rule: rgba(246, 243, 239, .16);
    --bar: #07051a;
    --bar-ink: #e4e0f0;
  }
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--bg);
  color: var(--ink);
  font: 16px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
.card {
  width: 100%;
  max-width: 720px;
  margin: 48px auto;
  padding: 40px 44px;
  background: var(--card);
  border: 1px solid var(--rule);
  border-radius: 20px;
}
.logo { margin: 0 0 32px; }
.logo img {
  display: block;
  width: 272px;
  max-width: 100%;
  height: auto;
  padding: 10px 14px;
  background: #f6f3ef;
  border-radius: 12px;
}
.eyebrow {
  margin: 0 0 8px;
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--muted);
}
.dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0 8px 2px 0;
  border-radius: 50%;
  background: var(--accent);
}
h1, .title { margin: 0 0 12px; font-size: 28px; line-height: 1.25; }
h2, h3 { margin: 28px 0 6px; font-size: 18px; line-height: 1.35; }
.title { font-size: 26px; }
p { margin: 0 0 12px; color: var(--muted); }
.lead { font-size: 18px; color: var(--ink); }
a { color: var(--accent); text-underline-offset: 2px; }
.nowrap { white-space: nowrap; }
a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 2px; }
hr { margin: 40px 0; border: 0; border-top: 1px solid var(--rule); }
.attribution {
  margin-top: auto;
  padding: 16px 20px;
  background: var(--bar);
  text-align: center;
  font-size: 13px;
}
.attribution a { color: var(--bar-ink); text-decoration: none; }
.attribution a:hover, .attribution a:focus-visible { text-decoration: underline; }
@media (max-width: 600px) {
  .card { margin: 0; padding: 28px 20px; border: 0; border-radius: 0; }
  h1, .title { font-size: 23px; }
}
