.elementor-728 .elementor-element.elementor-element-f557e90{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overflow:hidden;}.elementor-728 .elementor-element.elementor-element-f557e90:not(.elementor-motion-effects-element-type-background), .elementor-728 .elementor-element.elementor-element-f557e90 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #A7BFCF 0%, #A7BFCF 100%);}/* Start custom CSS for html, class: .elementor-element-2256ede */#rst-sh-roast-v1-root {
  --rst-bg: #F2E4D0;
  --rst-surface: #FFFFFF;
  --rst-surface-2: #E4CBA3;
  --rst-border: #D3B588;
  --rst-text: #24140B;
  --rst-accent: #24140B;
  --rst-accent-2: #93672A;
  --rst-accent-text: #FFFFFF;
  --rst-radius-card: 20px;
  --rst-radius-lg: 24px;
  --rst-ease: cubic-bezier(.4,0,.2,1);
  --rst-spring: cubic-bezier(.34,1.56,.64,1);

  position: relative;
  font-family: 'Vazirmatn', Tahoma, sans-serif;
  background: var(--rst-bg);
  color: var(--rst-text);
  border-radius: var(--rst-radius-lg);
  overflow: hidden;
  max-width: 640px; margin: 0 auto;
}
#rst-sh-roast-v1-root * { box-sizing: border-box; }
#rst-sh-roast-v1-root h1, #rst-sh-roast-v1-root h2, #rst-sh-roast-v1-root h3,
#rst-sh-roast-v1-root p, #rst-sh-roast-v1-root button { margin: 0; color: var(--rst-text); }

/* ===== Decorative floating coffee beans ===== */
#rst-sh-roast-v1-root .rst-decor { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
#rst-sh-roast-v1-root .rst-bean {
  position: absolute; width: var(--sz); height: calc(var(--sz) * 1.45);
  background: var(--rst-accent); opacity: .16;
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  transform: rotate(calc(-25deg + var(--s) * 6deg));
  animation: rstBeanFloat calc(10s + var(--s) * 1.3s) ease-in-out infinite;
  animation-delay: calc(var(--s) * -1.1s);
}
#rst-sh-roast-v1-root .rst-bean::after {
  content: ''; position: absolute; top: 10%; left: 50%; width: 12%; height: 80%;
  background: var(--rst-bg); border-radius: 3px;
  transform: translateX(-50%) rotate(8deg);
}
@keyframes rstBeanFloat {
  0%, 100% { transform: rotate(calc(-25deg + var(--s) * 6deg)) translate(0,0) scale(1); }
  50% { transform: rotate(calc(-25deg + var(--s) * 6deg + 14deg)) translate(10px,-22px) scale(1.12); }
}

#rst-sh-roast-v1-root .rst-steam { position: absolute; width: 3px; height: 44px; border-radius: 999px; background: var(--rst-accent); opacity: .09; filter: blur(2px); animation: rstSteamRise 5.5s ease-in-out infinite; }
#rst-sh-roast-v1-root .rst-steam--1 { top: 22%; right: 30%; animation-delay: -1s; }
#rst-sh-roast-v1-root .rst-steam--2 { bottom: 26%; left: 34%; animation-delay: -3s; }
@keyframes rstSteamRise { 0% { transform: translateY(0) scaleY(1) rotate(0); opacity: 0; } 30% { opacity: .12; } 100% { transform: translateY(-64px) scaleY(1.7) rotate(10deg); opacity: 0; } }

#rst-sh-roast-v1-root .rst-header, #rst-sh-roast-v1-root .rst-progress,
#rst-sh-roast-v1-root .rst-main, #rst-sh-roast-v1-root .rst-footer { position: relative; z-index: 1; }

#rst-sh-roast-v1-root .rst-header { padding: 16px 22px; border-bottom: 1px solid var(--rst-border); }
#rst-sh-roast-v1-root .rst-brand { font-weight: 800; font-size: 15px; color: var(--rst-text); text-decoration: none; transition: opacity .2s var(--rst-ease); }
#rst-sh-roast-v1-root .rst-brand:hover { opacity: .7; }

#rst-sh-roast-v1-root .rst-footer { text-align: center; padding: 18px; border-top: 1px solid var(--rst-border); }
#rst-sh-roast-v1-root .rst-footer a { color: var(--rst-text); text-decoration: none; font-size: 13px; opacity: .6; }
#rst-sh-roast-v1-root .rst-footer a:hover { opacity: 1; }

/* Progress dots */
#rst-sh-roast-v1-root .rst-progress { display: flex; justify-content: center; gap: 8px; padding: 18px 20px 0; flex-wrap: wrap; }
#rst-sh-roast-v1-root .rst-dot { height: 8px; border-radius: 999px; background: var(--rst-surface-2); transition: background .3s var(--rst-ease), width .4s var(--rst-spring); width: 8px; }
#rst-sh-roast-v1-root .rst-dot.is-active { background: var(--rst-accent); width: 22px; }
#rst-sh-roast-v1-root .rst-dot.is-done { background: var(--rst-accent-2); }

