@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;700&family=Zhi+Mang+Xing&display=swap');
.play-body {
  --bg-light: #fdf8f1;
  --bg-dark: #2c2420;
  --accent-warm: #d4a373;
  --accent-soft: #ccd5ae;
  --text-light: #582f0e;
  --text-dark: #fefae0;
  --bubble-ai-light: #ffffff;
  --bubble-ai-dark: #3e322b;
  --bubble-user-light: #faedcd;
  --bubble-user-dark: #d4a373;
  --border-light: #e9edc9;
  --border-dark: #4a3f35;
  --font-main: 'Noto Serif SC', serif;
  --font-deco: 'Zhi Mang Xing', cursive;
  font-family: var(--font-main);
  background: var(--bg-light);
  color: var(--text-light);
}
.play-body.dark {
  background: var(--bg-dark);
  color: var(--text-dark);
}
.play-msg-ai .play-bubble-ai {
  background: var(--bubble-ai-light);
  border: 1px solid var(--border-light);
  border-radius: 20px 20px 20px 4px;
  box-shadow: 4px 4px 0px var(--border-light);
  padding: 20px;
  position: relative;
  margin-bottom: 10px;
}
.play-body.dark .play-msg-ai .play-bubble-ai {
  background: var(--bubble-ai-dark);
  border-color: var(--border-dark);
  box-shadow: 4px 4px 0px rgba(0, 0, 0, 0.2);
}
.play-msg-ai .play-bubble-ai::before {
  content: '🏠';
  position: absolute;
  top: -12px;
  left: 10px;
  font-size: 20px;
  background: var(--bg-light);
  padding: 0 5px;
}
.play-msg-user .play-bubble-user {
  background: var(--bubble-user-light);
  color: #582f0e;
  border-radius: 20px 20px 4px 20px;
  padding: 12px 18px;
  border: 1px dashed var(--accent-warm);
  margin-left: auto;
}
.play-body.dark .play-msg-user .play-bubble-user {
  background: var(--bubble-user-dark);
  color: #fff;
}
.play-bubble-ai h1, .play-bubble-ai h2, .play-bubble-ai h3 {
  font-family: var(--font-deco);
  color: var(--accent-warm);
  margin-top: 1.2em;
  font-size: 1.5em;
}
.play-bubble-ai code {
  background: #faedcd;
  color: #582f0e;
  padding: 2px 6px;
  border-radius: 4px;
}
.play-body.dark .play-bubble-ai code {
  background: #4a3f35;
  color: #faedcd;
}
.play-bubble-ai pre {
  background: #fefae0;
  color: #283618;
  padding: 16px;
  border-radius: 12px;
  border: 1px solid var(--accent-soft);
}
.play-body.dark .play-bubble-ai pre {
  background: #1a1614;
  color: #fefae0;
  border-color: var(--accent-warm);
}
.play-bubble-ai blockquote {
  border-left: 4px solid var(--accent-soft);
  background: rgba(204, 213, 174, 0.1);
  margin: 16px 0;
  padding: 12px 20px;
  font-style: italic;
  color: var(--text-light);
}
.play-bubble-ai table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--border-light);
}
.play-bubble-ai th {
  background: var(--accent-soft);
  color: #582f0e;
  padding: 10px;
}
.play-bubble-ai td {
  border-bottom: 1px solid var(--border-light);
  padding: 10px;
}
.play-bubble-ai hr {
  border: none;
  border-top: 2px dashed var(--accent-warm);
  margin: 24px 0;
}
.play-msg-meta {
  font-size: 0.75rem;
  font-style: italic;
  color: var(--accent-warm);
  opacity: 0.8;
}
.play-input-bar {
  border-top: 2px solid var(--border-light);
  background: var(--bg-light);
  padding: 12px;
}
.play-body.dark .play-input-bar {
  border-top-color: var(--border-dark);
  background: var(--bg-dark);
}
.play-send-btn {
  color: var(--accent-warm);
}
.play-send-btn--active {
  color: var(--accent-soft);
}
.play-quick-cmd {
  border: 1px solid var(--accent-warm);
  color: var(--accent-warm);
  background: transparent;
  border-radius: 15px;
  font-family: var(--font-main);
}
.play-quick-cmd:hover {
  background: var(--accent-warm);
  color: white;
}
@media (max-width: 768px) {
  .play-bubble-ai, .play-bubble-user {
    padding: 14px;
    border-radius: 15px;
  }
  .play-bubble-ai::before {
    display: none;
  }
}
