.wmGenerationStage{
  position:relative;overflow:hidden;min-height:270px;margin:14px 0 8px;padding:34px;
  border:1px solid rgba(255,255,255,.34);border-radius:28px;
  background:linear-gradient(135deg,rgba(76,121,255,.15),rgba(163,102,255,.12) 48%,rgba(255,117,174,.12));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38),0 24px 70px rgba(36,55,142,.12);
  isolation:isolate;color:var(--text,#12162d)
}
.wmGenerationStage::before{content:"";position:absolute;inset:-40%;z-index:-2;background:conic-gradient(from 90deg,transparent,rgba(78,139,255,.22),transparent 32%,rgba(200,96,255,.18),transparent 68%,rgba(255,115,166,.18),transparent);animation:wmGenAurora 8s linear infinite}
.wmGenerationStage::after{content:"";position:absolute;inset:1px;z-index:-1;border-radius:27px;background:radial-gradient(circle at 18% 16%,rgba(255,255,255,.58),transparent 35%),linear-gradient(150deg,rgba(247,250,255,.66),rgba(235,231,255,.43) 55%,rgba(255,238,248,.48));backdrop-filter:blur(18px)}
.wmGenTop{display:flex;align-items:center;gap:26px;max-width:760px;margin:auto}
.wmGenVisual{position:relative;width:126px;height:126px;flex:0 0 126px;display:grid;place-items:center}
.wmGenHalo,.wmGenHalo::before,.wmGenHalo::after{position:absolute;border-radius:50%;inset:2px;border:1px solid rgba(78,129,255,.36);content:"";animation:wmGenPulse 2.6s ease-in-out infinite}
.wmGenHalo::before{inset:13px;border-color:rgba(164,93,255,.34);animation-delay:.4s}
.wmGenHalo::after{inset:27px;border-color:rgba(255,103,170,.38);animation-delay:.8s}
.wmGenDoc{position:relative;width:54px;height:68px;border-radius:11px;background:linear-gradient(145deg,#fff,rgba(235,240,255,.9));box-shadow:0 15px 35px rgba(62,76,169,.2);animation:wmGenFloat 2.5s ease-in-out infinite}
.wmGenDoc::before{content:"";position:absolute;left:11px;right:11px;top:17px;height:4px;border-radius:4px;background:#668dff;box-shadow:0 11px 0 rgba(108,113,229,.45),0 22px 0 rgba(166,111,226,.42),0 33px 0 rgba(255,121,176,.38)}
.wmGenDoc::after{content:"";position:absolute;right:-8px;top:-7px;width:22px;height:22px;border-radius:8px;background:linear-gradient(145deg,#7ba6ff,#bb79ed);box-shadow:0 7px 18px rgba(83,100,220,.28);animation:wmGenSpark 1.8s ease-in-out infinite}
.wmGenCopy{min-width:0;flex:1}.wmGenEyebrow{display:flex;align-items:center;gap:9px;margin-bottom:9px;font-size:11px;font-weight:850;letter-spacing:.16em;text-transform:uppercase;color:#5564ad}.wmGenEyebrow i{width:7px;height:7px;border-radius:50%;background:#587fff;box-shadow:0 0 0 6px rgba(88,127,255,.12);animation:wmGenBlink 1.4s ease-in-out infinite}
.wmGenTitle{font-size:clamp(22px,3vw,34px);line-height:1.08;font-weight:850;letter-spacing:-.035em;color:#171a38}.wmGenSubtitle{margin-top:10px;font-size:14px;line-height:1.55;color:rgba(30,35,71,.68)}
.wmGenSteps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:760px;margin:28px auto 0}.wmGenStep{position:relative;padding:12px 13px 12px 35px;border:1px solid rgba(78,95,170,.13);border-radius:13px;background:rgba(255,255,255,.34);font-size:12px;font-weight:700;color:rgba(32,37,76,.54);transition:.35s ease}.wmGenStep::before{content:"";position:absolute;left:13px;top:50%;width:9px;height:9px;border:2px solid rgba(86,104,186,.3);border-radius:50%;transform:translateY(-50%)}.wmGenStep.active{color:#252c68;background:rgba(255,255,255,.65);border-color:rgba(89,117,239,.28);box-shadow:0 8px 24px rgba(76,92,181,.08)}.wmGenStep.active::before{border-color:#658cff;border-top-color:transparent;animation:wmGenSpin .8s linear infinite}.wmGenStep.done::before{background:#687cff;border-color:#687cff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.9)}
.wmGenFoot{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:760px;margin:18px auto 0}.wmGenProgress{height:5px;flex:1;overflow:hidden;border-radius:9px;background:rgba(75,90,161,.12)}.wmGenProgress span{display:block;width:38%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5a86ff,#9b72ee,#ff78ac);animation:wmGenProgress 2.1s ease-in-out infinite}.wmGenTime{font-variant-numeric:tabular-nums;font-size:12px;font-weight:750;color:rgba(33,39,80,.55);white-space:nowrap}
.wmGenerating>.noteCard>.noteText.streaming-cursor{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.wmGenerationReveal{animation:wmGenReveal .32s ease both}
@keyframes wmGenAurora{to{transform:rotate(360deg)}}@keyframes wmGenPulse{0%,100%{transform:scale(.86);opacity:.35}50%{transform:scale(1);opacity:1}}@keyframes wmGenFloat{0%,100%{transform:translateY(-3px) rotate(-2deg)}50%{transform:translateY(5px) rotate(2deg)}}@keyframes wmGenSpark{0%,100%{transform:scale(.88) rotate(-7deg)}50%{transform:scale(1.08) rotate(7deg)}}@keyframes wmGenBlink{50%{opacity:.35}}@keyframes wmGenSpin{to{transform:translateY(-50%) rotate(360deg)}}@keyframes wmGenProgress{0%{transform:translateX(-110%)}55%,100%{transform:translateX(270%)}}@keyframes wmGenReveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:720px){.wmGenerationStage{min-height:245px;padding:26px 20px}.wmGenTop{gap:17px}.wmGenVisual{width:88px;height:88px;flex-basis:88px}.wmGenDoc{transform:scale(.82)}.wmGenTitle{font-size:23px}.wmGenSteps{grid-template-columns:1fr;gap:7px;margin-top:22px}.wmGenStep:nth-child(3){display:none}}
@media(prefers-reduced-motion:reduce){.wmGenerationStage *,.wmGenerationStage::before{animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Estados semânticos: uma etapa concluída não volta a girar e o arquivo
   terminado permanece visível por um instante antes de revelar o resultado. */
.wmGenStep.done{color:#252c68;background:rgba(255,255,255,.58);border-color:rgba(89,117,239,.22)}
.wmGenStep.done::before{content:"✓";display:grid;place-items:center;width:15px;height:15px;color:#fff;font-size:10px;line-height:1;background:#687cff;border-color:#687cff;box-shadow:0 0 0 3px rgba(104,124,255,.12)}
.wmGenerationStage.complete .wmGenDoc{animation:none;transform:none}
.wmGenerationStage.complete .wmGenDoc::after{background:linear-gradient(145deg,#5dce9a,#4aa8ef);animation:none}
.wmGenerationStage.complete .wmGenProgress span{width:100%;transform:none;animation:none;background:linear-gradient(90deg,#5dce9a,#5a86ff)}
.wmStreamingTablePreview{animation:wmStreamingTableIn .16s ease-out}.wmStreamingTableProse{margin:0 0 10px;line-height:1.65}.wmStreamingTableProse:last-child{margin:10px 0 0}.wmStreamingTablePreview .aiTableWrap{margin:8px 0}.wmStreamingTablePreview .aiTable{width:100%;table-layout:fixed}.wmStreamingTablePreview .aiTable th,.wmStreamingTablePreview .aiTable td{overflow-wrap:anywhere;vertical-align:top;transition:background-color .16s ease}.wmStreamingTablePreview .aiTable tbody tr:last-child td{animation:wmStreamingRowIn .18s ease-out}@keyframes wmStreamingTableIn{from{opacity:.72}to{opacity:1}}@keyframes wmStreamingRowIn{from{opacity:.45;transform:translateY(2px)}to{opacity:1;transform:none}}

/* Pensamento ativo e concluído: o mesmo preto translúcido, sem mudança para roxo. */
:root:not([data-theme="klinux"]) .thinkBlock,
:root:not([data-theme="klinux"]) .thinkBlock.streaming{
  background:linear-gradient(135deg,rgba(8,10,16,.7),rgba(0,0,0,.56))!important;
  border-color:rgba(255,255,255,.2)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 22px rgba(0,0,0,.16)!important;
  -webkit-backdrop-filter:blur(18px) saturate(110%);
  backdrop-filter:blur(18px) saturate(110%)
}
:root:not([data-theme="klinux"]) .thinkBlock .thinkHeader,
:root:not([data-theme="klinux"]) .thinkBlock.streaming .thinkHeader{
  color:rgba(255,255,255,.94)!important;
  background:transparent!important;
  text-shadow:none
}
:root:not([data-theme="klinux"]) .thinkBlock .thinkHeader:hover,
:root:not([data-theme="klinux"]) .thinkBlock.streaming .thinkHeader:hover{
  background:rgba(255,255,255,.06)!important
}
:root:not([data-theme="klinux"]) .thinkBlock .thinkChevron{
  color:rgba(255,255,255,.72)!important
}
:root:not([data-theme="klinux"]) .thinkBlock .thinkBody{
  color:rgba(255,255,255,.9)!important;
  border-top-color:rgba(255,255,255,.12)!important
}
:root:not([data-theme="klinux"]) .thinkBlock.streaming .thinkSpinner{
  border-color:rgba(255,255,255,.34)!important;
  border-top-color:#fff!important
}
