:root{--bg-primary:#0f0a1a;--bg-secondary:#1a1230;--bg-tertiary:#251c3d;--accent-gold:gold;--accent-amber:#ffb347;--accent-purple:#b088f9;--accent-teal:#4ecdc4;--accent-coral:#ff6b6b;--accent-green:#51cf66;--text-primary:#f0e6ff;--text-secondary:#a08cc0;--cauldron-glow:#7c3aed}.particle-canvas{pointer-events:none;z-index:100;position:fixed;inset:0}.forge-screen{width:100%;height:100%;color:var(--text-primary);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.forge-screen:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 20%,#7c3aed26 0%,#0000 50%),radial-gradient(at 80% 20%,#4ecdc41a 0%,#0000 50%),radial-gradient(at 40% 80%,#ff6b6b14 0%,#0000 50%),radial-gradient(at 70% 60%,#b088f91f 0%,#0000 40%);width:200%;height:200%;animation:20s ease-in-out infinite meshDrift;position:absolute;inset:-50%}@keyframes meshDrift{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(-3%,2%)rotate(1deg)}50%{transform:translate(2%,-3%)rotate(-.5deg)}75%{transform:translate(-1%,1%)rotate(.5deg)}}.stars-bg{pointer-events:none;z-index:0;position:absolute;inset:0}.star{background:#fff;border-radius:50%;animation:3s ease-in-out infinite twinkle;position:absolute}@keyframes twinkle{0%,to{opacity:.15}50%{opacity:.7}}.menu-screen{background:radial-gradient(ellipse at 50% 30%, #1e1440 0%, var(--bg-primary) 70%);gap:8px;padding:24px}.title{text-align:center;letter-spacing:4px;z-index:1;background:linear-gradient(#d4a844 0%,#fff1b8 18%,#c8922a 30%,#ffeaa7 45%,#d4a844 55%,#8b6914 70%,#c8922a 85%,gold 100%) 0 0/100% 200%;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 8px #000000b3)drop-shadow(0 0 30px #ffb40040)drop-shadow(0 0 60px #ff640026);-webkit-background-clip:text;background-clip:text;margin-bottom:4px;font-size:clamp(52px,12vw,90px);font-weight:800;line-height:1.05;animation:4s ease-in-out infinite metalShine;position:relative}.title:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 40%,#ffffff26 45%,#ffffff40 50%,#ffffff26 55%,#0000 60%);width:200%;height:100%;animation:5s ease-in-out infinite shineSwipe;position:absolute;top:0;left:-50%}@keyframes metalShine{0%,to{filter:drop-shadow(0 4px 8px #000000b3)drop-shadow(0 0 30px #ffb40040)drop-shadow(0 0 60px #ff640026);background-position:0 0}50%{filter:drop-shadow(0 4px 8px #000000b3)drop-shadow(0 0 40px #ffb40066)drop-shadow(0 0 80px #ff640040);background-position:0 40%}}@keyframes shineSwipe{0%,75%{transform:translate(-100%)}to{transform:translate(100%)}}.title-anvil{text-align:center;letter-spacing:12px;z-index:1;opacity:.6;margin-bottom:4px;font-size:28px;animation:3s ease-in-out infinite anvilBounce;display:block}@keyframes anvilBounce{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:.8;transform:translateY(-3px)}}.subtitle{color:var(--text-secondary);text-align:center;z-index:1;margin-bottom:16px;font-size:clamp(14px,3vw,20px)}.grade-selector{z-index:1;gap:8px;margin-bottom:20px;display:flex}.grade-btn{color:var(--text-secondary);cursor:pointer;background:#251c3d99;border:2px solid #b088f94d;border-radius:24px;padding:10px 20px;font-family:inherit;font-size:16px;font-weight:700;transition:all .25s}.grade-btn:hover{border-color:var(--accent-purple);color:var(--text-primary);background:#b088f926}.grade-btn.active{border-color:var(--accent-gold);color:var(--accent-gold);background:#ffd7001f;box-shadow:0 0 16px #ffd70040}.btn{cursor:pointer;z-index:1;border:none;border-radius:16px;padding:16px 52px;font-family:inherit;font-size:22px;font-weight:700;transition:all .2s}.btn:hover{filter:brightness(1.12);transform:translateY(-3px)}.btn:active{transform:translateY(0)}.btn-play{background:linear-gradient(135deg, var(--accent-gold), #ff8c42);color:#1a0e2e;margin-top:4px;box-shadow:0 4px 24px #ffd70066}.btn-menu{color:var(--text-secondary);border:2px solid var(--text-secondary);background:0 0;padding:12px 36px;font-size:18px}.btn-menu:hover{color:var(--text-primary);border-color:var(--text-primary)}.menu-stats{z-index:1;gap:24px;margin-top:12px;display:flex}.menu-stat{text-align:center;color:var(--text-secondary);font-size:14px}.menu-stat-value{color:var(--accent-gold);font-size:20px;font-weight:700;display:block}.game-screen{background:radial-gradient(ellipse at 50% 0%, #7c3aed1f 0%, transparent 60%), radial-gradient(ellipse at 30% 100%, #4ecdc40f 0%, transparent 50%), linear-gradient(180deg, var(--bg-primary) 0%, var(--bg-secondary) 40%, var(--bg-primary) 100%);justify-content:flex-start;gap:4px;padding:8px 12px 0;overflow:hidden}.hud{background:#0006;border:1px solid #b088f91a;border-radius:12px;flex-shrink:0;justify-content:space-between;align-items:center;gap:4px;width:100%;max-width:640px;padding:8px 12px;display:flex}.hud-item{flex-direction:column;align-items:center;gap:1px;display:flex}.hud-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1.5px;font-size:10px}.hud-value{color:var(--accent-gold);font-size:22px;font-weight:800}.hud-lives{letter-spacing:2px;font-size:20px}.hud-player-level{position:relative}.player-level-badge{border:2px solid var(--accent-gold);width:32px;height:32px;color:var(--accent-gold);background:#ffd7001a;border-radius:50%;justify-content:center;align-items:center;font-size:16px;font-weight:800;display:flex;box-shadow:0 0 8px #ffd70040}.rank-name{color:var(--accent-gold);text-transform:uppercase;letter-spacing:.5px;opacity:.8;font-size:8px}.help-btn{cursor:pointer;background:#ffffff14;border:1px solid #b088f933;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:16px;transition:all .2s;display:flex}.help-btn:hover{border-color:var(--accent-purple);background:#b088f926}.combo-display{color:var(--accent-gold);text-shadow:0 0 8px #ffd70099,0 0 16px #ff640066;will-change:filter;font-size:18px;font-weight:800;animation:.8s ease-in-out infinite fireGlow}@keyframes fireGlow{0%,to{filter:brightness()drop-shadow(0 0 4px #ffd70080)}50%{filter:brightness(1.3)drop-shadow(0 0 10px #ff6400b3)}}.xp-bar-wrap{flex-shrink:0;width:100%;max-width:640px;margin:4px 0 0}.xp-bar-track{background:#0006;border:1px solid #b088f914;border-radius:3px;height:6px;overflow:hidden}.xp-bar-fill{background:linear-gradient(90deg, var(--accent-gold), var(--accent-amber));border-radius:3px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1);box-shadow:0 0 8px #ffd70066}.xp-label{color:var(--text-secondary);text-align:right;margin-top:1px;font-size:10px}.timer-bar{flex-shrink:0;align-items:center;gap:8px;width:100%;max-width:640px;margin:4px 0 0;display:flex}.timer-track{background:#00000080;border:1px solid #b088f91a;border-radius:4px;flex:1;height:8px;overflow:hidden}.timer-fill{border-radius:4px;width:100%;height:100%;transition:background-color .3s}.timer-green{background:linear-gradient(90deg,#51cf66,#40c057);box-shadow:0 0 6px #51cf664d}.timer-yellow{background:linear-gradient(90deg,gold,#ffb347);box-shadow:0 0 6px #ffd70066}.timer-red{background:linear-gradient(90deg,#ff6b6b,#e03131);box-shadow:0 0 8px #ff6b6b80}.timer-label{color:var(--text-secondary);text-align:right;min-width:28px;font-size:12px;font-weight:700}.timer-warning .timer-fill{animation:.5s ease-in-out infinite timerPulse}@keyframes timerPulse{0%,to{opacity:1}50%{opacity:.5}}.volume-btn{cursor:pointer;background:#ffffff14;border:1px solid #b088f933;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:16px;transition:all .2s;display:flex}.volume-btn:hover{border-color:var(--accent-purple);background:#b088f926}.difficulty-stars{color:var(--accent-gold);letter-spacing:1px;vertical-align:middle;margin-left:8px;font-size:12px;display:inline-block}.difficulty-stars .star-empty{color:#ffd70033}.prev-best{opacity:.6;margin-left:4px;font-size:11px;font-weight:400}.prev-best.up{color:var(--accent-green)}.prev-best.down{color:var(--accent-coral)}.tier-flash-container{z-index:30;pointer-events:none;position:absolute;top:5%;left:50%;transform:translate(-50%)}.tier-flash{letter-spacing:3px;text-transform:uppercase;font-size:36px;font-weight:800;animation:1.2s cubic-bezier(.34,1.56,.64,1) forwards tierFlashAnim}.tier-flash-gold{color:var(--accent-gold);text-shadow:0 0 20px #ffd700cc,0 0 40px #ffd70066,0 0 60px #ff8c004d}.tier-flash-silver{color:#e0e0e0;text-shadow:0 0 16px #c0c0c0b3,0 0 32px #c0c0c04d}.tier-flash-bronze{color:#cd7f32;text-shadow:0 0 12px #cd7f3299,0 0 24px #cd7f324d}@keyframes tierFlashAnim{0%{opacity:0;transform:scale(.3)}20%{opacity:1;transform:scale(1.3)}40%{opacity:1;transform:scale(1)}70%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.1)translateY(-20px)}}.forge-area{flex-shrink:2;justify-content:center;align-items:center;width:100%;min-height:40px;max-height:18vh;display:flex;position:relative}.cauldron-canvas{image-rendering:auto;max-width:100%;max-height:100%}.recipe-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#251c3dcc;border:1px solid #b088f94d;border-radius:16px;flex-shrink:1;width:100%;max-width:560px;padding:10px 18px;transition:border-color .5s;position:relative;overflow:hidden;box-shadow:0 4px 24px #0000004d,inset 0 1px #ffffff0d}.recipe-card:before{content:"";pointer-events:none;z-index:0;background-image:repeating-linear-gradient(0deg,#ffffff04 0,#0000 1px 3px),repeating-linear-gradient(90deg,#ffffff03 0,#0000 1px 4px);border-radius:16px;position:absolute;inset:0}.recipe-card:after{content:"";background:conic-gradient(from var(--card-border-angle,0deg), #b088f966, #4ecdc44d, #ffd70033, #ff6b6b33, #b088f966);z-index:-1;opacity:.6;border-radius:17px;animation:8s linear infinite cardBorderRotate;position:absolute;inset:-1px}@keyframes cardBorderRotate{to{--card-border-angle:360deg}}@property --card-border-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.card-enter{animation:.4s cubic-bezier(.34,1.56,.64,1) cardSlideIn}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.recipe-header{text-align:center;margin-bottom:6px}.recipe-item-name{color:var(--accent-gold);text-shadow:0 0 12px #ffd7004d;font-size:clamp(16px,3vh,22px);font-weight:800}.recipe-item-emoji{margin-right:6px;font-size:26px}.recipe-ingredients{flex-wrap:wrap;justify-content:center;gap:28px;margin-bottom:8px;display:flex}.ingredient{flex-direction:column;align-items:center;gap:3px;animation:3.5s ease-in-out infinite ingredientFloat;display:flex}.ingredient-1{animation-delay:.6s}.ingredient-2{animation-delay:1.2s}@keyframes ingredientFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.ingredient-icon{filter:drop-shadow(0 2px 6px #0000004d);font-size:clamp(22px,4vh,34px)}.ingredient-fraction{flex-direction:column;align-items:center;font-size:clamp(14px,2.5vh,20px);font-weight:700;display:flex}.frac-num,.frac-den{color:var(--text-primary)}.frac-line{background:var(--accent-purple);border-radius:1px;width:28px;height:2px;margin:1px 0}.ingredient-name{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:10px}.recipe-question{text-align:center;color:var(--text-primary);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;font-size:clamp(16px,3vh,22px);font-weight:700;display:flex}.frac-inline{color:var(--accent-teal)}.op{font-size:24px;font-weight:800;transition:color .3s}.op-add{color:#4ecdc4;text-shadow:0 0 8px #4ecdc480}.op-subtract{color:#ff6b6b;text-shadow:0 0 8px #ff6b6b80}.op-multiply{color:gold;text-shadow:0 0 8px #ffd70080}.op-mixed{color:#b088f9;text-shadow:0 0 8px #b088f980}.target-q{border:2px dashed var(--accent-gold);width:clamp(36px,6vh,50px);height:clamp(36px,6vh,50px);color:var(--accent-gold);background:#ffd7001a;border-radius:12px;justify-content:center;align-items:center;font-size:clamp(20px,3.5vh,28px);animation:1.5s ease-in-out infinite targetPulse;display:inline-flex}@keyframes targetPulse{0%,to{box-shadow:0 0 #ffd70000}50%{box-shadow:0 0 12px #ffd7004d}}.choices{flex-shrink:1;grid-template-columns:repeat(2,1fr);gap:10px;width:100%;max-width:440px;min-height:0;margin:6px 0;display:grid}.choice-btn{cursor:pointer;color:var(--text-primary);background:#251c3da6;border:2px solid #b088f940;border-radius:16px;outline:none;padding:clamp(8px,1.5vh,14px);font-family:inherit;transition:all .25s;position:relative;overflow:hidden}.choice-btn:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff14,#0000);width:100%;height:100%;transition:transform .5s;position:absolute;top:0;left:0;transform:translate(-100%)}.choice-btn:hover:not(:disabled):before{transform:translate(100%)}.choice-btn:hover:not(:disabled){border-color:var(--accent-purple);background:#b088f92e;transform:translateY(-3px);box-shadow:0 4px 16px #b088f933,inset 0 0 20px #b088f90f}.choice-btn:active:not(:disabled){transform:translateY(0)}.choice-btn:focus-visible,.btn:focus-visible,.grade-btn:focus-visible,.combine-btn:focus-visible,.help-btn:focus-visible,.volume-btn:focus-visible,.time-attack-btn:focus-visible{border-color:var(--accent-teal);outline:none;box-shadow:0 0 0 3px #4ecdc466,0 4px 16px #4ecdc426}.choice-frac{flex-direction:column;align-items:center;font-size:clamp(18px,3.5vh,26px);font-weight:700;display:flex}.choice-frac.choice-whole{justify-content:center;min-height:36px;font-size:clamp(22px,4vh,32px)}.choice-correct{border-color:var(--accent-green)!important;background:#51cf6640!important;box-shadow:0 0 16px #51cf664d!important}.choice-wrong.choice-selected{animation:.4s ease-out shake;border-color:var(--accent-coral)!important;background:#ff6b6b40!important}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.feedback-overlay{z-index:50;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.feedback-text{text-align:center;white-space:nowrap;border-radius:14px;padding:10px 28px;font-size:22px;font-weight:800;animation:.35s cubic-bezier(.34,1.56,.64,1) feedbackIn}.feedback-success{color:var(--accent-green);text-shadow:0 0 12px #51cf6680}.feedback-fail{color:var(--accent-coral);text-shadow:0 0 8px #ff6b6b66}.feedback-levelup{color:var(--accent-gold);text-shadow:0 0 16px #ffd70099;font-size:32px}.feedback-combo{color:var(--accent-gold);animation:.35s cubic-bezier(.34,1.56,.64,1) feedbackIn,.6s ease-in-out infinite fireGlow}@keyframes feedbackIn{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.shelf-header{flex-shrink:0;justify-content:flex-end;width:100%;max-width:640px;padding:4px 4px 0;display:flex}.combine-btn{color:var(--accent-purple);cursor:pointer;background:#b088f91f;border:1px solid #b088f94d;border-radius:20px;padding:5px 14px;font-family:inherit;font-size:12px;font-weight:700;transition:all .25s}.combine-btn:hover:not(:disabled){border-color:var(--accent-purple);background:#b088f933}.combine-btn:disabled{opacity:.35;cursor:default}.combine-btn.active{border-color:var(--accent-purple);background:#b088f940;animation:1.5s ease-in-out infinite combinePulse;box-shadow:0 0 12px #b088f94d}@keyframes combinePulse{0%,to{box-shadow:0 0 12px #b088f94d}50%{box-shadow:0 0 20px #b088f980}}.potion-shelf{scrollbar-width:thin;scrollbar-color:#b088f94d transparent;background:#00000059;border-top:1px solid #b088f926;border-radius:12px 12px 0 0;flex-shrink:0;align-items:center;gap:10px;width:100%;max-width:640px;height:clamp(64px,12vh,100px);min-height:60px;padding:6px 12px;display:flex;overflow:auto hidden}.potion-shelf::-webkit-scrollbar{height:4px}.potion-shelf::-webkit-scrollbar-thumb{background:#b088f94d;border-radius:4px}.shelf-empty{color:var(--text-secondary);opacity:.6;white-space:nowrap;font-size:13px}.potion-bottle{flex-direction:column;flex-shrink:0;align-items:center;animation:.4s cubic-bezier(.34,1.56,.64,1) popIn;display:flex}@keyframes popIn{0%{opacity:0;transform:scale(0)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.potion-bottle.clickable{cursor:pointer;transition:transform .2s}.potion-bottle.clickable:hover{transform:scale(1.15)}.potion-bottle.clickable:hover .potion-body{box-shadow:inset 0 -4px 8px #0003,0 2px 6px #0000004d,0 0 14px #b088f973}.potion-bottle.selected{position:relative;transform:scale(1.2)translateY(-4px)}.potion-bottle.selected .potion-body{box-shadow:inset 0 -4px 8px #0003,0 0 16px #b088f999,0 0 32px #b088f94d}.potion-bottle.selected:before{content:"✓";background:var(--accent-purple);color:#fff;z-index:5;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-6px;right:-4px}.potion-bottle[data-element=fire]{border-left:2px solid #ff6b3580;padding-left:3px}.potion-bottle[data-element=water]{border-left:2px solid #00bfff80;padding-left:3px}.potion-bottle[data-element=earth]{border-left:2px solid #51cf6680;padding-left:3px}.potion-bottle[data-element=air]{border-left:2px solid #b088f980;padding-left:3px}.fusion-potion .potion-body{box-shadow:inset 0 -4px 8px #0003,0 2px 6px #0000004d,0 0 10px #b088f966}.potion-vial{width:38px;height:56px;position:relative}.potion-neck{background:linear-gradient(#dcc8fa99,#b4a0dc66);border:1px solid #fff3;border-radius:3px 3px 0 0;width:14px;height:12px;margin:0 auto}.potion-body{background:linear-gradient(180deg, hsla(var(--potion-hue,200), 80%, 60%, .9), hsla(var(--potion-hue,200), 70%, 40%, .95));border:1px solid #ffffff2e;border-radius:5px 5px 14px 14px;width:38px;height:42px;transition:box-shadow .2s;position:relative;overflow:hidden;box-shadow:inset 0 -6px 10px #00000040,0 3px 8px #00000059}.potion-liquid{background:linear-gradient(180deg, hsla(var(--potion-hue,200), 85%, 65%, .5) 0%, hsla(var(--potion-hue,200), 80%, 55%, .8) 50%, hsla(var(--potion-hue,200), 70%, 40%, .9) 100%);border-radius:0 0 13px 13px;height:75%;animation:3s ease-in-out infinite liquidWobble;position:absolute;bottom:0;left:0;right:0}@keyframes liquidWobble{0%,to{height:73%}50%{height:78%}}.potion-shine{background:#ffffff4d;border-radius:50%;width:8px;height:12px;position:absolute;top:4px;left:4px}.potion-label{color:var(--text-secondary);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:48px;margin-top:2px;font-size:9px;overflow:hidden}.potion-tier{z-index:2;border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;right:-4px}.tier-gold{background:var(--accent-gold);box-shadow:0 0 8px #ffd700b3}.tier-silver{background:silver;box-shadow:0 0 5px #c0c0c080}.tier-bronze{background:#cd7f32;box-shadow:0 0 3px #cd7f3266}.potion-detail{z-index:150;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#251c3deb;border:1px solid #b088f94d;border-radius:14px;min-width:180px;max-width:260px;padding:16px 18px;animation:.25s cubic-bezier(.34,1.56,.64,1) popupIn;position:fixed;box-shadow:0 8px 32px #00000080}.potion-detail h3{color:var(--accent-gold);text-shadow:0 0 8px #ffd7004d;margin:0 0 6px;font-size:18px;font-weight:800}.potion-detail .detail-tier{text-transform:uppercase;border-radius:10px;margin-bottom:8px;padding:2px 12px;font-size:11px;font-weight:700;display:inline-block}.detail-tier.gold{color:var(--accent-gold);background:#ffd70026}.detail-tier.silver{color:silver;background:#c0c0c026}.detail-tier.bronze{color:#cd7f32;background:#cd7f3226}.detail-fusion{color:var(--accent-purple);background:#b088f933;border-radius:10px;margin-bottom:8px;margin-right:6px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.potion-detail .detail-recipe{color:var(--text-primary);border-top:1px solid #b088f91a;margin-top:6px;padding:6px 0;font-size:16px;font-weight:600}.potion-detail .detail-color-bar{opacity:.6;border-radius:2px;height:4px;margin-top:8px}.detail-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:4px;font-size:20px;line-height:1;position:absolute;top:6px;right:10px}.detail-close:hover{color:var(--text-primary)}@keyframes popupIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.combine-overlay{z-index:180;background:#000c;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.combine-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#251c3df2;border:1px solid #b088f959;border-radius:20px;width:90%;max-width:460px;padding:28px 32px;animation:.4s cubic-bezier(.34,1.56,.64,1) slideUp;box-shadow:0 16px 64px #0009,0 0 40px #b088f926}.combine-title{text-align:center;background:linear-gradient(135deg, var(--accent-purple), var(--accent-teal));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:20px;font-size:26px;font-weight:800}.combine-potions{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-bottom:16px;display:flex}.combine-potion{flex-direction:column;align-items:center;gap:4px;display:flex}.combine-vial{width:44px;height:64px}.combine-vial .potion-neck{width:16px;height:14px}.combine-vial .potion-body{border-radius:6px 6px 16px 16px;width:44px;height:48px}.combine-potion-name{color:var(--accent-gold);font-size:12px;font-weight:700}.combine-potion-frac{color:var(--accent-teal);font-size:16px;font-weight:700}.combine-op{color:var(--accent-purple);font-size:28px;font-weight:800}.combine-q{border:2px dashed var(--accent-gold);width:44px;height:44px;color:var(--accent-gold);background:#ffd7001a;border-radius:10px;justify-content:center;align-items:center;font-size:24px;font-weight:800;animation:1.5s ease-in-out infinite targetPulse;display:inline-flex}.combine-hint{text-align:center;color:var(--text-secondary);margin-bottom:16px;font-size:14px}.combine-hint strong{color:var(--accent-purple)}.combine-choices{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.tutorial-overlay{z-index:200;background:#000000bf;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.tutorial-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#251c3df2;border:1px solid #b088f94d;border-radius:20px;width:90%;max-width:400px;padding:32px;animation:.4s cubic-bezier(.34,1.56,.64,1) slideUp;box-shadow:0 16px 48px #00000080}.tutorial-card h2{background:linear-gradient(135deg, var(--accent-gold), #ff8c42);-webkit-text-fill-color:transparent;text-align:center;-webkit-background-clip:text;background-clip:text;margin-bottom:20px;font-size:28px;font-weight:800}.tutorial-step{color:var(--text-primary);align-items:flex-start;gap:14px;margin:14px 0;font-size:15px;line-height:1.4;display:flex}.step-icon{flex-shrink:0;font-size:28px}.tutorial-start-btn{background:linear-gradient(135deg, var(--accent-gold), #ff8c42);color:#1a0e2e;cursor:pointer;border:none;border-radius:14px;width:100%;margin-top:24px;padding:14px;font-family:inherit;font-size:20px;font-weight:700;transition:all .2s;display:block}.tutorial-start-btn:hover{filter:brightness(1.1);transform:translateY(-2px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.potion-celebration{z-index:160;pointer-events:none;animation:.5s cubic-bezier(.34,1.56,.64,1) forwards celebrationIn,.3s ease-in 1s forwards celebrationOut;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.potion-celebration-inner{flex-direction:column;align-items:center;gap:8px;display:flex}.celebration-potion{width:70px;height:100px;animation:.6s ease-in-out .3s potionBounce;position:relative}.celebration-potion .potion-vial{width:70px;height:100px}.celebration-potion .potion-neck{width:24px;height:18px;margin:0 auto}.celebration-potion .potion-body{border-radius:10px 10px 24px 24px;width:70px;height:76px}.celebration-name{color:var(--accent-gold);text-shadow:0 0 20px #ffd70099,0 2px 4px #00000080;text-align:center;font-size:24px;font-weight:800;animation:1.5s ease-in-out infinite nameGlow}.celebration-tier{text-transform:uppercase;letter-spacing:2px;border-radius:20px;padding:4px 16px;font-size:16px;font-weight:700}.celebration-tier.gold{color:var(--accent-gold);text-shadow:0 0 10px #ffd70080;background:linear-gradient(135deg,#ffd7004d,#ff8c424d);border:1px solid #ffd70080}.celebration-tier.silver{color:#e0e0e0;background:#c0c0c033;border:1px solid #c0c0c066}.celebration-tier.bronze{color:#cd7f32;background:#cd7f3233;border:1px solid #cd7f3266}.celebration-flash{pointer-events:none;z-index:155;animation:.6s ease-out forwards screenFlash;position:fixed;inset:0}@keyframes celebrationIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)}60%{opacity:1;transform:translate(-50%,-50%)scale(1.1)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes celebrationOut{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.8)translateY(-30px)}}@keyframes potionBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes nameGlow{0%,to{text-shadow:0 0 20px #ffd70099,0 2px 4px #00000080}50%{text-shadow:0 0 30px #ffd700e6,0 0 50px #ff8c0066,0 2px 4px #00000080}}@keyframes screenFlash{0%{background:radial-gradient(circle,#ffd7004d,#0000 70%)}to{background:0 0}}.screen-ripple{pointer-events:none;z-index:95;border:2px solid;border-radius:50%;animation:.8s ease-out forwards rippleExpand;position:fixed}@keyframes rippleExpand{0%{opacity:.6;transform:translate(-50%,-50%)scale(0)}to{opacity:0;transform:translate(-50%,-50%)scale(1)}}.gameover-screen .stat{opacity:0;animation:.5s ease-out forwards statReveal;transform:translateY(12px)}.gameover-screen .stat:first-child{animation-delay:.1s}.gameover-screen .stat:nth-child(2){animation-delay:.2s}.gameover-screen .stat:nth-child(3){animation-delay:.3s}.gameover-screen .stat:nth-child(4){animation-delay:.4s}.gameover-screen .stat:nth-child(5){animation-delay:.5s}.gameover-screen .stat:nth-child(6){animation-delay:.6s}.gameover-screen .stat:nth-child(7){animation-delay:.7s}@keyframes statReveal{to{opacity:1;transform:translateY(0)}}.stat-value.gold{animation:2s ease-in-out infinite goldShimmer}@keyframes goldShimmer{0%,to{text-shadow:0 0 6px #ffd70066}50%{text-shadow:0 0 16px #ffd700cc,0 0 30px #ff8c004d}}.sparkle-ring{pointer-events:none;width:160px;height:160px;animation:3s linear infinite sparkleRingSpin;position:absolute;top:55%;left:50%;transform:translate(-50%,-50%)}.sparkle-dot{background:var(--accent-gold);border-radius:50%;width:4px;height:4px;animation:1s ease-in-out infinite sparklePulse;position:absolute;box-shadow:0 0 6px #ffd700cc,0 0 12px #ffd70066}@keyframes sparkleRingSpin{to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes sparklePulse{0%,to{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1.3)}}.celebration-name-typed{color:var(--accent-gold);text-shadow:0 0 20px #ffd70099,0 2px 4px #00000080;text-align:center;white-space:nowrap;border-right:2px solid var(--accent-gold);font-size:24px;font-weight:800;animation:.6s steps(20,end) forwards typewriter,.5s step-end 3 blinkCaret;overflow:hidden}@keyframes typewriter{0%{width:0}to{width:100%}}@keyframes blinkCaret{50%{border-color:#0000}}.rank-unlock-popup{z-index:170;pointer-events:none;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.rank-unlock-card{border:2px solid var(--accent-gold);text-align:center;background:#0f0a1aeb;border-radius:20px;max-width:340px;padding:24px 36px;animation:.6s cubic-bezier(.34,1.56,.64,1) forwards celebrationIn;box-shadow:0 0 40px #ffd7004d,0 16px 48px #0009}.rank-unlock-title{text-transform:uppercase;letter-spacing:3px;color:var(--accent-gold);opacity:.8;margin-bottom:6px;font-size:14px}.rank-unlock-name{background:linear-gradient(135deg, var(--accent-gold), #ff8c42);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:32px;font-weight:800}.rank-unlock-desc{color:var(--text-primary);font-size:16px;line-height:1.4}.time-attack-btn{color:#fff;cursor:pointer;z-index:1;background:linear-gradient(135deg,#ff4500,#ff6b35);border:2px solid #ff6b3580;border-radius:14px;padding:10px 24px;font-family:inherit;font-size:15px;font-weight:700;transition:all .25s;animation:2s ease-in-out infinite timeAttackPulse;box-shadow:0 4px 16px #ff45004d}.time-attack-btn:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 6px 24px #ff450080}@keyframes timeAttackPulse{0%,to{box-shadow:0 4px 16px #ff45004d}50%{box-shadow:0 4px 24px #ff450080,0 0 40px #ff450026}}.time-attack-hud{color:#ff6b35;background:#ff450026;border:1px solid #ff6b354d;border-radius:10px;align-items:center;gap:12px;padding:6px 14px;font-size:14px;font-weight:700;display:flex}.time-attack-label{text-transform:uppercase;letter-spacing:1px;color:var(--accent-coral);font-size:10px}.time-attack-score{color:var(--accent-gold);font-size:20px;font-weight:800}.time-attack-round{color:var(--text-secondary);font-size:13px}.time-attack-multiplier{color:#ff4500;text-shadow:0 0 8px #ff450080;font-size:16px;font-weight:800;animation:.8s ease-in-out infinite fireGlow}.time-attack-results{z-index:185;background:#000000d9;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.time-attack-results-card{text-align:center;background:#251c3df2;border:2px solid #ff6b3566;border-radius:20px;width:90%;max-width:400px;padding:32px;animation:.4s cubic-bezier(.34,1.56,.64,1) slideUp;box-shadow:0 16px 64px #0009,0 0 40px #ff45001a}.time-attack-results h2{background:linear-gradient(135deg, #ff4500, var(--accent-gold));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:16px;font-size:28px;font-weight:800}.ta-stat{border-bottom:1px solid #ffffff0d;justify-content:space-between;padding:8px 0;font-size:16px;display:flex}.ta-stat-label{color:var(--text-secondary)}.ta-stat-value{color:var(--accent-gold);font-weight:700}.ta-bonus{color:var(--accent-gold);text-shadow:0 0 12px #ffd70080;margin-top:12px;font-size:22px;font-weight:800}.ta-continue-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff4500,#ff6b35);border:none;border-radius:14px;margin-top:20px;padding:12px 36px;font-family:inherit;font-size:18px;font-weight:700;transition:all .2s}.ta-continue-btn:hover{filter:brightness(1.1);transform:translateY(-2px)}.ta-leaderboard{background:#0000004d;border:1px solid #b088f926;border-radius:12px;width:100%;margin-top:12px;overflow:hidden}.ta-lb-row{border-bottom:1px solid #ffffff0a;align-items:center;gap:12px;padding:8px 14px;font-size:14px;display:flex}.ta-lb-row:last-child{border-bottom:none}.ta-lb-first{background:#ffd7000f}.ta-lb-rank{color:var(--text-secondary);min-width:28px;font-weight:800}.ta-lb-first .ta-lb-rank{color:var(--accent-gold)}.ta-lb-score{color:var(--accent-gold);min-width:60px;font-size:16px;font-weight:700}.ta-lb-detail{color:var(--text-secondary);text-align:right;flex:1;font-size:12px}.ta-lb-empty{text-align:center;color:var(--text-secondary);opacity:.6;padding:12px;font-size:13px}.ta-lb-title{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-secondary);text-align:center;margin-top:16px;margin-bottom:4px;font-size:12px}.game-screen.time-attack-active .shelf-header,.game-screen.time-attack-active .potion-shelf,.game-screen.time-attack-active .hud-lives,.game-screen.time-attack-active .combine-btn{display:none}.ta-countdown{z-index:170;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ta-countdown-num{color:var(--accent-gold);text-shadow:0 0 40px #ffd70099,0 0 80px #ff64004d;font-size:120px;font-weight:800;animation:.8s cubic-bezier(.34,1.56,.64,1) forwards countdownPop}@keyframes countdownPop{0%{opacity:0;transform:scale(2)}30%{opacity:1;transform:scale(.9)}60%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.1)}}.lantern-container{z-index:1;justify-content:center;gap:60px;margin:8px 0 4px;display:flex}.lantern{width:24px;height:32px;position:relative}.lantern-body{background:linear-gradient(#503c28cc,#322319e6);border:1px solid #a0783c66;border-radius:4px 4px 8px 8px;width:24px;height:24px;position:absolute;bottom:0}.lantern-hook{border:2px solid #a0783c80;border-bottom:none;border-radius:4px 4px 0 0;width:8px;height:10px;position:absolute;top:0;left:8px}.lantern-flame{filter:blur(.5px);background:radial-gradient(at 50% 80%,gold 0%,#ff8c42 40%,#ff4500 70%,#0000 100%);border-radius:50%/60% 60% 40% 40%;width:10px;height:16px;animation:.5s ease-in-out infinite alternate flameFlicker;position:absolute;bottom:10px;left:50%;transform:translate(-50%);box-shadow:0 0 8px #ff8c0099,0 0 20px #ff45004d}.lantern:nth-child(2) .lantern-flame{animation-delay:.15s}.lantern:nth-child(3) .lantern-flame{animation-delay:.3s}@keyframes flameFlicker{0%{opacity:.9;transform:translate(-50%)scaleX(1)scaleY(1)}33%{opacity:1;transform:translate(-48%)scaleX(.9)scaleY(1.05)}66%{opacity:.85;transform:translate(-52%)scaleX(1.05)scaleY(.95)}to{opacity:.95;transform:translate(-50%)scaleX(.95)scaleY(1.08)}}.iris-overlay{z-index:9999;background:var(--bg-primary);pointer-events:all;position:fixed;inset:0}.iris-out{animation:irisClose var(--iris-duration,.5s) ease-in forwards}.iris-in{animation:irisOpen var(--iris-duration,.5s) ease-out forwards}@keyframes irisClose{0%{clip-path:circle(150% at var(--iris-cx,50%) var(--iris-cy,50%))}to{clip-path:circle(0% at var(--iris-cx,50%) var(--iris-cy,50%))}}@keyframes irisOpen{0%{clip-path:circle(0% at var(--iris-cx,50%) var(--iris-cy,50%))}to{clip-path:circle(150% at var(--iris-cx,50%) var(--iris-cy,50%))}}.screen-shake{animation:.3s ease-out screenShake}@keyframes screenShake{0%,to{transform:translate(0)}10%{transform:translate(-4px,2px)}30%{transform:translate(4px,-2px)}50%{transform:translate(-3px,1px)}70%{transform:translate(3px,-1px)}90%{transform:translate(-1px,1px)}}.gameover-screen{background:radial-gradient(ellipse at 50% 40%, #1e1440, var(--bg-primary) 70%);gap:8px;padding:24px;overflow-y:auto}.gameover-title{color:var(--accent-coral);z-index:1;font-size:clamp(36px,8vw,56px);font-weight:800}.new-highscore{color:var(--accent-gold);z-index:1;font-size:24px;font-weight:800;animation:1.2s ease-in-out infinite titlePulse}.gameover-encouragement{color:var(--text-secondary);z-index:1;font-size:16px;font-style:italic;animation:.5s .3s both fadeIn}.stats-panel{z-index:1;background:#00000059;border:1px solid #b088f933;border-radius:16px;min-width:300px;padding:18px 28px;box-shadow:0 0 20px #b088f914}.stat{border-bottom:1px solid #ffffff0a;justify-content:space-between;padding:7px 0;display:flex}.stat:last-child{border-bottom:none}.stat-label{color:var(--text-secondary);font-size:15px}.stat-value{font-size:18px;font-weight:700}.gold{color:var(--accent-gold)}.green{color:var(--accent-green)}.orange{color:#ff8c42}.cyan{color:var(--accent-teal)}.purple{color:var(--accent-purple)}.potion-gallery{z-index:1;scrollbar-width:thin;scrollbar-color:#b088f94d transparent;flex-wrap:wrap;justify-content:center;gap:10px;max-width:480px;max-height:180px;padding:8px;display:flex;overflow-y:auto}.potion-gallery-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;z-index:1;font-size:14px}@media (height<=700px){.forge-area{min-height:40px;max-height:14vh}.recipe-card{padding:8px 12px}.recipe-header{margin-bottom:4px}.recipe-ingredients{gap:16px;margin-bottom:6px}.ingredient-icon{font-size:26px}.choices{gap:6px;margin:4px 0}.choice-btn{padding:8px}.tier-flash{font-size:28px}.hud{padding:6px 10px}}@media (height<=600px){.forge-area{min-height:30px;max-height:10vh}.recipe-card{padding:6px 10px}.recipe-item-name{font-size:16px}.recipe-item-emoji{font-size:20px}.ingredient-icon{font-size:22px}.hud-value{font-size:18px}}@media (height<=550px){.forge-area{min-height:24px;max-height:8vh}.recipe-card{padding:4px 8px}.recipe-item-name,.ingredient-fraction{font-size:14px}.recipe-question{font-size:16px}.choice-frac{font-size:18px}.tier-flash{font-size:22px}.potion-vial{width:30px;height:44px}.potion-body{width:30px;height:32px}.potion-neck{width:12px;height:10px}}@media (width<=400px){.recipe-ingredients{gap:14px}.choice-frac{font-size:20px}.grade-btn{padding:8px 14px;font-size:14px}.combine-card{padding:20px 16px}.hud,.recipe-card,.choices,.potion-shelf,.shelf-header,.xp-bar-wrap,.timer-bar{max-width:100%}}@media (width>=800px){.recipe-card{max-width:620px;padding:18px 24px}.choices{max-width:500px}.potion-shelf,.shelf-header,.xp-bar-wrap,.timer-bar{max-width:700px}.stats-panel{min-width:340px}}@media (height>=900px){.forge-area{max-height:22vh}}.game-screen:after{content:"";pointer-events:none;z-index:0;background:0 0;transition:background .6s;position:absolute;inset:0}.game-screen.op-theme-add:after{background:radial-gradient(at 50% 30%,#4ecdc41f 0%,#0000 55%)}.game-screen.op-theme-add .recipe-card{border-color:#4ecdc459}.game-screen.op-theme-subtract:after{background:radial-gradient(at 50% 30%,#ff6b6b1f 0%,#0000 55%)}.game-screen.op-theme-subtract .recipe-card{border-color:#ff6b6b59}.game-screen.op-theme-multiply:after{background:radial-gradient(at 50% 30%,#ffd7001a 0%,#0000 55%)}.game-screen.op-theme-multiply .recipe-card{border-color:#ffd7004d}.game-screen.op-theme-mixed:after{background:radial-gradient(at 50% 30%,#b088f91f 0%,#0000 55%)}.game-screen.op-theme-mixed .recipe-card{border-color:#b088f959}.gameover-tips{z-index:1;width:100%;max-width:400px;margin:4px 0}.gameover-tip{border-left:3px solid var(--accent-gold);color:var(--text-primary);background:#ffd7000f;border-radius:0 10px 10px 0;align-items:flex-start;gap:8px;margin:6px 0;padding:8px 14px;font-size:14px;line-height:1.4;animation:.5s ease-out both statReveal;display:flex}.gameover-tip:first-child{animation-delay:.8s}.gameover-tip:nth-child(2){animation-delay:1s}.gameover-tip:nth-child(3){animation-delay:1.2s}.tip-icon{flex-shrink:0;font-size:18px}
