.cauldron{cursor:pointer;background:radial-gradient(circle,#1e1e1e,#2e2e2e);border:12px solid #1e1e1e;border-radius:50%;justify-content:center;align-items:center;width:280px;height:280px;transition:all .5s;display:flex;position:relative;box-shadow:0 22px 70px 4px rgba(0,0,0,.56)}@media (min-width:480px){.cauldron{border:10px solid #1e1e1e;width:340px;height:340px}}@media (min-width:768px){.cauldron{width:440px;height:440px}}.cauldron-liquid{border-radius:50%;width:80%;height:80%;position:relative;overflow:hidden}.cauldron__ingredients-list{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex;position:absolute;bottom:30%;left:50%;transform:translate(-50%)}.cauldron__ingredient-tag{background:var(--color-ultra-violet);border-radius:var(--spell-border-radius);color:var(--color-isabelline);padding:.25rem .5rem;font-size:1.4rem}.cauldron--brewing{box-shadow:rgba(0,0,0,.56) 0px 22px 70px 4px,0 0 30px var(--color-african-violet),0 0 60px var(--color-lilac);animation:1.5s ease-in-out infinite alternate cauldron-glow}.cauldron--brewing .cauldron-liquid{background:linear-gradient(45deg,var(--color-african-violet)0%,var(--color-lilac)25%,var(--color-pink-lavender)50%,var(--color-african-violet)75%,var(--color-lilac)100%);background-size:200% 200%;animation:2s ease-in-out infinite liquid-swirl}@keyframes cauldron-glow{0%{box-shadow:rgba(0,0,0,.56) 0px 22px 70px 4px,0 0 20px var(--color-african-violet),0 0 40px var(--color-lilac)}to{box-shadow:rgba(0,0,0,.56) 0px 22px 70px 4px,0 0 40px var(--color-lilac),0 0 80px var(--color-pink-lavender)}}@keyframes liquid-swirl{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.cauldron__bubbles{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.cauldron__bubble{background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.8) 0%,rgba(255,255,255,.4) 30%,rgba(159,134,192,.6) 70%,rgba(190,149,196,.3) 100%);border-radius:50%;animation:3s ease-in-out infinite bubble-rise;position:absolute}.cauldron__bubble:first-child{width:8px;height:8px;animation-duration:2.5s;animation-delay:0s;left:20%}.cauldron__bubble:nth-child(2){width:12px;height:12px;animation-duration:3s;animation-delay:.3s;left:35%}.cauldron__bubble:nth-child(3){width:6px;height:6px;animation-duration:2.8s;animation-delay:.6s;left:50%}.cauldron__bubble:nth-child(4){width:10px;height:10px;animation-duration:3.2s;animation-delay:.9s;left:65%}.cauldron__bubble:nth-child(5){width:14px;height:14px;animation-duration:2.7s;animation-delay:1.2s;left:80%}.cauldron__bubble:nth-child(6){width:7px;height:7px;animation-duration:3.1s;animation-delay:1.5s;left:15%}.cauldron__bubble:nth-child(7){width:11px;height:11px;animation-duration:2.9s;animation-delay:1.8s;left:70%}.cauldron__bubble:nth-child(8){width:9px;height:9px;animation-duration:3.3s;animation-delay:2.1s;left:40%}@keyframes bubble-rise{0%{opacity:0;bottom:0;transform:scale(.5)translate(0)}10%{opacity:1;transform:scale(1)translate(0)}50%{transform:scale(1.2)translate(10px)}90%{opacity:.8;transform:scale(.8)translate(-5px)}to{opacity:0;bottom:100%;transform:scale(.3)translate(0)}}.cauldron--brewing .cauldron__bubble{background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.9) 0%,rgba(255,255,255,.6) 20%,rgba(224,177,203,.8) 50%,rgba(190,149,196,.6) 80%,rgba(159,134,192,.4) 100%);animation-duration:1.5s;box-shadow:0 0 8px rgba(255,255,255,.5)}.cauldron--brewing .cauldron__bubble:nth-child(odd){background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.9) 0%,rgba(255,255,255,.6) 20%,rgba(154,140,152,.8) 50%,rgba(201,173,167,.6) 80%,rgba(95,84,142,.4) 100%)}.cauldron--brewing:before{content:"";background:linear-gradient(rgba(190,149,196,.3) 0%,rgba(159,134,192,.2) 50%,transparent 100%);border-radius:50% 50% 0 0;width:60px;height:40px;animation:2s ease-in-out infinite steam-rise;position:absolute;top:-20px;left:50%;transform:translate(-50%)}@keyframes steam-rise{0%{opacity:0;transform:translate(-50%)translateY(0)scale(.8)}50%{opacity:.6;transform:translate(-50%)translateY(-10px)scale(1.1)}to{opacity:0;transform:translate(-50%)translateY(-20px)scale(1.3)}}.cauldron:not(.cauldron--brewing) .cauldron__bubble{animation-duration:4s;animation-timing-function:ease-in-out}.cauldron:not(.cauldron--brewing) .cauldron__bubble:nth-child(odd){animation-delay:2s}.cauldron:not(.cauldron--brewing):not(.cauldron--revealed) .cauldron-liquid{background:linear-gradient(135deg,rgba(159,134,192,.3) 0%,rgba(190,149,196,.2) 50%,rgba(159,134,192,.3) 100%);animation:6s ease-in-out infinite subtle-shimmer}@keyframes subtle-shimmer{0%,to{background:linear-gradient(135deg,rgba(159,134,192,.3) 0%,rgba(190,149,196,.2) 50%,rgba(159,134,192,.3) 100%)}50%{background:linear-gradient(135deg,rgba(190,149,196,.4) 0%,rgba(224,177,203,.3) 50%,rgba(190,149,196,.4) 100%)}}.cauldron--success{box-shadow:rgba(0,0,0,.56) 0px 22px 70px 4px,0 0 50px var(--color-lilac),0 0 100px var(--color-pink-lavender),0 0 150px var(--color-african-violet);animation:1.5s ease-in-out infinite success-celebration;transform:scale(1.05)}.cauldron--success .cauldron-liquid{background:linear-gradient(45deg,var(--color-lilac)0%,var(--color-pink-lavender)25%,var(--color-african-violet)50%,var(--color-pink-lavender)75%,var(--color-lilac)100%);box-shadow:inset 0 0 30px rgba(255,255,255,.3),0 0 40px var(--color-lilac);background-size:300% 300%;animation:2s ease-in-out infinite success-rainbow}@keyframes success-celebration{0%,to{box-shadow:rgba(0,0,0,.56) 0px 22px 70px 4px,0 0 50px var(--color-lilac),0 0 100px var(--color-pink-lavender),0 0 150px var(--color-african-violet);transform:scale(1.05)}25%{box-shadow:rgba(0,0,0,.56) 0px 22px 70px 4px,0 0 80px var(--color-pink-lavender),0 0 120px var(--color-lilac),0 0 180px var(--color-african-violet);transform:scale(1.08)rotate(1deg)}50%{box-shadow:rgba(0,0,0,.56) 0px 22px 70px 4px,0 0 60px var(--color-african-violet),0 0 110px var(--color-pink-lavender),0 0 160px var(--color-lilac);transform:scale(1.05)rotate(-1deg)}75%{box-shadow:rgba(0,0,0,.56) 0px 22px 70px 4px,0 0 70px var(--color-lilac),0 0 130px var(--color-african-violet),0 0 190px var(--color-pink-lavender);transform:scale(1.08)rotate(1deg)}}@keyframes success-rainbow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.cauldron__sparkles{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.cauldron__sparkle{background:var(--color-isabelline);width:6px;height:6px;box-shadow:0 0 10px var(--color-isabelline),0 0 20px var(--color-lilac),0 0 30px var(--color-pink-lavender);border-radius:50%;animation:1.5s ease-in-out infinite sparkle-burst;position:absolute}.cauldron__sparkle:first-child{animation-delay:0s;top:20%;left:15%}.cauldron__sparkle:nth-child(2){animation-delay:.3s;top:30%;left:80%}.cauldron__sparkle:nth-child(3){animation-delay:.6s;top:60%;left:25%}.cauldron__sparkle:nth-child(4){animation-delay:.9s;top:40%;left:70%}.cauldron__sparkle:nth-child(5){animation-delay:1.2s;top:70%;left:60%}.cauldron__sparkle:nth-child(6){animation-delay:1.5s;top:25%;left:50%}.cauldron__sparkle:nth-child(7){animation-delay:1.8s;top:50%;left:10%}.cauldron__sparkle:nth-child(8){animation-delay:2.1s;top:80%;left:40%}.cauldron__sparkle:nth-child(9){animation-delay:.4s;top:15%;left:35%}.cauldron__sparkle:nth-child(10){animation-delay:.7s;top:65%;left:85%}.cauldron__sparkle:nth-child(11){animation-delay:1.1s;top:35%;left:45%}.cauldron__sparkle:nth-child(12){animation-delay:1.4s;top:75%;left:20%}@keyframes sparkle-burst{0%,to{opacity:0;transform:scale(.3)rotate(0)}25%{opacity:.8;transform:scale(1.5)rotate(90deg)}50%{opacity:1;transform:scale(2)rotate(180deg)}75%{opacity:.8;transform:scale(1.5)rotate(270deg)}}.cauldron--failed{border:3px solid rgba(255,0,0,.7);transform:scale(.95);box-shadow:0 22px 70px 4px rgba(0,0,0,.56),0 0 40px rgba(255,0,0,.8),0 0 80px #000,0 0 120px rgba(255,0,0,.6)}.cauldron--failed .cauldron-liquid{background:linear-gradient(135deg,rgba(0,0,0,.9) 0%,rgba(100,0,0,.7) 25%,rgba(0,0,0,.9) 50%,rgba(50,0,0,.8) 75%,rgba(0,0,0,.9) 100%);box-shadow:inset 0 0 40px rgba(255,0,0,.3),0 0 30px rgba(0,0,0,.8)}.cauldron__darkness{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.cauldron__dark-cloud{background:radial-gradient(circle,rgba(0,0,0,.6) 0%,rgba(100,0,0,.3) 60%,rgba(0,0,0,.2) 80%,transparent 100%);border-radius:50%;width:150%;height:150%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
.ingredients{border-radius:var(--spell-border-radius);box-shadow:var(--spell-box-shadow);background:rgba(94,84,142,.2)}.ingredients-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;padding:1rem;display:grid}@media (min-width:768px){.ingredients-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;padding:1.6rem}}.ingredients__ingredient{background:linear-gradient(180deg,var(--color-isabelline)0%,var(--color-rose-quartz)100%);border-radius:var(--spell-border-radius);box-shadow:var(--spell-box-shadow);cursor:grab;text-align:center;min-height:104px;padding:.75rem;transition:all .3s;position:relative;overflow:hidden}@media (min-width:768px){.ingredients__ingredient{padding:1rem}}.ingredients__ingredient:hover{border-color:var(--color-lilac);transform:translateY(-2px)}.ingredients__ingredient:active{cursor:grabbing}.ingredients__ingredient--unavailable{opacity:.3;cursor:not-allowed}.ingredients__ingredient--unavailable:hover{box-shadow:var(--spell-box-shadow);transform:none}.ingredients__ingredient--in-cauldron{opacity:.5;cursor:not-allowed}.ingredients__ingredient-name{color:var(--ingredient-color);margin-bottom:.25rem;display:block}.ingredients__ingredient-desc{color:var(--color-russian-violet);font-size:1rem;display:block}
.ingredient-tooltip{background:linear-gradient(135deg,var(--color-ultra-violet)0%,var(--color-african-violet)100%);border-radius:var(--spell-border-radius);box-shadow:var(--spell-box-shadow);color:var(--color-isabelline);width:100%;min-height:120px;padding:1rem;font-size:1.4rem;line-height:1.2}.ingredient-tooltip__title{color:var(--color-isabelline);margin:0 0 .25rem;font-size:1.4rem}.ingredient-tooltip__context{color:var(--color-isabelline)}.ingredient-tooltip p:last-child{margin-bottom:0}.ingredient-tooltip--brewing{background:linear-gradient(135deg,var(--color-african-violet)0%,var(--color-lilac)50%,var(--color-pink-lavender)100%);border:2px solid var(--color-lilac);animation:2s ease-in-out infinite alternate tooltip-brewing-glow}.brewing-text{animation:1.5s ease-in-out infinite brewing-pulse;display:inline-block}.brewing-indicator{justify-content:center;gap:.5rem;margin-top:1rem;display:flex}.brewing-dot{background:var(--color-isabelline);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite brewing-dot-bounce}.brewing-dot:first-child{animation-delay:0s}.brewing-dot:nth-child(2){animation-delay:.2s}.brewing-dot:nth-child(3){animation-delay:.4s}@keyframes tooltip-brewing-glow{0%{box-shadow:var(--spell-box-shadow),0 0 20px rgba(190,149,196,.5)}to{box-shadow:var(--spell-box-shadow),0 0 30px rgba(224,177,203,.8),0 0 40px rgba(190,149,196,.6)}}@keyframes brewing-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes brewing-dot-bounce{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}
.spell-cauldron{grid-template-columns:1fr;gap:1.5rem;max-width:1400px;margin:0 auto;padding:0;display:grid}@media (min-width:768px){.spell-cauldron{gap:2rem;padding:1rem}}@media (min-width:1024px){.spell-cauldron{grid-template-columns:1fr 1fr;padding:2rem}}.spell-cauldron__cauldron-area{flex-direction:column;align-items:center;gap:1rem;display:flex}@media (min-width:768px){.spell-cauldron__cauldron-area{gap:2rem}}.spell-cauldron__reset-button{background:linear-gradient(180deg,var(--color-isabelline)0%,var(--color-rose-quartz)100%);border-radius:var(--spell-border-radius);box-shadow:var(--spell-box-shadow);color:var(--color-russian-violet);cursor:pointer;border:none;padding:.75rem 1.25rem;font-family:Grenze Gotisch,serif;font-size:1rem;transition:all .3s}@media (min-width:768px){.spell-cauldron__reset-button{padding:.75rem 1.5rem;font-size:1.2rem}}.spell-cauldron__reset-button:hover{background:linear-gradient(135deg,var(--color-african-violet),var(--color-lilac));transform:translateY(-2px)}
