* { box-sizing: border-box; margin: 0; padding: 0; }
body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background: #0d1117;
  color: #e6edf3;
  min-height: 100vh;
}
.container { max-width: 800px; margin: 0 auto; padding: 2rem; display: flex; flex-direction: column; height: 100vh; }
header { margin-bottom: 1rem; }
header h1 { font-size: 1.5rem; color: #58a6ff; }
.subtitle { color: #8b949e; font-size: 0.875rem; }

.intro { font-size: 0.875rem; color: #b1bac7; margin-bottom: 1rem; }

.demo-area {
  flex: 1; display: flex; flex-direction: column; background: rgba(255,255,255,0.03);
  border-radius: 12px; padding: 1rem; margin-bottom: 1rem;
}
.chat-container {
  flex: 1; overflow-y: auto; display: flex; flex-direction: column; gap: 1rem;
}
.message { display: flex; gap: 0.75rem; }
.message.assistant { align-items: flex-start; }
.message-content { background: rgba(88,166,255,0.1); padding: 0.75rem 1rem; border-radius: 8px; max-width: 80%; }
.message-content strong { color: #58a6ff; }

.input-area { display: flex; gap: 0.5rem; }
#queryInput {
  flex: 1; padding: 0.75rem; border-radius: 8px; border: 1px solid rgba(255,255,255,0.1);
  background: #161b22; color: #e6edf3; font-family: inherit; font-size: 0.875rem;
}
#sendBtn {
  padding: 0.75rem 1.5rem; background: #58a6ff; border: none; border-radius: 8px;
  color: white; cursor: pointer; font-weight: 600;
}
#sendBtn:hover { background: #388bfd; }

.features { margin-top: auto; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,0.1); }
.features ul { padding-left: 1.25rem; font-size: 0.875rem; color: #b1bac7; }
.features li { margin-bottom: 0.25rem; }

.explanation { margin-top: 1rem; font-size: 0.875rem; }
.explanation h3 { color: #58a6ff; font-size: 1rem; margin-bottom: 0.5rem; }
.explanation ul { padding-left: 1.25rem; }
.explanation li { margin-bottom: 0.25rem; }
.papers { font-size: 0.75rem; color: #8b949e; margin-top: 1rem; }

/* Attribution Marker */
body::after {
  content: "KateelLearningDemos";
  position: fixed; bottom: 5px; right: 5px; font-size: 8px;
  color: rgba(255,255,255,0.1); pointer-events: none; z-index: 9999;
}