.demo-page { padding-top: 64px; }
.project-return { position: fixed; inset: 0 0 auto; z-index: 10000; box-sizing: border-box; height: 64px; display: flex; align-items: center; gap: 24px; padding: 0 clamp(16px,3vw,36px); background: #d7dcd7; color: #17221c; border-bottom: 1px solid #adb8af; font: 14px/1.4 system-ui,sans-serif; }
.project-return a { display: inline-flex; align-items: center; min-height: 44px; color: inherit; text-decoration: none; white-space: nowrap; }
.project-return a:hover { text-decoration: underline; text-underline-offset: 5px; }
.project-return > div { display: flex; align-items: center; gap: 24px; margin-left: auto; }
.project-return-title { padding-left: 24px; border-left: 1px solid #adb8af; color: #4c5753; }
.project-return a:focus-visible { outline: 2px solid #2351db; outline-offset: 3px; }
.demo-page > header { top: 64px; }
.demo-cell .sim-shell { height: calc(100dvh - 64px); }
.demo-notice { margin: 24px auto 0; padding: 18px 22px; width: calc(100% - 64px); max-width: 836px; border: 1px solid #565275; border-left: 3px solid #a78bfa; border-radius: 6px; background: #1d1c2a; font-size: 14px; line-height: 1.6; color: #cdcbe2; }
.demo-notice[hidden], .demo-inline-note[hidden] { display: none; }
.demo-notice strong { color: #efedf9; font-weight: 600; }
.demo-notice p { margin: 8px 0 0; }
.demo-notice summary { cursor: pointer; padding: 12px 0 4px; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; }
.demo-notice details p { margin-top: 14px; }
.demo-ai-evidence-assistant { --text-muted: #aaa9c4; }
.demo-ai-evidence-assistant .logo { margin: 0; }
.demo-ai-evidence-assistant .chat-wrap { height: 520px; min-height: 0; }
.demo-ai-evidence-assistant .chat-empty { padding: 20px 0; }
.demo-ai-evidence-assistant .chat-empty p { max-width: 420px; font-size: 16px; }
.demo-ai-evidence-assistant .suggestion { font: inherit; font-size: 14px; min-height: 44px; }
.demo-ai-evidence-assistant .tab { font-family: inherit; min-height: 48px; }
.demo-ai-evidence-assistant input, .demo-ai-evidence-assistant textarea { font-size: 16px; }
.demo-ai-evidence-assistant .sources-toggle { min-height: 44px; font-size: 14px; }
.demo-ai-evidence-assistant .source-item, .demo-ai-evidence-assistant .chat-hint { font-size: 13px; }
.demo-ai-evidence-assistant .demo-inline-note { font-size: 14px; line-height: 1.6; color: var(--text-muted); margin: 0 0 20px; }
.demo-ai-evidence-assistant :is(button,summary):focus-visible { outline: 2px solid #b6a2ff; outline-offset: 3px; }
.demo-edge-ai .trace-disclosure { padding: 12px 14px; border-left: 2px solid var(--amber); background: #f1b94f0a; font-size: 14px; color: #bac7d5; }
.demo-edge-ai .bar-row { grid-template-columns: 132px minmax(0,1fr) 62px; }
.demo-edge-ai .bar-row > span { font-size: 13px; }
@media (max-width: 920px) {
  .demo-cell .sim-shell { height: auto; min-height: calc(100svh - 64px); }
}
@media (max-width: 600px) {
  .project-return { gap: 8px; font-size: 12px; padding: 0 12px; }
  .project-return-title { display: none; }
  .project-return > div { gap: 18px; }
  .demo-ai-evidence-assistant > header { gap: 12px; padding: 18px 16px; }
  .demo-ai-evidence-assistant .logo { font-size: 16px; }
  .demo-ai-evidence-assistant .logo-icon { display: none; }
  .demo-ai-evidence-assistant .status-pill { font-size: 12px; white-space: nowrap; padding: 6px 10px; }
  .demo-ai-evidence-assistant .tabs { padding: 12px 16px 0; }
  .demo-ai-evidence-assistant .tab { flex: 1; padding: 12px 8px; }
  .demo-ai-evidence-assistant .main { padding: 20px 16px; }
  .demo-ai-evidence-assistant .chat-wrap { height: 540px; }
  .demo-ai-evidence-assistant .chat-empty { justify-content: flex-start; }
  .demo-ai-evidence-assistant .card { padding: 18px; }
  .demo-ai-evidence-assistant .bubble { max-width: 100% !important; }
  .demo-notice { width: calc(100% - 32px); padding: 16px; margin-top: 18px; }
  .demo-edge-ai .bar-row { grid-template-columns: 106px minmax(0,1fr) 52px; gap: 8px; }
  .demo-edge-ai .bar-row > span { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .demo-page *, .demo-page *::before, .demo-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