#rst-sh-roast-v1-root .rst-main { padding: 26px 22px 36px; min-height: 320px; }

/* Question view */
#rst-sh-roast-v1-root .rst-q { }
#rst-sh-roast-v1-root .rst-q-title { font-size: 19px; font-weight: 800; text-align: center; margin-bottom: 22px; line-height: 1.6; color: var(--rst-accent); }

#rst-sh-roast-v1-root .rst-options { display: flex; flex-direction: column; gap: 12px; }
#rst-sh-roast-v1-root .rst-option {
  position: relative; overflow: hidden;
  display: flex; align-items: center; gap: 14px;
  padding: 16px 18px; border: 1px solid var(--rst-border); border-radius: var(--rst-radius-card);
  background: var(--rst-surface); cursor: pointer; font-family: inherit; text-align: right;
  opacity: 0; transform: translateY(18px) scale(.94) rotate(-1deg);
  animation: rstOptIn .55s var(--rst-spring) forwards;
  transition: border-color .2s var(--rst-ease), transform .25s var(--rst-spring), box-shadow .3s var(--rst-ease);
}
#rst-sh-roast-v1-root .rst-option::before {
  content: ''; position: absolute; inset: 0; opacity: 0; pointer-events: none;
  background: radial-gradient(180px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--rst-accent) 16%, transparent), transparent 70%);
  transition: opacity .35s var(--rst-ease);
}
#rst-sh-roast-v1-root .rst-option::after {
  content: ''; position: absolute; inset: -60% -20%; opacity: 0;
  background: linear-gradient(75deg, transparent 40%, color-mix(in srgb, var(--rst-accent-2) 45%, transparent) 50%, transparent 60%);
  transform: translateX(-120%); pointer-events: none;
}
#rst-sh-roast-v1-root .rst-option:hover::before { opacity: 1; }
#rst-sh-roast-v1-root .rst-option:hover::after { opacity: 1; animation: rstShimmer 1s ease; }
@keyframes rstShimmer { from { transform: translateX(-120%); } to { transform: translateX(120%); } }
#rst-sh-roast-v1-root .rst-option:hover { border-color: var(--rst-accent); transform: translateY(-5px) scale(1.02); box-shadow: 0 18px 34px rgba(36,20,11,.22); }
#rst-sh-roast-v1-root .rst-option:active { transform: scale(.96); }
@keyframes rstOptIn { to { opacity: 1; transform: translateY(0) scale(1) rotate(0); } }
#rst-sh-roast-v1-root .rst-option-icon { font-size: 24px; flex-shrink: 0; transition: transform .35s var(--rst-spring); }
#rst-sh-roast-v1-root .rst-option:hover .rst-option-icon { transform: scale(1.25) rotate(-10deg); }
#rst-sh-roast-v1-root .rst-option-text { flex: 1; font-size: 14px; font-weight: 700; position: relative; z-index: 1; color: var(--rst-accent); }
#rst-sh-roast-v1-root .rst-ripple {
  position: absolute; border-radius: 50%; pointer-events: none;
  background: color-mix(in srgb, var(--rst-accent) 32%, transparent);
  transform: scale(0); opacity: .5; animation: rstRipple .6s ease-out forwards;
}
@keyframes rstRipple { to { transform: scale(3.2); opacity: 0; } }

/* Conditional question extra emphasis (combined with enter animation) */
#rst-sh-roast-v1-root .rst-q4-enter .rst-q-title { animation: rstQ4TitlePulse .6s var(--rst-spring); }
@keyframes rstQ4TitlePulse { from { transform: scale(.9); } to { transform: scale(1); } }

/* Step transition animations */
#rst-sh-roast-v1-root .rst-q-exit-left { animation: rstExitLeft .32s var(--rst-ease) forwards !important; }
@keyframes rstExitLeft { to { opacity: 0; transform: translateX(-30px) scale(.92) rotate(-2deg); } }
#rst-sh-roast-v1-root .rst-q-exit-right { animation: rstExitRight .32s var(--rst-ease) forwards !important; }
@keyframes rstExitRight { to { opacity: 0; transform: translateX(30px) scale(.92) rotate(2deg); } }
#rst-sh-roast-v1-root .rst-q-enter-forward { animation: rstEnterForward .5s var(--rst-spring) both; }
@keyframes rstEnterForward {
  from { opacity: 0; transform: translateX(36px) scale(.9) rotate(2deg); filter: blur(4px); }
  to { opacity: 1; transform: translateX(0) scale(1) rotate(0); filter: blur(0); }
}
#rst-sh-roast-v1-root .rst-q-enter-back { animation: rstEnterBack .5s var(--rst-spring) both; }
@keyframes rstEnterBack {
  from { opacity: 0; transform: translateX(-36px) scale(.9) rotate(-2deg); filter: blur(4px); }
  to { opacity: 1; transform: translateX(0) scale(1) rotate(0); filter: blur(0); }
}

