/* Base */
body {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  margin: 0;
  background: #f9f9fb;
  color: #222;
}
header {
  background: linear-gradient(90deg, #4facfe, #00f2fe);
  color: #fff;
  text-align: center;
  padding: 16px;
}
h1 { margin: 0; font-size: 28px; }
.container { max-width: 900px; margin: 20px auto; padding: 0 16px; }

textarea {
  width: 100%; box-sizing: border-box; padding: 12px; font-size: 16px;
  border: 1px solid #ccc; border-radius: 8px; background: #fff;
}

button {
  background: #4facfe; border: none; color: #fff; border-radius: 6px;
  padding: 10px 14px; font-size: 15px; cursor: pointer;
}
button:hover { background: #00c6fb; }
button:disabled { opacity: .6; cursor: not-allowed; }

.row { display: flex; flex-wrap: wrap; gap: 10px; margin: 10px 0; align-items: center; }
.muted { color: #666; font-size: 14px; }

.card {
  background: #fff; border-radius: 8px; padding: 12px; margin: 8px 0;
  box-shadow: 0 1px 3px rgba(0,0,0,.1); border: 1px solid #eee;
}
.card .actions { display: flex; gap: 6px; margin-top: 8px; }
.card .actions button {
  background: #eee; color: #222; border: 1px solid #ccc; padding: 6px 8px; font-size: 13px;
}

.tag { display:inline-block; padding:2px 8px; font-size:12px; border:1px solid #ccc; border-radius:999px; margin-left:8px; color:#444; }

/* Quiz progress bar */
.progress { width:100%; height: 10px; background:#e9e9e9; border-radius:999px; overflow:hidden; margin:8px 0 16px; }
.progress .bar { height:100%; background:#4facfe; width:0%; transition: width .25s ease; }

/* Assistant */
.assistant { background:#fff8e7; border:1px solid #ffe299; border-radius:8px; padding:12px; }
.chat {
  max-height: 240px; overflow-y: auto; margin-top: 10px;
  background:#fff; border:1px solid #ddd; border-radius:6px; padding:10px;
}
.msg { margin: 6px 0; white-space: pre-wrap; }
.me { color:#0077cc; }
.ai { color:#0a8a00; }
.ask { flex: 1; padding: 8px; border-radius: 6px; border: 1px solid #ccc; }

/* Hover effect */
.card:hover { transform: scale(1.01); box-shadow: 0 2px 8px rgba(0,0,0,.15); transition: transform .12s ease; }

/* Dark Mode */
:root { color-scheme: light dark; }
.dark body { background:#121212; color:#eee; }
.dark header { filter: brightness(0.9); }
.dark .card { background:#1e1e1e; border-color:#333; }
.dark textarea, .dark input { background:#1b1b1b; color:#eee; border-color:#333; }
.dark .card .actions button { background:#2a2a2a; color:#eee; border-color:#444; }
.dark .tag { border-color:#444; color:#bbb; }