:root{--primary-50:#eff6ff;--primary-100:#dbeafe;--primary-500:#3b82f6;--primary-600:#2563eb;--primary-700:#1d4ed8;--secondary-500:#8b5cf6;--secondary-600:#7c3aed;--success-500:#10b981;--success-600:#059669;--warning-500:#f59e0b;--warning-600:#d97706;--error-500:#ef4444;--error-600:#dc2626;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827}.dark{--gray-50:#111827;--gray-100:#1f2937;--gray-200:#374151;--gray-300:#4b5563;--gray-400:#6b7280;--gray-500:#9ca3af;--gray-600:#d1d5db;--gray-700:#e5e7eb;--gray-800:#f3f4f6;--gray-900:#f9fafb}.enhanced-input{position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,255,255,.7));border:2px solid transparent;background-clip:padding-box;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.enhanced-input:focus{transform:translateY(-2px);box-shadow:0 10px 25px rgba(59,130,246,.2);border-color:var(--primary-500);background:rgba(255,255,255,.95)}.enhanced-input:hover:not(:focus){transform:translateY(-1px);box-shadow:0 5px 15px rgba(59,130,246,.1);border-color:rgba(59,130,246,.3)}.dark .enhanced-input{background:linear-gradient(145deg,rgba(30,41,59,.9),rgba(51,65,85,.7));color:#fff}.dark .enhanced-input:focus{border-color:var(--primary-500);box-shadow:0 10px 25px rgba(59,130,246,.3);background:rgba(30,41,59,.95)}.dark .enhanced-input:hover:not(:focus){box-shadow:0 5px 15px rgba(59,130,246,.2);border-color:rgba(59,130,246,.4)}.form-group{position:relative}.form-group label{font-weight:600;color:var(--gray-700);margin-bottom:.5rem;display:flex;align-items:center;gap:.25rem}.dark .form-group label{color:var(--gray-300)}.btn-primary{background:linear-gradient(135deg,var(--primary-600),var(--secondary-600));color:#fff;font-weight:600;padding:.75rem 1.5rem;border-radius:.75rem;border:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.btn-primary::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.btn-primary:hover::before{left:100%}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 15px 35px rgba(59,130,246,.4);background:linear-gradient(135deg,var(--primary-700),var(--secondary-700))}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--gray-100);color:var(--gray-700);font-weight:600;padding:.75rem 1.5rem;border-radius:.75rem;border:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-secondary:hover{background:var(--gray-200);transform:translateY(-1px);box-shadow:0 5px 15px rgba(0,0,0,.1)}.dark .btn-secondary{background:var(--gray-700);color:var(--gray-300)}.dark .btn-secondary:hover{background:var(--gray-600)}.enhanced-card{background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,255,255,.7));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);box-shadow:0 25px 45px rgba(0,0,0,.1);transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:1.5rem}.enhanced-card:hover{transform:translateY(-5px);box-shadow:0 35px 60px rgba(0,0,0,.15)}.dark .enhanced-card{background:linear-gradient(145deg,rgba(30,41,59,.9),rgba(51,65,85,.7));border:1px solid rgba(255,255,255,.1)}.result-card{background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(255,255,255,.8));backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.3);border-radius:1rem;padding:1.5rem;box-shadow:0 10px 25px rgba(0,0,0,.1);transition:all .3s cubic-bezier(.4,0,.2,1)}.result-card:hover{transform:translateY(-3px);box-shadow:0 20px 40px rgba(0,0,0,.15)}.dark .result-card{background:linear-gradient(145deg,rgba(30,41,59,.95),rgba(51,65,85,.8));border:1px solid rgba(255,255,255,.1)}.result-value{font-size:2rem;font-weight:800;background:linear-gradient(135deg,var(--primary-600),var(--secondary-600));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 2px 4px rgba(0,0,0,.1);transition:all .3s ease}.result-value.green{background:linear-gradient(135deg,var(--success-500),var(--success-600));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.result-value.purple{background:linear-gradient(135deg,var(--secondary-500),var(--secondary-600));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.result-label{color:var(--gray-500);font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;margin-bottom:.5rem}.dark .result-label{color:var(--gray-400)}.chart-container{background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,255,255,.7));backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.3);border-radius:1rem;padding:1rem;box-shadow:0 20px 40px rgba(0,0,0,.1);position:relative;overflow:hidden}.chart-container::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primary-500),var(--secondary-500))}.dark .chart-container{background:linear-gradient(145deg,rgba(30,41,59,.9),rgba(51,65,85,.7));border:1px solid rgba(255,255,255,.1)}.quick-term-btn{padding:.5rem 1rem;font-size:.75rem;font-weight:500;border-radius:9999px;border:1px solid var(--gray-200);background:var(--gray-100);color:var(--gray-700);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.quick-term-btn:hover{background:var(--primary-100);color:var(--primary-700);border-color:var(--primary-300);transform:translateY(-1px);box-shadow:0 4px 12px rgba(59,130,246,.2)}.dark .quick-term-btn{background:var(--gray-700);color:var(--gray-300);border-color:var(--gray-600)}.dark .quick-term-btn:hover{background:var(--primary-900);color:var(--primary-300);border-color:var(--primary-500)}.radio-card{padding:1rem;border:2px solid var(--gray-200);border-radius:.75rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:linear-gradient(145deg,rgba(255,255,255,.8),rgba(255,255,255,.6))}.radio-card:hover{border-color:var(--primary-300);background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,255,255,.8));transform:translateY(-1px);box-shadow:0 5px 15px rgba(59,130,246,.1)}.radio-card:has(input:checked){border-color:var(--primary-500);background:linear-gradient(145deg,rgba(59,130,246,.1),rgba(59,130,246,.05));box-shadow:0 5px 15px rgba(59,130,246,.2)}.dark .radio-card{background:linear-gradient(145deg,rgba(30,41,59,.8),rgba(51,65,85,.6));border-color:var(--gray-600)}.dark .radio-card:hover{border-color:var(--primary-500);background:linear-gradient(145deg,rgba(30,41,59,.9),rgba(51,65,85,.8))}.dark .radio-card:has(input:checked){border-color:var(--primary-500);background:linear-gradient(145deg,rgba(59,130,246,.2),rgba(59,130,246,.1))}.faq-item{border:1px solid var(--gray-200);border-radius:.75rem;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.faq-item:hover{box-shadow:0 5px 15px rgba(0,0,0,.1);transform:translateY(-1px)}.dark .faq-item{border-color:var(--gray-700)}.faq-question{width:100%;text-align:left;padding:1.5rem;background:var(--gray-50);border:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;justify-content:space-between;align-items:center}.faq-question:hover{background:var(--gray-100)}.dark .faq-question{background:var(--gray-800);color:#fff}.dark .faq-question:hover{background:var(--gray-700)}.faq-answer{padding:1.5rem;background:#fff;border-top:1px solid var(--gray-200)}.dark .faq-answer{background:var(--gray-900);border-top-color:var(--gray-700);color:var(--gray-300)}#tooltip{background:linear-gradient(135deg,var(--gray-900),var(--gray-800));color:#fff;padding:.5rem .75rem;border-radius:.5rem;font-size:.875rem;box-shadow:0 10px 25px rgba(0,0,0,.3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);z-index:1000}.dark #tooltip{background:linear-gradient(135deg,var(--gray-700),var(--gray-600));border-color:rgba(255,255,255,.2)}#loadingOverlay{backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}#loadingOverlay>div{background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(255,255,255,.9));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);box-shadow:0 25px 50px rgba(0,0,0,.2)}.dark #loadingOverlay>div{background:linear-gradient(145deg,rgba(30,41,59,.95),rgba(51,65,85,.9));border-color:rgba(255,255,255,.1)}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,100%{box-shadow:0 0 20px rgba(59,130,246,.4)}50%{box-shadow:0 0 30px rgba(59,130,246,.6)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}100%{opacity:1;transform:scale(1)}}@keyframes scaleIn{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200px 0}100%{background-position:calc(200px + 100%) 0}}.animate-fade-in{animation:fadeIn .6s ease-out}.animate-fade-in-up{animation:fadeInUp .8s ease-out}.animate-slide-up{animation:slideUp .6s ease-out}.animate-pulse-glow{animation:pulseGlow 2s ease-in-out infinite}.animate-bounce-in{animation:bounceIn .8s ease-out}.animate-scale-in{animation:scaleIn .5s ease-out}.shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);background-size:200px 100%;animation:shimmer 1.5s infinite}.glass-effect{background:rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.glass-effect-dark{background:rgba(0,0,0,.2);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.1)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:rgba(255,255,255,.1);border-radius:10px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--primary-500),var(--secondary-500));border-radius:10px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,var(--primary-600),var(--secondary-600))}.focus-visible:focus{outline:2px solid var(--primary-500);outline-offset:2px}@media print{.no-print{display:none!important}.enhanced-card{box-shadow:none;border:1px solid #ccc;background:#fff}.result-value{color:#000!important;-webkit-text-fill-color:#000!important}}@media (max-width:768px){.enhanced-card{margin:.5rem;padding:1rem}.enhanced-input{font-size:16px}.result-value{font-size:1.5rem}.chart-container{padding:.5rem}}@media (prefers-contrast:high){.enhanced-input{border:2px solid #000}.dark .enhanced-input{border:2px solid #fff}.result-value{color:#000!important;-webkit-text-fill-color:#000!important}.dark .result-value{color:#fff!important;-webkit-text-fill-color:#fff!important}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.theme-blue{--primary-color:#3b82f6;--secondary-color:#8b5cf6}.theme-green{--primary-color:#10b981;--secondary-color:#059669}.theme-purple{--primary-color:#8b5cf6;--secondary-color:#7c3aed}@media (min-width:640px){.result-value{font-size:2.25rem}}@media (min-width:1024px){.result-value{font-size:2.5rem}}.enhanced-input:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.quick-term-btn:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.loading{position:relative;overflow:hidden}.loading::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 1.5s infinite}.error{border-color:var(--error-500)!important;box-shadow:0 0 0 3px rgba(239,68,68,.1)!important}.error:focus{box-shadow:0 0 0 3px rgba(239,68,68,.2)!important}.success{border-color:var(--success-500)!important;box-shadow:0 0 0 3px rgba(16,185,129,.1)!important}.success:focus{box-shadow:0 0 0 3px rgba(16,185,129,.2)!important}
