.cpaz-root{
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:520px;
  padding:24px 12px;
  overflow:hidden;
  background: linear-gradient(to bottom right, #fae6ef, #e6dcfa);
  border-radius: 18px;
}

.cpaz-root *{ box-sizing:border-box; }

.cpaz-petals{
  position:absolute; inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
}

.cpaz-petal{
  position:absolute;
  width:22px; height:22px;
  opacity:.65;
  border-radius:55% 45% 60% 40% / 60% 40% 60% 40%;
  animation: cpaz-float linear infinite;
  will-change: transform, opacity;
}

@keyframes cpaz-float{
  0%   { transform: translate3d(var(--x0), 110%, 0) rotate(0deg) scale(var(--s)); opacity:0; }
  10%  { opacity:.7; }
  50%  { opacity:.95; }
  100% { transform: translate3d(var(--x1), -30%, 0) rotate(360deg) scale(var(--s)); opacity:0; }
}

.cpaz-card{
  position:relative;
  z-index:1;
  width:380px;
  max-width:92vw;
  background: rgba(255,255,255,0.92);
  border-radius:20px;
  box-shadow: 0 6px 22px rgba(0,0,0,0.10);
  padding:22px 20px;
  text-align:center;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color:#6b4b8a;
  transition: width .25s ease, height .25s ease;
}

.cpaz-hidden{ display:none !important; }

.cpaz-title{
  margin:0 0 10px;
  font-size:1.25rem;
  color:#8e6cc3;
}

.cpaz-subtitle{
  margin:12px 0 6px;
  font-size:1.05rem;
  color:#b07cd8;
}

.cpaz-text{
  margin:0 0 10px;
  font-size:.95rem;
  line-height:1.55;
  color:#6d4c8d;
}

.cpaz-quote{
  margin:10px 0 10px;
  padding:10px 12px;
  border-left:4px solid #d5b3f3;
  background: rgba(213,179,243,0.15);
  border-radius:12px;
  font-style:italic;
  color:#8e6cc3;
}

.cpaz-btn{
  border:0;
  border-radius:999px;
  padding:11px 16px;
  background:#d5b3f3;
  color:#fff;
  font-size:.92rem;
  cursor:pointer;
  transition: transform .12s ease, background .2s ease;
  margin:6px 4px;
}

.cpaz-btn:hover{ background:#c39be8; transform: translateY(-1px); }

.cpaz-btn--soft{ background:#bfa7ef; }
.cpaz-btn--soft:hover{ background:#ad92ea; }

.cpaz-menuButtons{
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:center;
}

.cpaz-actions{
  margin-top:10px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:6px;
  flex-wrap:nowrap;
}

.cpaz-actions--wrap{ flex-wrap:wrap; }

.cpaz-full{
  width:min(900px, 94vw) !important;
  height:min(86vh, 720px) !important;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}

.cpaz-phrase{
  min-height:60px;
  transition: opacity .8s ease;
}

.cpaz-orb{
  width:150px; height:150px;
  border-radius:50%;
  margin:10px auto 14px;
  box-shadow:0 0 20px rgba(215,179,243,0.55);
  animation: cpaz-breathe 8s ease-in-out infinite;
}

.cpaz-orb--respire{ background: radial-gradient(circle, #f6c1d5, #d7b3f3); }
.cpaz-orb--gratidao{ background: radial-gradient(circle, #f7e4a1, #d1b9ff); }
.cpaz-orb--sons{ background: radial-gradient(circle, #c8f7e4, #b5e0c9); }

@keyframes cpaz-breathe{
  0%,100%{ transform: scale(1); opacity:.92; }
  50%{ transform: scale(1.38); opacity:1; }
}

.cpaz-candle{
  width:42px; height:124px;
  margin:8px auto 14px;
  background:#ffd4b8;
  border-radius:22px;
  position:relative;
  box-shadow: 0 8px 16px rgba(0,0,0,0.06);
}

.cpaz-flame{
  width:20px; height:20px;
  position:absolute;
  left:50%; top:-18px;
  transform: translateX(-50%);
  border-radius:50%;
  background: radial-gradient(circle, #fff9c4, #f8b878);
  animation: cpaz-flicker 2s ease-in-out infinite;
}

@keyframes cpaz-flicker{
  0%,100%{ opacity:1; transform: translateX(-50%) translateY(0) scale(1); }
  50%{ opacity:.65; transform: translateX(-50%) translateY(-2px) scale(.95); }
}

.cpaz-input{
  width:92%;
  max-width:320px;
  margin:6px auto 0;
  padding:10px 12px;
  border:1px solid rgba(193,155,232,0.35);
  border-radius:14px;
  outline:none;
  text-align:center;
  background: rgba(255,246,251,0.9);
  color:#6d4c8d;
}

.cpaz-canvas{
  width:240px; height:240px;
  border-radius:12px;
  background:#fff6fb;
  border:2px dashed #d9b9ec;
  cursor: crosshair;
  touch-action: none;
}

@media (max-width:420px){
  .cpaz-card{ padding:18px 14px; }
  .cpaz-actions{ flex-wrap:wrap; }
}
