  /* flex column so the auto-injected .app-footer (margin-top:auto) hugs the bottom */
  body { min-height: 100vh; display: flex; flex-direction: column; }
  .wal-shell { max-width: 920px; margin: 18px auto 70px; padding: 0 16px; }
  .wal-back { display:inline-flex; align-items:center; gap:6px; font-family:var(--mono); font-size:12px; font-weight:600; color:var(--text-md); margin-bottom:14px; }
  .wal-back:hover { color: var(--accent-2); }
  .wal-back .mat-ic { font-size:16px; }

  /* SSR fallback summary (only visible until JS mounts the full UI, and to
     crawlers / no-JS readers). */
  .ssr-summary { padding: 18px 20px; background: var(--bg-card); border: 1px solid var(--border); border-radius: 8px; }
  .ssr-summary h1 { font-size: 16px; font-weight: 700; margin: 0 0 8px; color: var(--text-hi); }
  .ssr-summary .ssr-addr { margin: 0 0 14px; font-size: 11px; color: var(--text-md); }
  .ssr-summary dl { display: grid; grid-template-columns: 160px 1fr; gap: 6px 14px; margin: 0; font-size: 12px; }
  .ssr-summary dt { color: var(--text-md); font-family: 'JetBrains Mono', monospace; font-size: 10px; text-transform: uppercase; letter-spacing: .5px; align-self: center; }
  .ssr-summary dd { margin: 0; color: var(--text-hi); }
  .ssr-summary code { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--text-md); word-break: break-all; }
  .ssr-summary .ssr-lede { margin: 0 0 14px; font-size: 12px; color: var(--text-md); line-height: 1.5; }
  .ssr-summary .ssr-whale { display: inline-block; padding: 2px 6px; border-radius: 100px; background: rgba(155,114,255,0.15); color: #9b72ff; font-size: 10px; font-weight: 700; letter-spacing: .5px; vertical-align: middle; margin-right: 6px; }
