@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-glow{0%,to{transform:scale(1);box-shadow:0 0 20px rgba(99,102,241,.3)}50%{transform:scale(1.05);box-shadow:0 0 30px rgba(99,102,241,.5)}}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)rotate(0)}50%{opacity:.7;transform:scale(1.1)rotate(180deg)}}.birth-data-form{position:relative;overflow:hidden}.birth-data-form:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle,rgba(99,102,241,.1) 0%,transparent 70%);width:200%;height:200%;position:absolute;top:-50%;left:-50%}.form-input-enhanced{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.form-input-enhanced:focus-within{transform:translateY(-2px)}.form-input-enhanced input:focus{box-shadow:0 0 0 3px rgba(99,102,241,.1),0 10px 25px rgba(99,102,241,.15),0 4px 6px rgba(0,0,0,.05)}.gender-option{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.gender-option:before{content:"";background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.gender-option:hover:before{left:100%}.gender-option.selected{animation:2s ease-in-out infinite pulse-glow}.chart-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:rgba(0,0,0,.85);border:1px solid rgba(255,255,255,.1);border-radius:24px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 25px 50px -12px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.05),inset 0 1px rgba(255,255,255,.1)}.chart-container:hover{transform:translateY(-2px);box-shadow:0 35px 60px -12px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.1),inset 0 1px rgba(255,255,255,.1)}.chart-container:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(45deg,rgba(99,102,241,.05) 0%,rgba(168,85,247,.05) 50%,rgba(99,102,241,.05) 100%);position:absolute;top:0;bottom:0;left:0;right:0}.floating-element{animation:6s ease-in-out infinite float}.floating-element:nth-child(2n){animation-duration:8s;animation-delay:-3s}.floating-element:nth-child(3n){animation-duration:7s;animation-delay:-1.5s}.progress-step{transition:all .4s cubic-bezier(.4,0,.2,1);position:relative}.progress-step.active{animation:2s ease-in-out infinite sparkle}.progress-step.completed:after{content:"✨";font-size:12px;animation:1.5s ease-in-out infinite sparkle;position:absolute;top:-8px;right:-8px}.explanation-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,rgba(0,0,0,.9) 0%,rgba(18,18,18,.85) 100%);border:1px solid rgba(255,255,255,.1);border-radius:24px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 25px 50px -12px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.05),inset 0 1px rgba(255,255,255,.1)}.explanation-panel:hover{transform:translateY(-1px);box-shadow:0 35px 60px -12px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.1),inset 0 1px rgba(255,255,255,.1)}.explanation-panel:before{content:"";background:linear-gradient(90deg,#6366f1,#8b5cf6,#6366f1) 0 0/200% 100%;border-radius:20px 20px 0 0;height:3px;animation:3s infinite gradient-shift;position:absolute;top:0;left:0;right:0}.tab-navigation{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(248,250,252,.5);position:relative}.tab-navigation.dark{background:rgba(31,41,55,.5)}.tab-button{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.tab-button.active:after{content:"";background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:1px;width:80%;height:2px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.tab-button:hover:not(.active){background:rgba(99,102,241,.05);transform:translateY(-1px)}.chart-element{cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.chart-element:hover{filter:brightness(1.1)saturate(1.2);transform:scale(1.05)}.chart-element.selected{animation:1.5s ease-in-out infinite pulse-glow}.loading-spinner{position:relative}.loading-spinner:after{content:"";border:2px solid rgba(99,102,241,.2);border-top-color:#6366f1;border-radius:50%;width:20px;height:20px;margin:-10px 0 0 -10px;animation:1s linear infinite spin;position:absolute;top:50%;left:50%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:rgba(156,163,175,.5) transparent}.scrollbar-thin::-webkit-scrollbar{width:6px}.scrollbar-thin::-webkit-scrollbar-track{background:0 0}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:rgba(156,163,175,.5);border-radius:3px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:rgba(156,163,175,.8)}.dark .scrollbar-thin{scrollbar-color:rgba(75,85,99,.5) transparent}.dark .scrollbar-thin::-webkit-scrollbar-thumb{background-color:rgba(75,85,99,.5)}.dark .scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:rgba(75,85,99,.8)}@media (max-width:1023px){.chart-analysis-container{padding:1rem}.chart-container,.explanation-panel{border-radius:20px}}@media (max-width:768px){.chart-analysis-container{padding:.75rem}.grid[class*=lg\:grid-cols-2]{grid-template-columns:1fr!important;gap:1rem!important;height:auto!important}.order-1[class*=lg\:order-2]{order:1!important}.order-2[class*=lg\:order-1]{order:2!important}}.dark .chart-analysis-container{background:linear-gradient(-45deg,#0f172a,#1e293b,#312e81,#581c87)}.dark .floating-element{filter:brightness(.8)}.dark .progress-step.completed:after{filter:brightness(1.2)}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.floating-element,.chart-analysis-container{animation:none}}@media (prefers-contrast:high){.chart-container{background:#fff;border:2px solid}.dark .chart-container{background:#000}.explanation-panel{background:#fff;border:2px solid}.dark .explanation-panel{background:#000}}@media print{.chart-analysis-container{background:#fff!important;animation:none!important}.floating-element{animation:none!important}.chart-container,.explanation-panel{box-shadow:none!important;background:#fff!important;border:1px solid #000!important}}
