
:root{
  --green:#0B6E4F;
  --gold:#C9A227;
  --bg:#f1f3f5;
  --card:#ffffff;
  --muted:#6b7280;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background:var(--bg);
  color:#111827;
}
.topbar{
  display:flex;
  gap:14px;
  align-items:center;
  padding:14px 16px;
  background:var(--card);
  border-bottom:1px solid #e5e7eb;
  position:sticky;
  top:0;
  z-index:10;
}
.logo{width:44px;height:44px;object-fit:contain}
.brand h1{margin:0;font-size:20px}
.brand p{margin:0;color:var(--muted);font-size:12px}
.container{max-width:980px;margin:16px auto;padding:0 12px;display:grid;gap:14px}
.card{
  background:var(--card);
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:14px;
  box-shadow:0 1px 2px rgba(0,0,0,.03);
}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(min-width:720px){ .grid{grid-template-columns:repeat(5,minmax(0,1fr));} }
.btn{
  border:0;
  background:var(--green);
  color:white;
  padding:12px 12px;
  border-radius:12px;
  font-weight:700;
  cursor:pointer;
}
.btn.outline{
  background:white;
  border:2px solid var(--green);
  color:var(--green);
}
.btn.ghost{
  background:transparent;
  border:1px solid #e5e7eb;
  color:#111827;
}
.btn:active{transform:translateY(1px)}
.hint{color:var(--muted);margin:10px 0 0}
.panelHeader{display:flex;align-items:center;justify-content:space-between;gap:10px}
.select{
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:10px 12px;
  font-weight:600;
}
.chat{
  height:320px;
  overflow:auto;
  background:#fafafa;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:12px;
  margin:10px 0;
}
.bubble{
  max-width:85%;
  padding:10px 12px;
  border-radius:14px;
  margin:8px 0;
  line-height:1.25;
  white-space:pre-wrap;
}
.me{margin-left:auto;background:#e5e7eb}
.ai{margin-right:auto;background:var(--green);color:white}
.chatInput{display:flex;gap:10px}
.input{
  flex:1;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:12px;
  font-size:16px;
}
.row{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.footer{color:var(--muted)}
.qCard{
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:12px;
  background:#fafafa;
}
.choice{
  width:100%;
  text-align:left;
  margin-top:8px;
  padding:12px;
  border-radius:12px;
  border:1px solid #e5e7eb;
  background:white;
  cursor:pointer;
  font-weight:650;
}
.choice.correct{border-color:#16a34a}
.choice.wrong{border-color:#dc2626}
.small{color:var(--muted);font-size:12px;margin-top:8px}
.lesson{
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:12px;
  margin:10px 0;
  background:#fafafa;
}
.lesson h3{margin:0 0 8px}