/* Back link */
#rst-sh-roast-v1-root .rst-back {
  display: inline-flex; align-items: center; gap: 4px; margin-bottom: 16px;
  border: none; background: transparent; color: var(--rst-accent); opacity: .6;
  font-family: inherit; font-size: 12.5px; cursor: pointer; transition: opacity .2s var(--rst-ease), transform .2s var(--rst-spring);
}
#rst-sh-roast-v1-root .rst-back:hover { opacity: 1; transform: translateX(3px); }

/* Loading */
#rst-sh-roast-v1-root .rst-loading { text-align: center; padding: 50px 10px; }
#rst-sh-roast-v1-root .rst-cup { font-size: 46px; display: inline-block; animation: rstSteamCup 1s ease-in-out infinite; }
@keyframes rstSteamCup { 0%,100% { transform: translateY(0) rotate(-5deg) scale(1); } 50% { transform: translateY(-10px) rotate(5deg) scale(1.1); } }
#rst-sh-roast-v1-root .rst-loading p { margin-top: 14px; opacity: .6; font-size: 13px; }

/* Results */
#rst-sh-roast-v1-root .rst-results-title {
  font-size: 20px; font-weight: 800; text-align: center; margin-bottom: 6px;
  background: linear-gradient(90deg, var(--rst-accent), var(--rst-accent-2), var(--rst-accent));
  background-size: 200% auto; -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: rstShimmerText 2.6s linear infinite;
}
@keyframes rstShimmerText { to { background-position: -200% center; } }
#rst-sh-roast-v1-root .rst-results-sub { text-align: center; font-size: 13px; opacity: .6; margin-bottom: 22px; }
#rst-sh-roast-v1-root .rst-result-list { display: flex; flex-direction: column; gap: 12px; }
#rst-sh-roast-v1-root .rst-result-card {
  padding: 16px 18px; border: 1px solid var(--rst-border); border-radius: var(--rst-radius-card);
  background: var(--rst-surface);
  opacity: 0; transform: translateY(24px) rotateX(-10deg) scale(.93);
  animation: rstResultIn .6s var(--rst-spring) forwards;
  position: relative; overflow: hidden; transform-style: preserve-3d;
  transition: border-color .2s var(--rst-ease), box-shadow .3s var(--rst-ease);
}
#rst-sh-roast-v1-root .rst-result-card:hover { border-color: var(--rst-accent); box-shadow: 0 14px 30px rgba(36,20,11,.2); }
@keyframes rstResultIn { to { opacity: 1; transform: translateY(0) rotateX(0) scale(1); } }
#rst-sh-roast-v1-root .rst-result-rank {
  position: absolute; top: 12px; left: 14px; width: 24px; height: 24px; border-radius: 999px;
  background: var(--rst-accent-2); color: var(--rst-accent-text); font-size: 11px; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  animation: rstRankPop .45s var(--rst-spring);
}
@keyframes rstRankPop { from { transform: scale(0) rotate(-90deg); } to { transform: scale(1) rotate(0); } }
#rst-sh-roast-v1-root .rst-result-name { font-size: 15.5px; font-weight: 800; margin-bottom: 6px; padding-left: 32px; color: var(--rst-accent); }
#rst-sh-roast-v1-root .rst-result-reason { font-size: 12.5px; opacity: .78; line-height: 1.9; }

#rst-sh-roast-v1-root .rst-restart {
  display: block; margin: 26px auto 0; border: none; cursor: pointer;
  background: var(--rst-accent); color: var(--rst-accent-text);
  padding: 13px 26px; border-radius: 999px; font-family: inherit; font-size: 13.5px; font-weight: 700;
  position: relative; overflow: visible;
  transition: filter .15s var(--rst-ease), transform .15s var(--rst-spring);
}
#rst-sh-roast-v1-root .rst-restart::before {
  content: ''; position: absolute; inset: -5px; border-radius: inherit;
  border: 2px solid var(--rst-accent); opacity: 0; pointer-events: none;
  animation: rstPulseRing 2.2s ease-out .5s infinite;
}
@keyframes rstPulseRing { 0% { opacity: .55; transform: scale(1); } 100% { opacity: 0; transform: scale(1.2); } }
#rst-sh-roast-v1-root .rst-restart:hover { filter: brightness(1.2); transform: translateY(-2px); }
#rst-sh-roast-v1-root .rst-restart:active { transform: scale(.95); }

@media (prefers-reduced-motion: reduce) {
  #rst-sh-roast-v1-root * { animation-duration: .001ms !important; transition-duration: .001ms !important; }
  #rst-sh-roast-v1-root .rst-option, #rst-sh-roast-v1-root .rst-result-card { opacity: 1 !important; transform: none !important; }
  #rst-sh-roast-v1-root .rst-q-exit-left, #rst-sh-roast-v1-root .rst-q-exit-right,
  #rst-sh-roast-v1-root .rst-q-enter-forward, #rst-sh-roast-v1-root .rst-q-enter-back { animation: none !important; opacity: 1 !important; transform: none !important; filter: none !important; }
}/* End custom CSS */