@import"https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Rajdhani:wght@300;400;600;700&display=swap";.app-container{width:100vw;height:100vh;position:relative;overflow:hidden}.sidebar{position:absolute;top:0;left:0;bottom:0;z-index:100}.header{position:relative;top:0;left:0;right:0;height:60px;z-index:50;background:#0a0818;border-bottom:1px solid #1a1530;display:flex;align-items:center;padding:0 24px}.loading-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000f2;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:9999}.loading-spinner{width:80px;height:80px;border:4px solid rgba(0,243,255,.1);border-top:4px solid #00f3ff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.loading-text{font-family:Orbitron,sans-serif;font-size:18px;color:#00f3ff;letter-spacing:2px}.error-banner{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#ff006ee6;color:#fff;padding:12px 24px;border-radius:8px;font-family:Rajdhani,sans-serif;font-size:14px;z-index:200;box-shadow:0 4px 12px #ff006e66;animation:slideDown .3s ease}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.hud-header{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:100;text-align:center}.logo{display:flex;align-items:center;justify-content:center;gap:12px}.logo-icon{font-size:48px;animation:pulse-icon 2s ease-in-out infinite}.logo-text{font-family:Orbitron,sans-serif;font-size:56px;font-weight:900;background:linear-gradient(135deg,#00f3ff,#9d4edd,#39ff14);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 30px rgba(0,243,255,.5);letter-spacing:8px}.subtitle{font-family:Rajdhani,sans-serif;font-size:18px;color:#00f3ff;letter-spacing:6px;margin-top:5px;text-transform:uppercase}.stats-panel{position:fixed;top:140px;right:30px;z-index:100;background:#0a0e27d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(0,243,255,.3);border-radius:16px;padding:20px;min-width:200px;box-shadow:0 8px 32px #0006}.stat-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.1)}.stat-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.stat-label{font-family:Rajdhani,sans-serif;font-size:14px;color:#aaa;text-transform:uppercase;letter-spacing:1px}.stat-value{font-family:Orbitron,sans-serif;font-size:24px;font-weight:700;color:#00f3ff}.stat-value.mastered{color:#4cc9f0;text-shadow:0 0 10px rgba(76,201,240,.6)}.stat-value.active{color:#39ff14;text-shadow:0 0 10px rgba(57,255,20,.6)}.stat-value.locked{color:#777}.legend{position:fixed;bottom:30px;right:30px;z-index:100;background:#0a0e27d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(0,243,255,.3);border-radius:16px;padding:20px;min-width:200px}.legend-title{font-family:Orbitron,sans-serif;font-size:14px;color:#00f3ff;margin-bottom:15px;text-transform:uppercase;letter-spacing:2px}.legend-item{display:flex;align-items:center;gap:12px;margin-bottom:12px;font-family:Rajdhani,sans-serif;font-size:14px;color:#ccc}.legend-item:last-child{margin-bottom:0}.legend-dot{width:16px;height:16px;border-radius:50%;box-shadow:0 0 10px currentColor}.legend-dot.mastered{background:#4cc9f0;box-shadow:0 0 15px #4cc9f0}.legend-dot.active{background:#39ff14;box-shadow:0 0 15px #39ff14;animation:pulse-dot 2s ease-in-out infinite}.legend-dot.locked{background:#555;box-shadow:none}.instructions{position:fixed;bottom:30px;left:30px;z-index:100;background:#0a0e27d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(157,78,221,.3);border-radius:16px;padding:20px;max-width:350px}.instruction-text{font-family:Rajdhani,sans-serif;font-size:16px;color:#e0e0e0;line-height:1.6;margin-bottom:8px}.instruction-text:last-child{margin-bottom:0}.instruction-text.small{font-size:13px;color:#888;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.highlight-green{color:#39ff14;font-weight:700;text-shadow:0 0 8px rgba(57,255,20,.6)}@keyframes pulse-icon{0%,to{transform:scale(1);filter:drop-shadow(0 0 10px rgba(0,243,255,.5))}50%{transform:scale(1.1);filter:drop-shadow(0 0 20px rgba(157,78,221,.8))}}@keyframes pulse-dot{0%,to{transform:scale(1);box-shadow:0 0 15px #39ff14}50%{transform:scale(1.2);box-shadow:0 0 25px #39ff14}}@media (max-width: 768px){.logo-text{font-size:36px;letter-spacing:4px}.logo-icon{font-size:32px}.stats-panel,.legend,.instructions{padding:15px;min-width:150px}.stat-value{font-size:20px}}@keyframes gentle-pulse{0%,to{opacity:.5}50%{opacity:1}}.animate-gentle-pulse{animation:gentle-pulse 6s ease-in-out infinite}.splash-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:transparent;display:flex;justify-content:center;align-items:center;cursor:pointer}.splash-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.splash-stars-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.splash-title{font-size:2.8rem;font-weight:300;color:#e5e7eb;letter-spacing:.02em;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:opacity .8s ease-in-out;min-height:3.5rem;position:relative;display:flex;align-items:center;justify-content:center}.splash-title-transition{animation:text-fade-transition .8s ease-in-out}.splash-title-fade-out{animation:text-fade-out 1s ease-in-out forwards}@keyframes text-fade-transition{0%{opacity:0}to{opacity:1}}@keyframes text-fade-out{0%{opacity:1}to{opacity:0}}.splash-hint{position:absolute;top:calc(50% + 5rem);left:50%;transform:translate(-50%);font-size:1rem;font-weight:300;color:#9ca3af;opacity:0;transition:opacity 2s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.splash-hint-visible{opacity:.85}.splash-star-gradual{position:absolute;background:radial-gradient(circle,rgba(255,255,255,1) 0%,rgba(255,255,255,.8) 40%,transparent 70%);border-radius:50%;pointer-events:none;opacity:0;animation:star-gradual-appear 1.2s ease-out forwards;box-shadow:0 0 10px #fffc,0 0 20px #ffffff80}@keyframes star-gradual-appear{0%{transform:scale(0);opacity:0}60%{opacity:var(--star-opacity, 1)}to{transform:scale(1);opacity:var(--star-opacity, 1)}}.splash-exit .splash-content{animation:splash-text-fade var(--exit-text-fade-ms, .32s) ease-out forwards;will-change:transform,opacity}@keyframes splash-text-fade{0%{opacity:1}to{opacity:0}}.star-look-up{animation:star-streak-down var(--exit-pan-ms, 1335ms) cubic-bezier(.62,0,1,1) forwards!important;will-change:transform,opacity,filter;transform:translateZ(0);backface-visibility:hidden}.star-look-up:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);width:2.2px;height:var(--streak-len, 96px);background:linear-gradient(to bottom,transparent,rgba(255,255,255,.42),rgba(255,255,255,.88));border-radius:50% 50% 0 0;filter:blur(.45px);animation:star-look-up-tail var(--exit-pan-ms, 1335ms) cubic-bezier(.62,0,1,1) forwards}.splash-star-visible{position:absolute;border-radius:50%;pointer-events:none;opacity:var(--star-opacity, .72);background:radial-gradient(circle,rgba(255,255,255,1) 0%,rgba(255,255,255,.68) 50%,transparent 74%);box-shadow:0 0 7px #ffffffa8,0 0 14px #ffffff42}.splash-gemini-entry{animation:splash-gemini-appear var(--entry-duration, 1s) cubic-bezier(.22,1,.36,1) var(--entry-delay, 0s) forwards!important}.splash-gemini-visible{animation:none!important;opacity:var(--bg-gem-opacity, .6)!important}.splash-gemini-look-up{animation:splash-gemini-pan-down 1.6s cubic-bezier(.22,1,.36,1) forwards!important}@keyframes star-streak-down{0%{opacity:var(--star-opacity, .92);transform:translateY(0) scale(1);filter:blur(0px);animation-timing-function:cubic-bezier(.62,0,.96,1)}22%{opacity:calc(var(--star-opacity, .92) * .92);transform:translateY(16vh) scale(.99);filter:blur(.1px);animation-timing-function:cubic-bezier(.35,.72,.24,1)}55%{opacity:calc(var(--star-opacity, .92) * .86);transform:translateY(94vh) scale(.95);filter:blur(.42px);animation-timing-function:linear}82%{opacity:calc(var(--star-opacity, .92) * .8);transform:translateY(172vh) scale(.92);filter:blur(.66px)}92%{opacity:calc(var(--star-opacity, .92) * .78);transform:translateY(184vh) scale(.91);filter:blur(.75px)}to{opacity:0;transform:translateY(212vh) scale(.9);filter:blur(1.1px)}}@keyframes star-look-up-tail{0%{height:var(--streak-len, 96px);opacity:.84}90%{height:34px;opacity:.46}to{height:0px;opacity:0}}@keyframes splash-gemini-appear{0%{transform:rotate(var(--bg-gem-rotation, 0deg)) translateY(calc(var(--travel-down, 320px) * -1)) scale(.72);opacity:0;filter:blur(1px);box-shadow:0 -22px 12px #ffffff47}12%{opacity:calc(var(--bg-gem-opacity, .6) * .55)}to{transform:rotate(var(--bg-gem-rotation, 0deg)) translateY(0) scale(1);opacity:var(--bg-gem-opacity, .6);filter:blur(0px);box-shadow:none}}@keyframes splash-gemini-pan-down{0%{transform:rotate(var(--bg-gem-rotation, 0deg)) translateY(0) scale(1);opacity:var(--bg-gem-opacity, .6);box-shadow:0 -18px 10px #ffffff3d}to{transform:rotate(var(--bg-gem-rotation, 0deg)) translateY(128vh) scale(.86);opacity:0;filter:blur(1.1px);box-shadow:0 -40px 18px #ffffff2e}}.stream-star{position:absolute;background:radial-gradient(circle,rgba(255,255,255,1) 0%,rgba(255,255,255,.6) 50%,transparent 70%);border-radius:50% 50% 80% 80%;pointer-events:none;opacity:0;animation:stream-star-fall ease-in forwards;box-shadow:0 0 4px #fff9,0 0 8px #ffffff4d}.stream-star:after{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:1px;height:var(--streak-len, 20px);background:linear-gradient(to bottom,rgba(255,255,255,.7),rgba(255,255,255,.1),transparent);border-radius:0 0 50% 50%;transform-origin:top center}@keyframes stream-star-fall{0%{opacity:0;transform:translateY(0)}8%{opacity:.9}70%{opacity:.5}to{opacity:0;transform:translateY(250vh)}}.pan-streak-star{position:absolute;background:radial-gradient(circle,rgba(255,255,255,1) 0%,rgba(255,255,255,.6) 50%,transparent 70%);border-radius:50% 50% 80% 80%;pointer-events:none;opacity:0;animation:pan-streak-fly ease-in forwards;box-shadow:0 0 6px #ffffffb3,0 0 10px #ffffff4d}.pan-streak-star:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);width:1.5px;height:var(--streak-len, 25px);background:linear-gradient(to bottom,transparent,rgba(255,255,255,.5),rgba(255,255,255,.8));border-radius:50% 50% 0 0}@keyframes pan-streak-fly{0%{transform:translateY(-100px);opacity:0}10%{opacity:.9}60%{opacity:.6}to{transform:translateY(120vh);opacity:0}}.pan-landing-star{position:absolute;background:radial-gradient(circle,rgba(255,255,255,1) 0%,rgba(255,255,255,.6) 50%,transparent 70%);border-radius:50% 50% 80% 80%;pointer-events:none;opacity:0;animation:pan-landing-fall 1.2s cubic-bezier(.25,.46,.45,.94) forwards;box-shadow:0 0 6px #fffc,0 0 12px #fff6;will-change:transform,opacity}.pan-landing-star:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);width:1.5px;height:var(--streak-len, 18px);background:linear-gradient(to bottom,transparent,rgba(255,255,255,.4),rgba(255,255,255,.8));border-radius:50% 50% 0 0;animation:pan-landing-trail-shrink 1.2s cubic-bezier(.22,1,.36,1) forwards}@keyframes pan-landing-fall{0%{transform:translateY(calc(var(--travel-down, 400px) * -1));opacity:0}5%{opacity:.3}10%{opacity:1}70%{opacity:.9;transform:translateY(-8px)}to{transform:translateY(0);opacity:var(--star-opacity, .7)}}@keyframes pan-landing-trail-shrink{0%{height:var(--streak-len, 18px);opacity:.7}70%{height:3px;opacity:.3}to{height:0px;opacity:0}}.splash-exit{animation:splash-screen-fade var(--exit-pan-ms, 1335ms) linear var(--exit-text-fade-ms, .32s) forwards;pointer-events:none}@keyframes splash-screen-fade{0%{opacity:1}to{opacity:0}}.starry-background{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at center,#12101f,#0a0815);transition:transform .9s cubic-bezier(.62,0,1,1)}.starry-background.pan-up-transition{transform:translateY(-18vh)}.bg-twinkle-star{position:absolute;background:var(--bg-star-color, #ffffff);border-radius:50%;opacity:.7;box-shadow:0 0 3px rgba(var(--bg-star-rgb, 255, 255, 255),.5);animation:star-twinkle-forever 3.2s ease-in-out infinite;transition:opacity .8s cubic-bezier(.4,0,.2,1)}.bg-twinkle-star.is-hidden{opacity:0!important}.starry-background.pan-up-transition .bg-twinkle-star{animation:star-pan-up-streak .9s cubic-bezier(.22,1,.36,1) forwards!important}.starry-background.pan-up-transition .bg-gemini-star{animation:gemini-pan-up-streak .9s cubic-bezier(.22,1,.36,1) forwards!important}.starry-background.pan-up-transition .bg-twinkle-star:after{content:"";position:absolute;left:50%;top:100%;width:2px;height:0;transform:translate(-50%);background:linear-gradient(to top,transparent,rgba(255,255,255,.5),rgba(255,255,255,.85));border-radius:0 0 50% 50%;filter:blur(.4px);animation:star-pan-up-tail .9s cubic-bezier(.22,1,.36,1) forwards!important}@keyframes star-pan-up-tail{0%{height:0;opacity:0}20%{height:28px;opacity:.7}50%{height:55px;opacity:.85}80%{height:30px;opacity:.5}to{height:0;opacity:0}}@keyframes star-pan-up-streak{0%{transform:translateY(0) scale(1);opacity:.8;box-shadow:0 0 6px #ffffff80}30%{opacity:1;box-shadow:0 18px 12px #fff6}to{transform:translateY(-140px) scale(.78);opacity:.5;box-shadow:0 28px 16px #ffffff26}}@keyframes gemini-pan-up-streak{0%{transform:rotate(var(--bg-gem-rotation, 0deg)) translateY(0) scale(1);opacity:var(--bg-gem-opacity, .55)}to{transform:rotate(var(--bg-gem-rotation, 0deg)) translateY(-120px) scale(.85);opacity:calc(var(--bg-gem-opacity, .55) * .6);filter:blur(1px)}}.bg-gemini-star{position:absolute;pointer-events:none;transform-origin:center;transform:rotate(var(--bg-gem-rotation, 0deg)) scale(1);opacity:0;animation:bg-gemini-pulse ease-in-out infinite;transition:opacity .26s ease-out,transform .26s ease-out}.bg-gemini-star:before,.bg-gemini-star:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.bg-gemini-star:before{clip-path:polygon(50% 0%,56% 44%,100% 50%,56% 56%,50% 100%,44% 56%,0% 50%,44% 44%);background:linear-gradient(135deg,rgba(var(--bg-star-rgb, 255, 255, 255),.9) 0%,var(--bg-star-color, #ffffff) 45%,rgba(var(--bg-star-rgb, 255, 255, 255),.82) 100%)}.bg-gemini-star:after{clip-path:polygon(50% 2%,54% 45%,98% 50%,54% 55%,50% 98%,46% 55%,2% 50%,46% 45%);background:radial-gradient(circle at center,rgba(var(--bg-star-rgb, 255, 255, 255),.62) 0%,rgba(var(--bg-star-rgb, 255, 255, 255),.08) 55%,transparent 76%);filter:blur(1px)}.bg-gemini-star.is-visible{opacity:var(--bg-gem-opacity, .55)}.bg-gemini-star.is-hidden{opacity:0;transform:rotate(var(--bg-gem-rotation, 0deg)) scale(.82)}.bg-gemini-star.main-landing{animation:bg-gemini-main-land var(--land-duration, 1.52s) cubic-bezier(.22,1,.36,1) var(--land-delay, 0s) forwards!important;animation-fill-mode:both!important}@keyframes bg-gemini-main-land{0%{transform:rotate(var(--bg-gem-rotation, 0deg)) translateY(calc(var(--travel-down, 340px) * -1)) scale(.74);opacity:0;filter:blur(1px);box-shadow:0 -22px 14px #ffffff42}12%{opacity:calc(var(--bg-gem-opacity, .58) * .62)}84%{transform:rotate(var(--bg-gem-rotation, 0deg)) translateY(0) scale(1);opacity:var(--bg-gem-opacity, .58);filter:blur(0px);box-shadow:none}to{transform:rotate(var(--bg-gem-rotation, 0deg)) translateY(0) scale(1);opacity:var(--bg-gem-opacity, .58);filter:blur(0px);box-shadow:none}}@keyframes bg-gemini-pulse{0%,to{opacity:calc(var(--bg-gem-opacity, .55) * .38);transform:rotate(var(--bg-gem-rotation, 0deg)) scale(.94)}50%{opacity:var(--bg-gem-opacity, .55);transform:rotate(var(--bg-gem-rotation, 0deg)) scale(1.08);filter:drop-shadow(0 0 4px rgba(255,255,255,.58))}}@keyframes bg-gemini-pulse-in{0%{opacity:0;transform:rotate(var(--bg-gem-rotation, 0deg)) scale(1)}18%{opacity:calc(var(--bg-gem-opacity, .55) * .22);transform:rotate(var(--bg-gem-rotation, 0deg)) scale(.95)}42%{opacity:calc(var(--bg-gem-opacity, .55) * .68);transform:rotate(var(--bg-gem-rotation, 0deg)) scale(1.04)}56%{opacity:calc(var(--bg-gem-opacity, .55) * .96);transform:rotate(var(--bg-gem-rotation, 0deg)) scale(1.08);filter:drop-shadow(0 0 5px rgba(255,255,255,.62))}72%{opacity:calc(var(--bg-gem-opacity, .55) * .54);transform:rotate(var(--bg-gem-rotation, 0deg)) scale(1.02)}86%{opacity:calc(var(--bg-gem-opacity, .55) * .2);transform:rotate(var(--bg-gem-rotation, 0deg)) scale(.96)}to{opacity:0;transform:rotate(var(--bg-gem-rotation, 0deg)) scale(.93)}}@keyframes bg-gemini-pulse-out{0%{opacity:var(--bg-gem-opacity, .55);transform:rotate(var(--bg-gem-rotation, 0deg)) scale(1)}16%{opacity:calc(var(--bg-gem-opacity, .55) * .86);transform:rotate(var(--bg-gem-rotation, 0deg)) scale(1.04)}34%{opacity:calc(var(--bg-gem-opacity, .55) * .66);transform:rotate(var(--bg-gem-rotation, 0deg)) scale(1.01);filter:drop-shadow(0 0 5px rgba(255,255,255,.52))}56%{opacity:calc(var(--bg-gem-opacity, .55) * .38);transform:rotate(var(--bg-gem-rotation, 0deg)) scale(.98);filter:drop-shadow(0 0 4px rgba(255,255,255,.44))}78%{opacity:calc(var(--bg-gem-opacity, .55) * .14);transform:rotate(var(--bg-gem-rotation, 0deg)) scale(.94)}90%{opacity:0;transform:rotate(var(--bg-gem-rotation, 0deg)) scale(.93)}to{opacity:0;transform:rotate(var(--bg-gem-rotation, 0deg)) scale(.93)}}.star-landing{position:absolute;background:radial-gradient(circle,rgba(255,255,255,1) 0%,rgba(255,255,255,.6) 50%,transparent 70%);border-radius:50% 50% 80% 80%;pointer-events:none;opacity:0;animation:star-land 1.22s cubic-bezier(.22,1,.36,1) forwards;animation-fill-mode:both;box-shadow:0 0 6px #fffc,0 0 10px #ffffff4d}.star-landing:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);width:2px;height:var(--streak-len, 80px);background:linear-gradient(to bottom,transparent,rgba(255,255,255,.35),rgba(255,255,255,.65));border-radius:50% 50% 0 0;box-shadow:0 0 3px #fff6;animation:star-land-trail 1.22s cubic-bezier(.22,1,.36,1) forwards;z-index:-1}@keyframes star-land{0%{transform:translateY(calc(var(--travel-down, 350px) * -1));opacity:0}12%{opacity:1}84%{transform:translateY(0);opacity:var(--star-opacity, .7)}to{transform:translateY(0);opacity:var(--star-opacity, .7)}}@keyframes star-land-trail{0%{height:var(--streak-len, 80px);opacity:.7}20%{height:65px;opacity:.6}35%{height:50px;opacity:.5}50%{height:35px;opacity:.38}65%{height:22px;opacity:.25}78%{height:12px;opacity:.15}88%{height:5px;opacity:.08}to{height:0px;opacity:0}}.entrance-streak-star{position:absolute;background:radial-gradient(circle,rgba(255,255,255,1) 0%,rgba(255,255,255,.6) 50%,transparent 70%);border-radius:50% 50% 80% 80%;pointer-events:none;opacity:0;animation:entrance-stream var(--stream-duration, 1.8s) cubic-bezier(.22,1,.36,1) var(--streak-delay, 0s) forwards;box-shadow:0 0 6px #fffc,0 0 12px #fff6}.entrance-flyby{animation:entrance-flyby-stream var(--stream-duration, 1.2s) cubic-bezier(.1,.8,.3,1) var(--streak-delay, 0s) forwards}.entrance-streak-star:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);width:1.5px;height:var(--streak-len, 20px);background:linear-gradient(to bottom,transparent,rgba(255,255,255,.4),rgba(255,255,255,.8));border-radius:50% 50% 0 0;animation:streak-shrink var(--stream-duration, 1.8s) cubic-bezier(.22,1,.36,1) var(--streak-delay, 0s) forwards}@keyframes entrance-stream{0%{transform:translateY(calc(var(--travel-down, 400px) * -1));opacity:0}8%{opacity:1}50%{opacity:.95;transform:translateY(-20px)}85%{opacity:.8;transform:translateY(0)}to{transform:translateY(0);opacity:.7}}@keyframes streak-shrink{0%{height:var(--streak-len, 20px);opacity:.7}70%{height:4px;opacity:.3}to{height:0px;opacity:0}}@keyframes entrance-flyby-stream{0%{transform:translateY(calc(var(--travel-down, 600px) * -1));opacity:0}10%{opacity:.8}50%{opacity:.6}to{transform:translateY(calc(var(--travel-down, 600px) * .5));opacity:0}}@keyframes star-pulse-in-forever{0%{opacity:0;transform:scale(1)}18%{opacity:calc(var(--star-opacity, .75) * .22);transform:scale(.98)}40%{opacity:calc(var(--star-opacity, .75) * .64);transform:scale(1.04)}56%{opacity:calc(var(--star-opacity, .75) * .96);transform:scale(1.1);box-shadow:0 0 8px #ffffff8f}72%{opacity:calc(var(--star-opacity, .75) * .54);transform:scale(1.03)}86%{opacity:calc(var(--star-opacity, .75) * .18);transform:scale(.98)}to{opacity:0;transform:scale(.94)}}@keyframes star-pulse-out-forever{0%{opacity:var(--star-opacity, .75);transform:scale(1)}16%{opacity:calc(var(--star-opacity, .75) * .86);transform:scale(1.03)}34%{opacity:calc(var(--star-opacity, .75) * .66);transform:scale(1.01);box-shadow:0 0 7px #ffffff85}56%{opacity:calc(var(--star-opacity, .75) * .38);transform:scale(.98)}78%{opacity:calc(var(--star-opacity, .75) * .14);transform:scale(.95)}90%{opacity:0;transform:scale(.94)}to{opacity:0;transform:scale(.94)}}@keyframes star-twinkle-forever{0%{opacity:0;transform:scale(.9)}20%{opacity:calc(var(--star-opacity, .75) * .25);transform:scale(.95)}46%{opacity:var(--star-opacity, .75);transform:scale(1.14);box-shadow:0 0 8px #ffffff8f}74%{opacity:calc(var(--star-opacity, .75) * .62);transform:scale(1.06)}to{opacity:0;transform:scale(.92)}}@keyframes star-pulse{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:.95;transform:scale(1.2);box-shadow:0 0 6px #fff9}}@keyframes star-lifecycle{0%{opacity:0}5%{opacity:1}85%{opacity:1}to{opacity:0}}.meteor{position:absolute;width:140px;height:2px;background:linear-gradient(to right,transparent 0%,rgba(255,255,255,.05) 20%,rgba(255,255,255,.3) 60%,rgba(255,255,255,.7));border-radius:2px;transform:rotate(22.6deg) scale(var(--scale, 1));opacity:0;animation:meteor-travel linear infinite}@keyframes meteor-travel{0%{transform:translate(0) rotate(22.6deg) scale(var(--scale, 1));opacity:0}3%{opacity:var(--initial-opacity, .7)}90%{opacity:calc(var(--initial-opacity, .7) * .4)}to{transform:translate(var(--travel-x),var(--travel-y)) rotate(22.6deg) scale(var(--scale, 1));opacity:0}}.main-enter{animation:none}.app-container{opacity:1}.app-container.main-enter{animation:app-fade-in .1s ease-out forwards}@keyframes app-fade-in{0%{opacity:0}to{opacity:1}}.main-enter .header{animation:header-slide-down 1s cubic-bezier(.22,1,.36,1) forwards}@keyframes header-slide-down{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.main-enter .header>*{animation:content-fade-in .6s ease-out .8s forwards;opacity:0}.main-enter .sidebar{animation:sidebar-fade-in 1s cubic-bezier(.22,1,.36,1) forwards}@keyframes sidebar-fade-in{0%{opacity:0}to{opacity:1}}.main-enter .sidebar>*>*{animation:content-fade-in .6s ease-out .8s forwards;opacity:0}.main-enter .flex-1.p-4{animation:main-content-fade .5s ease-out forwards}.main-enter .text-box{animation:textbox-slide-down 1.1s cubic-bezier(.22,1,.36,1) forwards;opacity:0}@keyframes main-content-rise{0%{transform:translateY(-60px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes main-content-fade{0%{opacity:0}to{opacity:1}}@keyframes textbox-slide-down{0%{transform:translateY(-72px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes content-fade-in{0%{opacity:0}to{opacity:1}}.fade-out-up{animation:fade-out-up 1.2s cubic-bezier(.22,1,.36,1) forwards}@keyframes fade-out-up{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-40px)}}.main-ui-layer{position:relative;z-index:50;width:100%;height:100%;display:flex}.main-ui-shift-up{animation:main-ui-shift-up .9s cubic-bezier(.22,1,.36,1) forwards;pointer-events:none}@keyframes main-ui-shift-up{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:1;transform:translateY(-120vh) scale(1)}}.simple-page-outline{width:min(65vw,860px);min-height:240px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:#05071273;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:32px}.simple-page-outline-inner{width:100%;max-width:620px;border:1px dashed rgba(255,255,255,.35);border-radius:12px;padding:28px;text-align:center}.simple-page-title{font-family:Orbitron,sans-serif;font-size:1.35rem;color:#e5e7eb;letter-spacing:.04em}.simple-page-subtitle{margin-top:10px;color:#9ca3af;font-size:.95rem}.constellation-sidebar-rail{position:absolute;inset:0 auto 0 0;z-index:130;display:flex;align-items:flex-start;pointer-events:none}.constellation-ui-hidden{opacity:0;transition:opacity .6s ease-out}.constellation-ui-visible{opacity:1;transition:opacity .6s ease-out}.constellation-sidebar-rail>*{pointer-events:auto}.constellation-rail-panels{margin-top:20px;margin-left:10px;display:flex;flex-direction:column;justify-content:space-between;height:calc(100vh - 40px);transition:transform .3s ease-in-out,opacity .25s ease-out}.constellation-rail-panels.collapsed{transform:translate(-8px)}.constellation-rail-panels.expanded{transform:translate(0)}.constellation-rail-learning,.constellation-rail-legend{min-width:220px;background:#000000b3;border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:12px 14px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.constellation-rail-legend{margin-top:auto}.constellation-rail-legend-wrap{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.constellation-rail-learning-label{font-size:.72rem;color:#9ca3af;font-family:monospace}.constellation-rail-learning-topic{margin-top:6px;font-family:monospace;font-size:1rem;color:#fff;font-weight:700;letter-spacing:.03em;text-shadow:0 0 10px rgba(255,255,255,.35)}.constellation-rail-legend-row{display:flex;align-items:center;gap:10px;color:#d1d5db;font-family:monospace;font-size:.86rem}.constellation-rail-legend-row+.constellation-rail-legend-row{margin-top:8px}.constellation-legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.constellation-legend-dot.mastered{background:#3b82f6;box-shadow:0 0 10px #3b82f6d9}.constellation-legend-dot.available{background:#22c55e;box-shadow:0 0 8px #22c55eb3}.constellation-legend-dot.locked{background:#6b7280;box-shadow:0 0 6px #6b728059}.constellation-gauntlet-btn{border:1px solid rgba(110,190,255,.7);background:linear-gradient(135deg,#2172ffe6,#154fc6e6);color:#ebf5ff;border-radius:10px;padding:8px 10px;font-family:monospace;font-size:.75rem;font-weight:700;letter-spacing:.03em;cursor:pointer;text-transform:uppercase;box-shadow:0 0 12px #4ea1ff8c;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.constellation-gauntlet-btn:hover{transform:translateY(-1px);box-shadow:0 0 16px #5fb2ffb8;filter:brightness(1.06)}.constellation-content-offset{width:100%;height:100%;transition:margin-left .3s ease-in-out}.constellation-content-offset.narrow{margin-left:64px}.constellation-content-offset.wide{margin-left:224px}.constellation-dissolve-out{animation:constellation-dissolve-out .52s ease-in forwards;pointer-events:none}.constellation-leave-dissolve-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:260;pointer-events:none;background:radial-gradient(circle at 42% 38%,rgba(108,188,255,.14),transparent 34%),radial-gradient(circle at 68% 56%,rgba(186,218,255,.1),transparent 38%),#00000014;animation:constellation-leave-dissolve-overlay .52s ease-in forwards}@keyframes constellation-dissolve-out{0%{opacity:1;filter:blur(0px);transform:scale(1)}to{opacity:0;filter:blur(2px);transform:scale(1.015)}}@keyframes constellation-leave-dissolve-overlay{0%{opacity:0}to{opacity:1}}.upload-menu-open{animation:upload-menu-open .2s cubic-bezier(.16,1,.3,1) forwards}.upload-menu-close{animation:upload-menu-close .2s cubic-bezier(.5,0,.75,0) forwards}@keyframes upload-menu-open{0%{opacity:0;transform:translate(-50%) scale(.95) translateY(8px)}to{opacity:1;transform:translate(-50%) scale(1) translateY(0)}}@keyframes upload-menu-close{0%{opacity:1;transform:translate(-50%) scale(1) translateY(0)}to{opacity:0;transform:translate(-50%) scale(.95) translateY(8px)}}.telescope-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:transparent;overflow:hidden;perspective:1200px}.telescope-scene-wrap{position:absolute;top:0;right:0;bottom:0;left:0;--telescope-pan-accelerate: linear}.telescope-sky-bg{position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at center,#0d0a1a,#060412 60%,#020108);will-change:transform}.telescope-nebula{position:absolute;border-radius:50%;pointer-events:none;opacity:0;animation:nebula-pulse ease-in-out infinite}@keyframes nebula-pulse{0%,to{opacity:.4;transform:rotate(var(--rotation, 0deg)) scale(1)}50%{opacity:.8;transform:rotate(var(--rotation, 0deg)) scale(1.1)}}.gemini-star{position:absolute;pointer-events:none;overflow:visible;background:transparent;opacity:1;animation:gemini-pulse ease-in-out infinite;transform-origin:center;transform:rotate(var(--gem-rotation, 0deg)) scale(1);transition:opacity 1.2s cubic-bezier(.4,0,.2,1);backface-visibility:hidden;will-change:transform}.gemini-star.fade-out{opacity:0}.gemini-star:before,.gemini-star:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:transparent}.gemini-star:before{clip-path:polygon(50% 0%,56% 44%,100% 50%,56% 56%,50% 100%,44% 56%,0% 50%,44% 44%);background:linear-gradient(135deg,#ffffffeb,#fff 45%,#ffffffdb)}.gemini-star:after{clip-path:polygon(50% 2%,54% 45%,98% 50%,54% 55%,50% 98%,46% 55%,2% 50%,46% 45%);background:radial-gradient(circle at center,rgba(255,255,255,.82) 0%,rgba(255,255,255,.12) 52%,transparent 74%);filter:blur(.8px)}@keyframes gemini-pulse{0%,to{opacity:calc(var(--gem-opacity, .5) * .3);transform:rotate(var(--gem-rotation, 0deg)) scale(.92)}50%{opacity:var(--gem-opacity, .5);transform:rotate(var(--gem-rotation, 0deg)) scale(1.05)}}.lens-star{transition:box-shadow .2s ease-out;opacity:1;animation:lens-star-twinkle 2.8s ease-in-out infinite}.streaking-left.streak-accel .lens-star{box-shadow:3px 0 3px #ffffff26}.streaking-right.streak-accel .lens-star{box-shadow:-3px 0 3px #ffffff26}.streaking-up.streak-accel .lens-star{box-shadow:0 3px 3px #ffffff26}.streaking-down.streak-accel .lens-star{box-shadow:0 -3px 3px #ffffff26}.streaking-left.streak-cruise.streak-fast .lens-star{box-shadow:10px 0 6px #ffffff59,4px 0 3px #fff3}.streaking-right.streak-cruise.streak-fast .lens-star{box-shadow:-10px 0 6px #ffffff59,-4px 0 3px #fff3}.streaking-left.streak-cruise.streak-slow .lens-star{box-shadow:6px 0 4px #ffffff40,3px 0 2px #ffffff1f}.streaking-right.streak-cruise.streak-slow .lens-star{box-shadow:-6px 0 4px #ffffff40,-3px 0 2px #ffffff1f}.streaking-up.streak-cruise.streak-fast .lens-star{box-shadow:0 10px 6px #ffffff59,0 4px 3px #fff3}.streaking-down.streak-cruise.streak-fast .lens-star{box-shadow:0 -10px 6px #ffffff59,0 -4px 3px #fff3}.streaking-up.streak-cruise.streak-slow .lens-star{box-shadow:0 6px 4px #ffffff40,0 3px 2px #ffffff1f}.streaking-down.streak-cruise.streak-slow .lens-star{box-shadow:0 -6px 4px #ffffff40,0 -3px 2px #ffffff1f}.streaking-left.streak-decel .lens-star{box-shadow:2px 0 2px #ffffff14;transition:box-shadow .3s ease-out}.streaking-right.streak-decel .lens-star{box-shadow:-2px 0 2px #ffffff14;transition:box-shadow .3s ease-out}.streaking-up.streak-decel .lens-star{box-shadow:0 2px 2px #ffffff14;transition:box-shadow .3s ease-out}.streaking-down.streak-decel .lens-star{box-shadow:0 -2px 2px #ffffff14;transition:box-shadow .3s ease-out}.telescope-sky-bg:not([class*=streaking]) .lens-star{box-shadow:none;transition:box-shadow .35s ease-out}.telescope-scene-wrap.pan-up .lens-star{box-shadow:0 8px 8px #fff3;animation:pan-up-bridge-lens-star .9s var(--telescope-pan-accelerate) forwards}.telescope-scene-wrap.pan-up .lens-star:after{content:"";position:absolute;left:50%;top:100%;width:2.2px;height:8px;transform:translate(-50%);background:linear-gradient(to top,transparent,rgba(255,255,255,.36),rgba(255,255,255,.74));border-radius:0 0 50% 50%;filter:blur(.4px);animation:pan-up-tail-lens .9s var(--telescope-pan-accelerate) forwards}.telescope-scene-wrap.pan-up .gemini-star{box-shadow:0 10px 10px #ffffff2e;animation:pan-up-bridge-gemini .9s var(--telescope-pan-accelerate) forwards}.telescope-scene-wrap.pan-up .gemini-star:after{filter:blur(.7px);box-shadow:0 16px 16px #ffffff3d;animation:pan-up-tail-gemini .9s var(--telescope-pan-accelerate) forwards}@keyframes pan-up-bridge-lens-star{0%{transform:translateY(-80px) scale(.8);opacity:0;box-shadow:0 2px 2px #ffffff1a;animation-timing-function:cubic-bezier(.86,0,1,1)}25%{transform:translateY(-78px) scale(.82);opacity:.22;box-shadow:0 5px 5px #ffffff29;animation-timing-function:linear}45%{opacity:.78;box-shadow:0 8px 8px #fff3}75%{transform:translateY(18.33px) scale(.98);opacity:.56;box-shadow:0 14px 10px #ffffff42;animation-timing-function:linear}to{transform:translateY(38px) scale(1.04);opacity:0;box-shadow:0 18px 12px #ffffff52}}@keyframes pan-up-tail-lens{0%{height:8px;opacity:0;animation-timing-function:cubic-bezier(.86,0,1,1)}25%{height:10px;opacity:.16;animation-timing-function:linear}42%{height:22px;opacity:.52}75%{height:62px;opacity:.84;animation-timing-function:linear}to{height:76px;opacity:0}}@keyframes pan-up-bridge-gemini{0%{transform:rotate(var(--gem-rotation, 0deg)) translateY(-70px) scale(.75);opacity:0;box-shadow:0 2px 2px #ffffff14;animation-timing-function:cubic-bezier(.86,0,1,1)}25%{transform:rotate(var(--gem-rotation, 0deg)) translateY(-66px) scale(.78);opacity:calc(var(--gem-opacity, .6) * .22);box-shadow:0 5px 5px #ffffff24;animation-timing-function:linear}45%{opacity:calc(var(--gem-opacity, .6) * .62);box-shadow:0 9px 10px #fff3}75%{transform:rotate(var(--gem-rotation, 0deg)) translateY(8px) scale(.98);opacity:calc(var(--gem-opacity, .6) * .4);box-shadow:0 14px 12px #ffffff3d;animation-timing-function:linear}to{transform:rotate(var(--gem-rotation, 0deg)) translateY(34px) scale(1.04);opacity:0;box-shadow:0 18px 14px #ffffff4d}}@keyframes pan-up-tail-gemini{0%{opacity:0;filter:blur(.2px);animation-timing-function:cubic-bezier(.86,0,1,1)}25%{opacity:.16;filter:blur(.24px);animation-timing-function:linear}45%{opacity:.62;filter:blur(.45px)}75%{opacity:.84;filter:blur(.95px);animation-timing-function:linear}80%{opacity:.88;filter:blur(1px)}to{opacity:0;filter:blur(1.35px)}}.telescope-scene-wrap.pre-search .lens-star,.telescope-scene-wrap.pre-search .gemini-star,.telescope-scene-wrap.zoom-lens:not(.search-active) .lens-star,.telescope-scene-wrap.zoom-lens:not(.search-active) .gemini-star{opacity:0!important;box-shadow:none!important;animation-play-state:paused}.telescope-circle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:330px;height:330px;border-radius:50%;background:transparent;border:8px solid #555;box-shadow:inset 0 0 40px #0000004d,0 0 60px #0009;transition:width 2.5s cubic-bezier(.4,0,.2,1),height 2.5s cubic-bezier(.4,0,.2,1),border-width 2.5s cubic-bezier(.4,0,.2,1);z-index:10}.telescope-circle:before,.telescope-circle:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.telescope-circle:before{top:8px;right:8px;bottom:8px;left:8px;border:2px solid rgba(172,172,172,.25);box-shadow:inset 0 0 14px #ffffff1a,inset 0 0 30px #00000080}.telescope-circle:after{top:-3px;right:-3px;bottom:-3px;left:-3px;border:1px dashed rgba(210,210,210,.35);opacity:.8}.telescope-circle-inner{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:330px;height:330px;border-radius:50%;background:transparent;border:3px solid rgba(120,120,120,.6);box-shadow:inset 0 0 20px #0003,0 0 12px #5050504d;z-index:11;pointer-events:none;opacity:1;transition:width 2.5s cubic-bezier(.4,0,.2,1),height 2.5s cubic-bezier(.4,0,.2,1)}.telescope-circle-inner:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:50%;border:1px solid rgba(170,170,170,.35);box-shadow:inset 0 0 10px #ffffff1f;pointer-events:none}.telescope-scene-wrap.zoom-lens .telescope-circle-inner{width:475px;height:475px}.telescope-scene-wrap.zoom-lens .telescope-circle{width:165vh;height:165vh;border-width:48px}.telescope-scene-wrap.pan-up{animation:scene-fade-in .6s ease-out forwards}.telescope-scene-wrap.pan-up .telescope-circle,.telescope-scene-wrap.pan-up .telescope-circle-inner{animation:circle-pan-up 2s var(--telescope-pan-accelerate) forwards}.telescope-scene-wrap.direct-open.pan-up .telescope-circle,.telescope-scene-wrap.direct-open.pan-up .telescope-circle-inner{animation:circle-pan-up-direct 2s var(--telescope-pan-accelerate) forwards}@keyframes scene-fade-in{0%{opacity:0}to{opacity:1}}@keyframes circle-pan-up{0%{transform:translate(-50%,calc(100vh + 170px));opacity:0;animation-timing-function:cubic-bezier(.22,1,.36,1)}15%{opacity:.9}to{transform:translate(-50%,-50%);opacity:1}}@keyframes circle-pan-up-direct{0%{transform:translate(-50%,calc(100vh + 170px));opacity:0;animation-timing-function:cubic-bezier(.84,0,1,1)}15%{transform:translate(-50%,calc(95vh + 150px));opacity:.86;animation-timing-function:linear}75%{transform:translate(-50%,calc(12vh + 12px));opacity:1;animation-timing-function:linear}to{transform:translate(-50%,-50%);opacity:1}}.telescope-scene-wrap.direct-open.direct-pan-left .telescope-circle,.telescope-scene-wrap.direct-open.direct-pan-left .telescope-circle-inner{animation:circle-pan-left-direct .92s linear forwards}@keyframes circle-pan-left-direct{0%{transform:translate(-50%,-50%);opacity:1;animation-timing-function:cubic-bezier(.84,0,1,1)}15%{transform:translate(calc(-50% - 4vw),-50%);opacity:1;animation-timing-function:linear}75%{transform:translate(calc(-50% - 18.75vw),-50%);opacity:1;animation-timing-function:cubic-bezier(0,0,.42,1)}to{transform:translate(calc(-50% - 25vw),-50%);opacity:1}}.telescope-darkness-mask{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:330px;height:330px;border-radius:50%;box-sizing:border-box;border:0 solid rgba(0,0,0,.94);background:transparent;opacity:0;transition:opacity .35s ease-out,width 2.5s cubic-bezier(.4,0,.2,1),height 2.5s cubic-bezier(.4,0,.2,1),border-width 2.5s cubic-bezier(.4,0,.2,1);pointer-events:none;z-index:9}.telescope-darkness-mask.active{opacity:1}.telescope-scene-wrap.zoom-lens .telescope-darkness-mask{width:165vh;height:165vh;border-width:calc((165vh - 475px)/2)}.telescope-darkness-mask.expand-out{animation:ring-expand-out 1.8s cubic-bezier(.4,0,.2,1) forwards}@keyframes ring-expand-out{0%{width:165vh;height:165vh;border-width:calc((165vh - 475px)/2);opacity:1}65%{opacity:.72}to{width:600vh;height:600vh;border-width:30px;opacity:0}}.lens-view-container{position:absolute;top:0;right:0;bottom:0;left:0;animation:lens-view-fade-in 1.2s ease-out forwards}@keyframes lens-view-fade-in{0%{opacity:0}to{opacity:1}}.lens-sky{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,#12101f,#0a0815)}.lens-star{position:absolute;background:#fff;border-radius:50%;opacity:0;animation:lens-star-twinkle ease-in-out infinite;will-change:box-shadow;backface-visibility:hidden;transform:translateZ(0)}@keyframes lens-star-twinkle{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:.9;transform:scale(1.2);box-shadow:0 0 6px #fff9}}.lens-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,transparent 58%,#2a2a2a 62%,#3a3a3a 65%,#4a4a4a 67%,#3a3a3a 70%,#2a2a2a 74%,#1a1a1a 80%,#0a0a0a 90%,#000 100%);pointer-events:none;z-index:10}.constellation-svg{position:absolute;top:10%;right:15%;bottom:10%;left:15%;width:70%;height:80%;z-index:5}.constellation-line{stroke:#fff6;stroke-width:.15;stroke-linecap:round;stroke-dasharray:50;stroke-dashoffset:50;animation:draw-line .8s ease-out forwards}@keyframes draw-line{to{stroke-dashoffset:0}}.constellation-dot{fill:#fff;opacity:0;filter:drop-shadow(0 0 3px rgba(255,255,255,.8));animation:constellation-dot-appear .5s ease-out forwards}@keyframes constellation-dot-appear{0%{opacity:0;r:0}to{opacity:1}}.lens-search-text{position:absolute;bottom:12%;left:50%;transform:translate(-50%);z-index:20;display:flex;align-items:center;gap:10px;color:#fff;font-size:1.1rem;font-weight:300;letter-spacing:.05em;white-space:nowrap;animation:search-text-pulse 3s ease-in-out infinite;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lens-search-icon{width:24px;height:24px;color:#9ca3af;margin-right:8px}@keyframes search-text-pulse{0%,to{opacity:.4}50%{opacity:.85}}.telescope-circle.expand-out-circle{animation:circle-expand-out 1.8s cubic-bezier(.4,0,.2,1) forwards}.telescope-circle-inner.expand-out-circle-inner{animation:circle-inner-expand-out 1.8s cubic-bezier(.4,0,.2,1) forwards}@keyframes circle-expand-out{0%{width:165vh;height:165vh;border-width:48px;opacity:1}60%{opacity:.4}to{width:600vh;height:600vh;border-width:200px;opacity:0}}@keyframes circle-inner-expand-out{0%{width:475px;height:475px;border-width:3px;opacity:1}60%{opacity:.3}to{width:600vh;height:600vh;border-width:30px;opacity:0}}.found-constellation{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;opacity:0;animation:constellation-appear .9s ease-out forwards;z-index:12;pointer-events:none}.found-constellation-center{width:340px;height:340px;display:flex;align-items:center;justify-content:center;transform:scale(.5);transform-origin:center;transition:transform .4s ease-out}.found-constellation.paused .found-constellation-center{transform:scale(.5)}.found-constellation.zoom-in .found-constellation-center{animation:constellation-zoom-in 2.2s cubic-bezier(.16,.88,.3,1) forwards}@keyframes constellation-appear{0%{opacity:0}to{opacity:1}}@keyframes constellation-zoom-in{0%{transform:scale(.5);opacity:1}to{transform:scale(4);opacity:1}}.constellation-svg-found{width:100%;height:100%;display:block}.constellation-line-found{stroke:#fff6;stroke-width:.15;stroke-linecap:round;opacity:0;animation:line-fade-in-found .65s ease-out forwards}@keyframes line-fade-in-found{0%{opacity:0}to{opacity:1}}.constellation-dot-found{fill:#fffffff2;opacity:.95;filter:drop-shadow(0 0 2px rgba(255,255,255,.9))}.lens-found-text{position:absolute;bottom:12%;left:50%;transform:translate(-50%);z-index:20;color:#ffffffe6;font-size:1.4rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;opacity:0;animation:found-text-appear 1s ease-out .8s forwards;-webkit-user-select:none;-moz-user-select:none;user-select:none}@keyframes found-text-appear{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.past-open-transition-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:280}.past-open-transition-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,#060a160a,#02040c8f);opacity:0;transition:opacity .38s ease-out}.past-open-zoom-shell{position:absolute;left:var(--past-origin-left);top:var(--past-origin-top);width:var(--past-origin-width);height:var(--past-origin-height);border-radius:14px;overflow:hidden;border:1px solid rgba(180,228,255,.72);background:linear-gradient(180deg,#a5cdff1a,#a0d2ff0a),#05081447;box-shadow:0 0 22px #82c8ff3d,inset 0 0 18px #aadcff24;transform:translateZ(0) scale(1);transition:left .9s cubic-bezier(.22,1,.36,1),top .9s cubic-bezier(.22,1,.36,1),width .9s cubic-bezier(.22,1,.36,1),height .9s cubic-bezier(.22,1,.36,1),border-radius .9s cubic-bezier(.22,1,.36,1),box-shadow .42s ease-out,opacity .52s ease-out;transform-origin:center}.past-open-zoom-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(220,243,255,.45);border-radius:inherit;opacity:0;box-shadow:inset 0 0 14px #dcf3ff38,0 0 18px #a0dcff3d}.past-open-star-layer{position:absolute;top:0;right:0;bottom:0;left:0}.past-open-star{position:absolute;border-radius:50%;background:#f7fbff;box-shadow:0 0 10px #ffffffd6;opacity:.2}.phase-glisten .past-open-star{animation:past-open-star-glisten .62s ease-out forwards}.phase-envelop .past-open-transition-backdrop,.phase-dissolve .past-open-transition-backdrop{opacity:1}.phase-envelop .past-open-zoom-shell,.phase-dissolve .past-open-zoom-shell{left:50%;top:50%;width:100vw;height:100vh;border-radius:0;transform:translate(-50%,-50%) scale(1.03);box-shadow:inset 0 0 80px #8ccdff38,0 0 60px #8ccdff42}.phase-glisten .past-open-zoom-shell:before{opacity:.3;animation:past-open-border-twinkle .42s ease-in-out infinite alternate}.phase-envelop .past-open-zoom-shell:before{opacity:.85;animation:past-open-border-twinkle .26s ease-in-out infinite alternate}.phase-dissolve .past-open-zoom-shell{opacity:0;transition-duration:.52s}@keyframes past-open-star-glisten{0%{opacity:.2;transform:scale(.6);filter:blur(.4px)}64%{opacity:1;transform:scale(2);filter:blur(0)}to{opacity:.68;transform:scale(1)}}@keyframes past-open-border-twinkle{0%{box-shadow:inset 0 0 10px #dcf3ff29,0 0 12px #a0dcff1f}to{box-shadow:inset 0 0 22px #e6f8ff5c,0 0 26px #aae6ff52}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#030814d1;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-content{position:relative;width:min(720px,92vw);max-height:88vh;overflow-y:auto;padding:28px;border-radius:16px;border:1px solid rgba(152,201,255,.42);background:radial-gradient(circle at 22% 14%,rgba(86,161,255,.18),transparent 42%),radial-gradient(circle at 78% 84%,rgba(164,202,255,.12),transparent 36%),#070e1ef2;box-shadow:0 24px 60px #0408128c,0 0 24px #68aeff3d}.close-btn{position:absolute;right:12px;top:12px;width:34px;height:34px;border-radius:50%;border:1px solid rgba(210,230,255,.45);background:#ffffff14;color:#eef6ff;cursor:pointer}.modal-header{text-align:center;margin-bottom:20px}.modal-header h2{margin:0 0 8px;font-size:1.9rem;letter-spacing:.12em;color:#e4f3ff;text-shadow:0 0 20px rgba(116,187,255,.42)}.modal-header h3{margin:0;color:#c2e4ff;font-size:1.3rem}.modal-header .description{margin-top:8px;color:#deecffbf}.stage-content{text-align:center}.boss-avatar{margin:14px 0;display:flex;justify-content:center}.ai-orb{width:84px;height:84px;border-radius:50%;border:1px solid rgba(185,225,255,.7);background:radial-gradient(circle at 35% 30%,#d5efffeb,#72acff80 42%,#1c448aad 82%);box-shadow:0 0 24px #81c0ff7a,inset 0 0 16px #ecf7ff61;animation:star-trial-orb-float 3.2s ease-in-out infinite}@keyframes star-trial-orb-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.ai-message{margin:10px 0 16px;padding:14px;border-radius:10px;border-left:3px solid rgba(140,196,255,.72);text-align:left;color:#e6f0ffe6;background:#0a1328b8}.ai-message strong{color:#ecf6ff}.start-btn{border:1px solid rgba(176,220,255,.58);border-radius:10px;background:linear-gradient(135deg,#4f99ffc7,#2d6ed0c7);color:#edf5ff;font-weight:700;letter-spacing:.03em;padding:11px 20px;cursor:pointer}.start-btn.secondary{background:#ffffff1a}.start-btn.danger{background:#dc5c5c73;border-color:#ffaaaa80}.start-btn:disabled{opacity:.55;cursor:default}.mode-toggle{margin:12px auto;width:-moz-fit-content;width:fit-content;border:1px solid rgba(166,210,255,.42);border-radius:9px;overflow:hidden;display:flex}.mode-btn{border:0;color:#d7ebff;background:#ffffff14;padding:8px 18px;cursor:pointer}.mode-btn.active{background:#61a3ff8f}.explanation-input,.trial-answer-input{width:100%;border-radius:10px;border:1px solid rgba(171,214,255,.36);background:#060e1ea8;color:#eef6ff;font-family:monospace;padding:12px;resize:vertical}.word-count{margin-top:6px;color:#d2e6ffb8;font-size:12px;text-align:left}.mic-block{margin-top:8px}.mic-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.mic-status{margin-top:8px;color:#cfe4ffd1;font-size:13px}.trial-question-list{margin-top:14px;display:grid;gap:10px}.trial-question-card{text-align:left;border-radius:10px;border:1px solid rgba(163,208,255,.35);background:#081224b8;padding:11px}.trial-question-title{color:#d1eaff;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.trial-question-text{margin:6px 0 8px;color:#eef6ff;font-size:14px}.trial-error{margin-top:10px;color:#ffb4b4;font-size:13px}.analyzing{padding:28px}.spinner{width:54px;height:54px;margin:0 auto;border:3px solid rgba(142,196,255,.25);border-top-color:#b4dfffeb;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.status-text{margin-top:12px;color:#d5eaff;letter-spacing:.06em;font-weight:600}.scan-lines{height:2px;margin-top:12px;background:linear-gradient(90deg,transparent,rgba(190,225,255,.85),transparent)}.result{border-radius:12px;border:1px solid rgba(170,214,255,.4);padding:16px}.result.success{background:#46aa7824}.result.failure{background:#96626224}.result-icon{font-size:48px}.result h3{margin:4px 0 8px;color:#e9f6ff}.result-score{font-size:1.25rem;font-weight:700;margin-bottom:12px;color:#d9edff}.transcript-box,.feedback-box{text-align:left;border-radius:10px;border:1px solid rgba(170,214,255,.26);background:#060e1e9e;padding:12px;margin-top:10px}.transcript-box strong,.feedback-box strong{display:block;margin-bottom:6px;color:#d5ecff}.transcript-box p,.feedback-box p{margin:0;color:#e5f0ffe0}.trial-review-list{margin:6px 0 0;padding-left:18px;color:#e1efffe0}.result-actions{margin-top:14px;display:flex;gap:10px}.complete-btn{margin-top:14px;width:100%;padding:12px;border-radius:10px;border:1px solid rgba(187,234,255,.5);color:#ecf6ff;cursor:pointer;background:linear-gradient(135deg,#4eb281db,#267e62db)}.constellation-loader{position:relative;width:100%;height:100vh;background:radial-gradient(ellipse at center,#0f0420,#000);display:flex;align-items:center;justify-content:center;overflow:hidden;animation:loaderFadeIn .6s ease-out}@keyframes loaderFadeIn{0%{opacity:0}to{opacity:1}}.loader-stars{position:absolute;width:100%;height:100%;top:0;left:0}.loader-star{position:absolute;background:#fff;border-radius:50%}.loader-content{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center}.loader-central-orb{width:80px;height:80px;background:radial-gradient(circle at 30% 30%,#fffc,#a78bfa99);border-radius:50%;box-shadow:0 0 20px #a78bfa80;margin-bottom:2rem;position:relative;z-index:5}.loader-particle{position:absolute;background:radial-gradient(circle,#60a5facc,#60a5fa33);border-radius:50%;box-shadow:0 0 8px #60a5fa99;top:50%;left:50%;margin-top:-4px;margin-left:-4px}.loader-ring{position:absolute;width:200px;height:200px;border:2px solid;-o-border-image:linear-gradient(45deg,rgba(167,139,250,.6),rgba(96,165,250,.4),transparent) 1;border-image:linear-gradient(45deg,rgba(167,139,250,.6),rgba(96,165,250,.4),transparent) 1;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1}.loader-text-wrapper{position:relative;z-index:10;text-align:center;margin-top:3rem}.loader-title{margin:0;font-size:1.75rem;font-weight:700;background:linear-gradient(135deg,#a78bfa,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.5px}.loader-dots{margin:1rem 0;font-size:2rem;color:#a78bfa;letter-spacing:.5rem;height:2rem}.loader-dots span{display:inline-block}.loader-subtitle{margin:.5rem 0 0;font-size:.875rem;color:#a0aec0;font-style:italic;opacity:.8}.loader-glow{position:absolute;width:600px;height:600px;background:radial-gradient(circle,rgba(167,139,250,.1),transparent);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);filter:blur(40px);animation:glowPulse 4s ease-in-out infinite;z-index:2}@keyframes glowPulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.3}50%{transform:translate(-50%,-50%) scale(1.1);opacity:.6}}@media (max-width: 768px){.loader-central-orb{width:60px;height:60px}.loader-title{font-size:1.35rem}.loader-ring{width:150px;height:150px}.loader-glow{width:400px;height:400px}}.constellation-loader.exit{animation:loaderFadeOut .5s ease-out forwards}@keyframes loaderFadeOut{0%{opacity:1}to{opacity:0}}.past-constellations-view{width:min(980px,90vw);max-height:80vh;padding:1.25rem;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:#080a14c7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:.9rem}.past-constellations-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem}.past-constellations-title{font-size:1.4rem;font-weight:700;color:#f6f7ff}.past-constellations-subtitle{font-size:.9rem;color:#c8d2ffb8}.past-toolbar{display:grid;gap:.7rem}.past-query-input,.past-tag-input{background:#ffffff0d;border:1px solid rgba(255,255,255,.14);color:#f6f7ff;border-radius:10px;padding:.55rem .75rem;outline:none}.past-query-input:focus,.past-tag-input:focus{border-color:#78beffa6;box-shadow:0 0 0 2px #78beff2e}.past-tag-filter-row{display:flex;flex-wrap:wrap;gap:.45rem}.past-tag-filter,.past-add-tag-btn,.past-open-btn,.past-delete-btn,.past-tag-chip{border:1px solid rgba(255,255,255,.2);background:#ffffff0d;color:#dde4ff;border-radius:999px;padding:.35rem .7rem;cursor:pointer;transition:all .2s ease}.past-tag-filter.active,.past-tag-filter:hover,.past-open-btn:hover,.past-add-tag-btn:hover{background:#78beff40;border-color:#78beffa6;color:#f4f8ff}.past-delete-btn:hover,.past-tag-chip:hover{background:#ff64782e;border-color:#ff64787a}.past-error{color:#ffb4bc;background:#ff505a26;border:1px solid rgba(255,80,90,.35);border-radius:10px;padding:.5rem .7rem}.past-empty{color:#ccd4f4d1;border:1px dashed rgba(255,255,255,.2);border-radius:10px;padding:1rem;text-align:center}.past-list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:grid;gap:.7rem;padding-right:.25rem}.past-card{position:relative;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#ffffff08;padding:.75rem;display:grid;gap:.6rem;overflow:visible}.past-card.is-opening{border-color:#96d8ffb3;box-shadow:0 0 32px #82ccff4d}.past-card.is-complete{border-color:#ffd678c7;background:#ffc84814;box-shadow:0 0 28px #ffc95c38,inset 0 0 20px #ffdc9614}.past-card.is-complete .past-card-preview{background:radial-gradient(circle at 14% 20%,rgba(255,231,162,.24),transparent 42%),radial-gradient(circle at 82% 70%,rgba(255,198,96,.22),transparent 48%)}.past-card-preview{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.38;background:radial-gradient(circle at 14% 20%,rgba(170,220,255,.2),transparent 42%),radial-gradient(circle at 82% 70%,rgba(120,150,255,.2),transparent 48%)}.past-card-star{position:absolute;border-radius:50%;background:#f8fbff;box-shadow:0 0 6px #ffffffb8;opacity:.3}.past-card.is-opening .past-card-star{animation:past-card-star-glisten .55s ease-out forwards}@keyframes past-card-star-glisten{0%{opacity:.2;transform:scale(.5);filter:blur(.4px)}65%{opacity:1;transform:scale(1.8);filter:blur(0)}to{opacity:.64;transform:scale(1)}}.past-card-top{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.past-card-top>div:first-child{flex:1 1 auto;min-width:0}.past-card-title{color:#f6f7ff;font-weight:600}.past-title-row{display:flex;align-items:center;gap:.5rem;min-width:0}.past-title-input{flex:1;min-width:0;background:#ffffff0a;border:1px solid rgba(255,255,255,.14);color:#f6f7ff;border-radius:8px;padding:.34rem .5rem;font-weight:600}.past-title-input:focus{outline:none;border-color:#78beffa6;box-shadow:0 0 0 2px #78beff2e}.past-rename-btn{border:1px solid rgba(255,255,255,.2);background:#ffffff0d;color:#dde4ff;border-radius:999px;padding:.3rem .7rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}.past-rename-btn:hover{background:#78beff40;border-color:#78beffa6;color:#f4f8ff}.past-card-query,.past-card-time{color:#d4dcf5b8;font-size:.82rem}.past-card-progress{margin-top:.32rem;color:#c6deffe0;font-size:.82rem;font-weight:600}.past-card-progress.complete{color:#ffd56a;text-shadow:0 0 10px rgba(255,214,106,.5)}.past-card-gauntlet-best{margin-top:.22rem;color:#90d0fff2;font-size:.8rem;font-weight:600;text-shadow:0 0 8px rgba(120,188,255,.35)}.past-card-actions{display:flex;gap:.5rem;flex:0 0 auto}.past-tags-row{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.past-tag-editor{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem}.past-tag-input{flex:1;min-width:0}.past-tag-chip,.past-add-tag-btn{flex:0 0 auto;white-space:nowrap}@media (max-width: 900px){.past-constellations-view{width:94vw;max-height:82vh}.past-card-top{flex-direction:column;align-items:stretch}.past-tag-editor{grid-template-columns:1fr}}.profile-view{width:min(980px,90vw);max-height:80vh;padding:1.25rem;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:#080a14c7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;gap:1rem}.profile-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end}.profile-title{color:#f6f7ff;font-size:1.45rem;font-weight:700}.profile-subtitle{color:#c8d2ffb8;font-size:.9rem}.profile-error{color:#ffb4bc;background:#ff505a26;border:1px solid rgba(255,80,90,.35);border-radius:10px;padding:.5rem .7rem}.profile-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.profile-stat-card{border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#ffffff08;padding:.9rem}.profile-stat-label{color:#d0d8f3c7;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.profile-stat-value{color:#f6f7ff;font-size:1.6rem;font-weight:700;margin-top:.35rem}@media (max-width: 900px){.profile-view{width:94vw}.profile-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.profile-stats-grid{grid-template-columns:1fr}}.settings-view{width:min(980px,90vw);max-height:80vh;overflow:hidden;padding:1.25rem;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:#080a14c7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;gap:1rem}.settings-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end}.settings-title{color:#f6f7ff;font-size:1.45rem;font-weight:700}.settings-subtitle{color:#c8d2ffb8;font-size:.9rem}.settings-list{display:grid;gap:.8rem;flex:1;min-height:0;overflow-y:auto;padding-right:.25rem}.settings-item{border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#ffffff08;padding:.9rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.settings-item input[type=checkbox]{width:20px;height:20px;accent-color:#6fc4ff;cursor:pointer}.settings-text-input{width:min(280px,44vw);background:#ffffff0d;border:1px solid rgba(255,255,255,.14);color:#f6f7ff;border-radius:10px;padding:.5rem .7rem;outline:none}.settings-text-input:focus{border-color:#78beffa6;box-shadow:0 0 0 2px #78beff2e}.settings-color-wrap{display:flex;align-items:center;gap:.5rem}.settings-color-input{width:40px;height:32px;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:transparent;cursor:pointer}.settings-color-code{color:#d0d8f3db;font-family:monospace;font-size:.84rem}.settings-item-title{color:#f6f7ff;font-size:1rem;font-weight:600}.settings-item-desc{margin-top:.3rem;color:#d0d8f3c7;font-size:.86rem}@media (max-width: 900px){.settings-view{width:94vw}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-8{bottom:2rem}.bottom-full{bottom:100%}.left-1\/2{left:50%}.left-3{left:.75rem}.left-6{left:1.5rem}.left-8{left:2rem}.right-6{right:1.5rem}.top-1\/2{top:50%}.top-6{top:1.5rem}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-16{margin-left:4rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-56{margin-left:14rem}.mt-1{margin-top:.25rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.inline-block{display:inline-block}.flex{display:flex}.hidden{display:none}.h-10{height:2.5rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-8{height:2rem}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.min-h-\[40px\]{min-height:40px}.w-10{width:2.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-56{width:14rem}.w-8{width:2rem}.w-\[55vw\]{width:55vw}.w-full{width:100%}.w-screen{width:100vw}.min-w-\[160px\]{min-width:160px}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-2{--tw-translate-x: -.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0{--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-r{border-right-width:1px}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity, 1))}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-white\/20{border-color:#fff3}.border-white\/30{border-color:#ffffff4d}.border-white\/70{border-color:#ffffffb3}.border-yellow-500\/50{border-color:#eab30880}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/60{background-color:#0009}.bg-black\/80{background-color:#000c}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/20{background-color:#fff3}.bg-white\/30{background-color:#ffffff4d}.bg-yellow-500\/20{background-color:#eab30833}.p-2{padding:.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pb-6{padding-bottom:1.5rem}.pl-\[72px\]{padding-left:72px}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-orbitron{font-family:Orbitron,sans-serif}.font-rajdhani{font-family:Rajdhani,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/40{color:#fff6}.text-white\/80{color:#fffc}.text-yellow-200{--tw-text-opacity: 1;color:rgb(254 240 138 / var(--tw-text-opacity, 1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-black\/50{--tw-shadow-color: rgb(0 0 0 / .5);--tw-shadow: var(--tw-shadow-colored)}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--neon-blue: #00f3ff;--neon-purple: #9d4edd;--neon-green: #39ff14;--dark-bg: #0a0e27;--locked-gray: #444;--active-glow: #00ff88;--mastered-blue: #4cc9f0}body{margin:0;padding:0;font-family:Rajdhani,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 50% 50%,#1a2838,#0a0815);color:#fff}*{margin:0;padding:0;box-sizing:border-box}#root{width:100vw;height:100vh;overflow:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#ffffff0d}::-webkit-scrollbar-thumb{background:var(--neon-blue);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--active-glow)}.hover\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-900:hover{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-white\/30:hover{background-color:#ffffff4d}.hover\:text-gray-100:hover{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.group:hover .group-hover\:text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}
