.ai-tutor {
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid var(--bd, var(--v-border, #cbd5e1));
  border-radius: 12px;
  color: var(--fg, var(--v-fg, #172033));
  background: var(--card, var(--v-card, #f8fafc));
}
.ai-tutor h4 { margin: 0 0 .65rem; }
.ai-tutor-buttons { display: flex; flex-wrap: wrap; gap: .5rem; }
.ai-tutor button {
  min-height: 44px;
  padding: .55rem .85rem;
  border: 1px solid currentColor;
  border-radius: 8px;
  color: inherit;
  background: transparent;
  cursor: pointer;
}
.ai-tutor button:disabled { cursor: wait; opacity: .6; }
.ai-tutor-input-label { display: grid; gap: .35rem; margin-top: .75rem; font-weight: 600; }
.ai-tutor textarea, .ai-tutor input {
  width: 100%;
  box-sizing: border-box;
  min-height: 44px;
  padding: .65rem;
  border: 1px solid var(--bd, var(--v-border, #cbd5e1));
  border-radius: 7px;
  color: inherit;
  background: var(--bg-strong, var(--v-bg, #fff));
  font: inherit;
}
.ai-tutor-answer {
  margin-top: .75rem;
  padding: .75rem;
  border-radius: 8px;
  background: var(--bg-strong, var(--v-bg, #fff));
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.ai-tutor-status, .ai-tutor-privacy { margin: .6rem 0 0; font-size: .92rem; }
.ai-tutor-privacy { opacity: .8; }
.ai-tutor-dock { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); z-index: 80; width: min(460px, calc(100vw - 32px)); }
.ai-tutor-launcher { display: block; min-height: 48px; margin: 0 0 8px auto; padding: .7rem 1rem; border: 1px solid var(--ac, #86efac); border-radius: 999px; color: var(--bg, #101827); background: var(--ac, #86efac); box-shadow: 0 8px 30px rgba(0,0,0,.28); font: inherit; font-weight: 800; cursor: pointer; }
.ai-tutor-launcher[aria-expanded="true"] { border-radius: 12px; }
.ai-tutor-dock-panel { max-height: min(72vh, 680px); overflow: auto; border: 1px solid var(--bd, #cbd5e1); border-radius: 15px; background: var(--bg, #fff); box-shadow: 0 18px 55px rgba(0,0,0,.34); }
.ai-tutor-dock-panel .ai-tutor { margin: 0; border: 0; background: var(--card, #f8fafc); }
.ai-tutor-dock-panel .ai-tutor h4 { font-size: 1.05rem; }
.ai-tutor-dock-panel .ai-tutor-buttons button { flex: 1 1 auto; }
.ai-tutor [hidden] { display: none !important; }
#ai-settings { display: grid; gap: .7rem; max-width: 52rem; }
#ai-settings input { width: min(100%, 40rem); min-height: 44px; padding: .65rem; color: var(--fg, #172033); background: var(--bg-strong, #fff); border: 1px solid var(--bd, #cbd5e1); border-radius: 7px; }
#ai-settings button { min-height: 44px; }
@media (max-width: 560px) {
  .ai-tutor { padding: .8rem; }
  .ai-tutor-buttons { display: grid; grid-template-columns: 1fr 1fr; }
  .ai-tutor-buttons button { width: 100%; }
  .ai-tutor-dock { right: max(10px, env(safe-area-inset-right)); bottom: max(10px, env(safe-area-inset-bottom)); width: calc(100vw - 20px); }
  .ai-tutor-dock-panel { max-height: min(72vh, 620px); }
}
