/* Demo-only chrome for demo.detour.sh. Uses the portal's color tokens so it follows light and dark. */

/* The banner sits above the portal's full-height shell. Share one viewport between them,
   so the banner does not push the sidebar footer below the fold on short pages. */
body { display: flex; flex-direction: column; min-height: 100vh; }
.demo-banner + .app-shell { flex: 1 0 auto; min-height: 0; }

.demo-banner {
  flex: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 14px;
  padding: 9px 16px;
  background: var(--warning-surface);
  border-bottom: 1px solid var(--border);
  color: var(--foreground);
  font-size: 14px;
  line-height: 1.4;
}
.demo-banner strong { color: var(--warning); }
.demo-banner span { flex: 1 1 280px; color: var(--secondary); }
.demo-banner a { color: var(--accent); font-weight: 600; white-space: nowrap; }
.demo-banner-short { display: none; }
/* On phones the full sentence took three lines above the app; keep it to one. */
@media (max-width: 640px) {
  .demo-banner { gap: 4px 10px; padding: 8px 16px; font-size: 13px; }
  .demo-banner .demo-banner-long { display: none; }
  .demo-banner .demo-banner-short { display: inline; flex: 1 1 auto; }
}

.demo-toast {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 1000;
  max-width: calc(100vw - 32px);
  padding: 10px 14px;
  border: 1px solid var(--border-strong);
  border-radius: 8px;
  background: var(--surface);
  color: var(--foreground);
  box-shadow: 0 8px 24px var(--shadow-color);
  font-size: 14px;
}
.demo-toast[hidden],
.artifact-index-row[hidden] { display: none; }
