/* AI eesti keeles (/tooriistad/ai-eesti-keeles/), 22.10.2026. Muutujad generaatori STIIL-ist ja teema.css-ist. */
.ab-wrap { max-width: 1100px; }   /* 27.10: sama laius mis teistel tööriistadel */
.ab-ala { max-width: 1100px; margin: 0 auto; padding: 0 24px; }
.ab-ala [hidden] { display: none !important; }
.ab-kaart { background: var(--bg-card); border: 1px solid var(--border-light); border-left: 3px solid var(--accent); padding: 24px; }
@media (min-width: 900px) { .ab-kaart { padding: 32px; } }

.ab-logi p { margin: 0 0 16px; color: var(--fg-dim); }
.ab-logi b { color: var(--fg); }
/* 23.10: kutse vormi all, kui sisselogimata kasutaja vajutab «Saada» */
.ab-vestlus .ab-logi { margin-top: 14px; padding: 16px 18px; border: 1px solid var(--accent); background: var(--bg); }
.ab-vestlus .ab-logi[hidden] { display: none; }
.ab-nupp, .ab-teine { display: inline-block; padding: 12px 20px; border: 1px solid var(--accent); font-family: 'Oswald', sans-serif;
  font-size: 13px; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; cursor: pointer; }
.ab-nupp { background: var(--accent); color: #0a0a0a; }
.ab-nupp:hover { background: #FF7A33; color: #0a0a0a; }
.ab-nupp:disabled { opacity: .5; cursor: progress; }
.ab-teine { background: transparent; color: var(--fg); padding: 12px 14px; }
.ab-teine:hover { color: var(--accent); }

.ab-mallid { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.ab-mallid button { padding: 6px 12px; border: 1px solid var(--border-light); border-radius: 999px; background: var(--bg);
  color: var(--fg-dim); font: 13px/1.4 'Archivo', sans-serif; cursor: pointer; }
.ab-mallid button:hover, .ab-mallid button:focus-visible { border-color: var(--accent); color: var(--fg); }

.ab-sonumid { list-style: none; padding: 0; margin: 0 0 14px; display: grid; gap: 12px; max-height: 60vh; overflow-y: auto; }
/* 27.10: vestlusala näha ka tühjana (aken sama suur kui teistel tööriistadel) */
.ab-sonumid { min-height: 240px; }
.ab-sonumid:empty { display: flex; align-items: center; justify-content: center; border: 1px dashed var(--border-light); background: var(--bg); }
.ab-sonumid:empty::before { content: 'Siia ilmub vestlus. Kirjuta küsimus või vali ülalt kiirvalik.'; padding: 0 16px; font-size: 14px; color: var(--muted); text-align: center; }
.ab-s { margin: 0; max-width: 92%; }
.ab-s.kasutaja { justify-self: end; }
.ab-s .ab-sisu { padding: 12px 16px; font-size: 15px; line-height: 1.6; color: var(--fg); overflow-wrap: anywhere; }
.ab-s.kasutaja .ab-sisu { background: var(--bg); border: 1px solid var(--accent); white-space: pre-wrap; }
.ab-s.abiline .ab-sisu { background: var(--bg); border: 1px solid var(--border-light); }
.ab-sisu p { margin: 0 0 10px; color: var(--fg); font-size: 15px; max-width: none; }
.ab-sisu p:last-child, .ab-sisu ul:last-child, .ab-sisu ol:last-child { margin-bottom: 0; }
.ab-sisu ul, .ab-sisu ol { margin: 0 0 10px; padding-left: 22px; }
.ab-sisu li { color: var(--fg); font-size: 15px; margin-bottom: 4px; }
.ab-kopeeri { margin-top: 6px; padding: 4px 10px; border: 1px solid var(--border-light); background: transparent; color: var(--fg-dim);
  font: 12px 'JetBrains Mono', monospace; letter-spacing: .08em; cursor: pointer; }
.ab-kopeeri:hover { border-color: var(--accent); color: var(--fg); }
.ab-s.ootel .ab-sisu { display: flex; gap: 6px; padding: 16px; }
.ab-s.ootel i { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); animation: ab-pulss 1s ease-in-out infinite; }
.ab-s.ootel i:nth-child(2) { animation-delay: .15s; } .ab-s.ootel i:nth-child(3) { animation-delay: .3s; }
@keyframes ab-pulss { 0%, 100% { opacity: .25; } 50% { opacity: 1; } }

.ab-vorm textarea { display: block; width: 100%; margin: 0; padding: 12px 14px; background: var(--bg); color: var(--fg);
  border: 1px solid var(--border-light); font: 15px/1.5 'Archivo', sans-serif; resize: vertical; }
.ab-vorm textarea:focus { outline: none; border-color: var(--accent); }
.ab-rida { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-top: 10px; flex-wrap: wrap; }
.ab-jaanud { margin-right: auto; font: 12px 'JetBrains Mono', monospace; color: var(--muted); }
.ab-teade { min-height: 1.4em; margin: 10px 0 0; font-size: 14px; color: var(--fg-dim); }
.ab-teade.viga { color: var(--accent); }
.ab-markus { margin: 12px 0 0; font-size: 12px; color: var(--muted); max-width: none; }
.ab-markus a { color: var(--muted); }

@media (max-width: 560px) {
  .ab-kaart { padding: 18px; }
  .ab-s { max-width: 100%; }
  .ab-sonumid { min-height: 180px; }
}
@media (prefers-reduced-motion: reduce) { .ab-s.ootel i { animation: none; opacity: .7; } }

html[data-teema="hele"] :is(.ab-nupp, .ab-nupp:hover) { color: #fff; }
html[data-teema="hele"] .ab-nupp:hover { background: var(--accent); filter: brightness(1.1); }
/* fail + allalaadimine (27.10.2026) */
.ab-lisa { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: none;
  border: 1px solid var(--border-light); color: var(--fg); font-size: 22px; line-height: 1; cursor: pointer; }
.ab-lisa:hover, .ab-lisa:focus-within { border-color: var(--accent); color: var(--accent); }
.ab-lisa input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.ab-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ab-fail { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; padding: 6px 10px; border: 1px solid var(--accent); background: var(--bg);
  font: 13px 'JetBrains Mono', monospace; color: var(--fg); }
.ab-fail[hidden] { display: none; }
.ab-fail span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.ab-fail button { width: 26px; height: 26px; padding: 0; border: 1px solid var(--border-light); background: transparent; color: var(--fg-dim); cursor: pointer; }
.ab-fail button:hover { border-color: var(--accent); color: var(--accent); }
.ab-failisilt { display: block; margin-top: 6px; font: 12px 'JetBrains Mono', monospace; color: var(--accent); }
.ab-lisa { margin-right: auto; }
.ab-s .ab-kopeeri + .ab-kopeeri { margin-left: 6px; }
