@tailwind base;@tailwind components;@tailwind utilities;@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap");@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css");:root{--aura-primary:#7c3aed;--aura-primary-dark:#6366f1;--aura-primary-light:#8b5cf6;--aura-secondary:#64748b;--aura-success:#10b981;--aura-warning:#f59e0b;--aura-danger:#ef4444;--aura-info:#3b82f6;--aura-gray-50:#f8fafc;--aura-gray-100:#f1f5f9;--aura-gray-200:#e2e8f0;--aura-gray-300:#cbd5e1;--aura-gray-400:#94a3b8;--aura-gray-500:#6b7280;--aura-gray-600:#4b5563;--aura-gray-700:#374151;--aura-gray-800:#1f2937;--aura-gray-900:#111827;--aura-bg-primary:#fff;--aura-bg-secondary:#f8fafc;--aura-bg-tertiary:#f1f5f9;--aura-bg-overlay:rgba(0,0,0,.5);--aura-shadow-xs:0 1px 2px 0 rgba(124,58,237,.05);--aura-shadow-sm:0 1px 3px 0 rgba(124,58,237,.1),0 1px 2px 0 rgba(124,58,237,.06);--aura-shadow-md:0 4px 6px -1px rgba(124,58,237,.1),0 2px 4px -1px rgba(124,58,237,.06);--aura-shadow-lg:0 10px 15px -3px rgba(124,58,237,.1),0 4px 6px -2px rgba(124,58,237,.05);--aura-shadow-xl:0 20px 25px -5px rgba(124,58,237,.1),0 10px 10px -5px rgba(124,58,237,.04);--aura-shadow-2xl:0 25px 50px -12px rgba(124,58,237,.25);--aura-radius-sm:0.375rem;--aura-radius-md:0.5rem;--aura-radius-lg:0.75rem;--aura-radius-xl:1rem;--aura-radius-2xl:1.5rem;--aura-radius-full:9999px;--aura-spacing-xs:0.25rem;--aura-spacing-sm:0.5rem;--aura-spacing-md:1rem;--aura-spacing-lg:1.5rem;--aura-spacing-xl:2rem;--aura-spacing-2xl:3rem}html{scroll-behavior:smooth;font-size:16px}body{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,var(--aura-bg-secondary) 0,var(--aura-bg-tertiary) 100%);color:var(--aura-gray-800);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;position:fixed;top:0;left:0;right:0;bottom:0}#root,body,html{overflow:hidden;width:100vw;height:100vh}#root,*,body,html{margin:0;padding:0}*{box-sizing:border-box}.dark{--aura-bg-primary:#1f2937;--aura-bg-secondary:#111827;--aura-bg-tertiary:#374151;--aura-gray-50:#374151;--aura-gray-100:#4b5563;--aura-gray-200:#6b7280;--aura-gray-300:#9ca3af;--aura-gray-400:#d1d5db;--aura-gray-500:#e5e7eb;--aura-gray-600:#f3f4f6;--aura-gray-700:#f9fafb;--aura-gray-800:#fff;--aura-gray-900:#fff}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}@keyframes slide{0%{background-position:0 0}to{background-position:100% 0}}@keyframes slideInFromRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes traffic-flow{0%{background-position:0 0}25%{background-position:100% 0}50%{background-position:100% 100%}75%{background-position:0 100%}to{background-position:0 0}}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-2px)}50%{transform:translateX(-2px)}75%{transform:translateX(2px)}to{transform:translateX(0)}}@keyframes sparkle{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes spin-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-spin-slow{animation:spin-slow 3s linear infinite}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--aura-gray-100);border-radius:var(--aura-radius-full)}::-webkit-scrollbar-thumb{background:var(--aura-gray-300);border-radius:var(--aura-radius-full);-webkit-transition:background .2s ease;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:var(--aura-gray-400)}@keyframes auraPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}@keyframes auraBounce{0%,20%,53%,80%,to{transform:translateY(0)}40%,43%{transform:translateY(-10px)}70%{transform:translateY(-5px)}90%{transform:translateY(-2px)}}@keyframes auraRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes auraHeartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.1)}28%{transform:scale(1)}42%{transform:scale(1.1)}70%{transform:scale(1)}}.aura-pulse{animation:auraPulse 2s ease-in-out infinite}.aura-bounce{animation:auraBounce 2s ease-in-out infinite}.aura-rotate{animation:auraRotate 20s linear infinite}.aura-heartbeat{animation:auraHeartbeat 1.5s ease-in-out infinite}.aura-hover-lift{transition:all .3s cubic-bezier(.4,0,.2,1)}.aura-hover-lift:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px rgba(124,58,237,.15)}.aura-hover-glow{transition:all .3s ease}.aura-hover-glow:hover{box-shadow:0 0 30px rgba(124,58,237,.3)}.aura-skeleton-text{background:linear-gradient(90deg,var(--aura-gray-100) 0,var(--aura-gray-200) 25%,var(--aura-gray-300) 50%,var(--aura-gray-200) 75%,var(--aura-gray-100) 100%);background-size:200% 100%;animation:auraShimmer 1.8s ease-in-out infinite;border-radius:var(--aura-radius-md)}.aura-ripple{position:relative;overflow:hidden}.aura-ripple:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.5);transform:translate(-50%,-50%);transition:width .6s,height .6s}.aura-ripple:active:before{width:300px;height:300px}.aura-smooth-transition{transition:all .3s cubic-bezier(.25,.46,.45,.94)}.aura-focus-ring:focus{outline:none;box-shadow:0 0 0 3px rgba(124,58,237,.1),0 0 0 1px var(--aura-primary)}.aura-stagger-1{animation-delay:.1s}.aura-stagger-2{animation-delay:.2s}.aura-stagger-3{animation-delay:.3s}.aura-stagger-4{animation-delay:.4s}.aura-stagger-5{animation-delay:.5s}.aura-parallax{transform:translateZ(0);will-change:transform}.aura-magnetic{transition:all .3s cubic-bezier(.25,.46,.45,.94)}.aura-glass{background:hsla(0,0%,100%,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2)}.aura-scrollbar::-webkit-scrollbar{width:8px;height:8px}.aura-scrollbar::-webkit-scrollbar-track{background:var(--aura-gray-100);border-radius:var(--aura-radius-full)}.aura-scrollbar::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--aura-primary),var(--aura-primary-light));border-radius:var(--aura-radius-full);-webkit-transition:all .3s ease;transition:all .3s ease}.aura-scrollbar::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,var(--aura-primary-dark),var(--aura-primary));transform:scale(1.1)}.aura-text-gradient{background:linear-gradient(135deg,var(--aura-primary),var(--aura-primary-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.aura-badge-bounce{animation:auraBounce 2s ease-in-out infinite}.aura-badge-pulse{animation:auraPulse 2s ease-in-out infinite}.aura-card-3d{transition:all .3s ease;transform-style:preserve-3d}.aura-card-3d:hover{transform:rotateY(5deg) rotateX(-5deg)}.aura-loading-dots{display:inline-flex;gap:4px}.aura-loading-dots span{width:8px;height:8px;border-radius:50%;background:var(--aura-primary);animation:auraBounce 1.4s ease-in-out infinite both}.aura-loading-dots span:first-child{animation-delay:-.32s}.aura-loading-dots span:nth-child(2){animation-delay:-.16s}.aura-loading-dots span:nth-child(3){animation-delay:0s}.aura-slideUp{animation:auraSlideUp .5s cubic-bezier(.25,.46,.45,.94) both}.aura-slideDown{animation:auraSlideDown .5s cubic-bezier(.25,.46,.45,.94) both}.aura-slideLeft{animation:auraSlideLeft .5s cubic-bezier(.25,.46,.45,.94) both}.aura-slideRight{animation:auraSlideRight .5s cubic-bezier(.25,.46,.45,.94) both}.aura-scaleIn{animation:auraScaleIn .3s cubic-bezier(.25,.46,.45,.94) both}.aura-glow{animation:auraGlow 2s ease-in-out infinite alternate}.aura-float{animation:auraFloat 3s ease-in-out infinite}.aura-shimmer{background:linear-gradient(90deg,var(--aura-gray-100) 0,var(--aura-gray-200) 50%,var(--aura-gray-100) 100%);background-size:1000px 100%;animation:auraShimmer 2s infinite}.aura-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--aura-spacing-sm);border:none;border-radius:var(--aura-radius-lg);font-weight:500;font-family:Poppins,sans-serif;font-size:.875rem;line-height:1;text-decoration:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden}.aura-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.15),transparent);transition:left .6s ease}.aura-btn:hover:before{left:100%}.aura-btn-primary{background:linear-gradient(135deg,var(--aura-primary) 0,var(--aura-primary-dark) 100%);color:#fff;box-shadow:var(--aura-shadow-md)}.aura-btn-primary:hover{transform:translateY(-2px);box-shadow:var(--aura-shadow-lg);background:linear-gradient(135deg,var(--aura-primary-light) 0,var(--aura-primary) 100%)}.aura-btn-primary:active{transform:translateY(0);box-shadow:var(--aura-shadow-sm)}.aura-btn-secondary{background:var(--aura-bg-primary);color:var(--aura-gray-700);border:2px solid var(--aura-gray-200);box-shadow:var(--aura-shadow-sm)}.aura-btn-secondary:hover{background:var(--aura-gray-50);border-color:var(--aura-gray-300);transform:translateY(-1px);box-shadow:var(--aura-shadow-md)}.aura-btn-ghost{background:transparent;color:var(--aura-gray-600);border:2px solid var(--aura-gray-200)}.aura-btn-ghost:hover{background:var(--aura-gray-50);color:var(--aura-gray-800);border-color:var(--aura-gray-300)}.aura-card{background:var(--aura-bg-primary);border-radius:var(--aura-radius-xl);box-shadow:var(--aura-shadow-sm);border:1px solid var(--aura-gray-100);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.aura-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--aura-primary),var(--aura-primary-light));transform:scaleX(0);transition:transform .4s ease}.aura-card:hover:before{transform:scaleX(1)}.aura-card:hover{transform:translateY(-6px);box-shadow:var(--aura-shadow-xl);border-color:var(--aura-primary-light)}.aura-card-interactive{cursor:pointer}.aura-card-interactive:active{transform:translateY(-3px);box-shadow:var(--aura-shadow-lg)}.aura-input{width:100%;padding:var(--aura-spacing-md) var(--aura-spacing-lg);border:2px solid var(--aura-gray-200);border-radius:var(--aura-radius-xl);font-size:.875rem;font-family:Poppins,sans-serif;background:var(--aura-bg-primary);color:var(--aura-gray-800);transition:all .3s ease;outline:none}.aura-input:focus{border-color:var(--aura-primary);box-shadow:0 0 0 4px rgba(124,58,237,.1)}.aura-input::placeholder{color:var(--aura-gray-400)}.aura-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--aura-bg-overlay);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:var(--aura-spacing-lg);animation:auraSlideUp .3s ease-out}.aura-modal{background:var(--aura-bg-primary);border-radius:var(--aura-radius-2xl);box-shadow:var(--aura-shadow-2xl);border:1px solid var(--aura-gray-200);max-width:95vw;max-height:90vh;overflow-y:auto;animation:auraScaleIn .4s cubic-bezier(.25,.46,.45,.94)}.aura-modal-header{padding:var(--aura-spacing-xl) var(--aura-spacing-xl) var(--aura-spacing-lg) var(--aura-spacing-xl);border-bottom:1px solid var(--aura-gray-100)}.aura-modal-body{padding:var(--aura-spacing-lg) var(--aura-spacing-xl)}.aura-modal-footer{padding:var(--aura-spacing-lg) var(--aura-spacing-xl) var(--aura-spacing-xl) var(--aura-spacing-xl);border-top:1px solid var(--aura-gray-100);display:flex;gap:var(--aura-spacing-md);justify-content:flex-end}.aura-badge{display:inline-flex;align-items:center;padding:var(--aura-spacing-xs) var(--aura-spacing-md);border-radius:var(--aura-radius-full);font-size:.75rem;font-weight:600;font-family:Poppins,sans-serif;text-transform:uppercase;letter-spacing:.025em;transition:all .2s ease}.aura-badge-success{background:linear-gradient(135deg,var(--aura-success),#059669);color:#fff}.aura-badge-warning{background:linear-gradient(135deg,var(--aura-warning),#d97706);color:#fff}.aura-badge-danger{background:linear-gradient(135deg,var(--aura-danger),#dc2626);color:#fff}.aura-badge-info{background:linear-gradient(135deg,var(--aura-info),#1d4ed8);color:#fff}.aura-search{background:var(--aura-bg-primary);border-radius:var(--aura-radius-2xl);box-shadow:var(--aura-shadow-lg);border:2px solid var(--aura-gray-100);transition:all .3s ease;position:relative}.aura-search:focus-within{border-color:var(--aura-primary);box-shadow:0 0 0 4px rgba(124,58,237,.1),var(--aura-shadow-xl);transform:translateY(-2px)}.aura-search-icon{position:absolute;left:var(--aura-spacing-lg);top:50%;transform:translateY(-50%);color:var(--aura-gray-400);pointer-events:none}.aura-search-input{padding-left:var(--aura-spacing-2xl)}.aura-loading-skeleton{background:linear-gradient(90deg,var(--aura-gray-100) 0,var(--aura-gray-200) 50%,var(--aura-gray-100) 100%);background-size:200% 100%;animation:auraShimmer 1.5s infinite;border-radius:var(--aura-radius-md)}.aura-loading-spinner{width:20px;height:20px;border-top:2px solid var(--aura-gray-200);border:2px solid var(--aura-gray-200);border-top-color:var(--aura-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.aura-map-container{background:var(--aura-bg-primary);border-radius:var(--aura-radius-xl);border:1px solid var(--aura-gray-200);box-shadow:var(--aura-shadow-md)}.aura-header-gradient{background:linear-gradient(135deg,var(--aura-primary) 0,var(--aura-primary-dark) 100%)}.aura-header-accent{background:linear-gradient(135deg,var(--aura-success) 0,#059669 100%)}.aura-header-secondary{background:linear-gradient(135deg,var(--aura-info) 0,#1d4ed8 100%)}.aura-panel{background:var(--aura-bg-primary);border-radius:var(--aura-radius-xl);box-shadow:var(--aura-shadow-lg);border:1px solid var(--aura-gray-200);overflow:hidden}.aura-panel-header{background:var(--aura-header-gradient);color:#fff;padding:var(--aura-spacing-lg)}@media (max-width:768px){.aura-modal{margin:var(--aura-spacing-md);max-width:calc(100vw - var(--aura-spacing-xl))}.aura-modal-body,.aura-modal-footer,.aura-modal-header{padding-left:var(--aura-spacing-lg);padding-right:var(--aura-spacing-lg)}.aura-search{border-radius:var(--aura-radius-xl)}}@media print{.aura-btn,.aura-modal-overlay{display:none!important}.aura-card{box-shadow:none!important;border:1px solid var(--aura-gray-300)!important;page-break-inside:avoid;break-inside:avoid}}.writing-mode-vertical{writing-mode:vertical-rl;-webkit-text-orientation:mixed;text-orientation:mixed}.discovery-stats-overlay{position:absolute;background:hsla(0,0%,100%,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.75rem;box-shadow:0 10px 25px rgba(0,0,0,.1);border:1px solid hsla(0,0%,100%,.2);transition:all .3s ease}.discovery-stats-overlay:hover{transform:translateY(-2px);box-shadow:0 15px 35px rgba(0,0,0,.15)}.jakarta-map-outline{filter:drop-shadow(0 4px 20px rgba(16,185,129,.3))}.discovery-tab-button{transition:all .2s ease}.discovery-tab-button:hover{transform:translateY(-1px)}.research-tab-button{position:relative;transition:all .2s ease}.research-tab-button:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:transparent;transition:background .2s ease}.research-tab-button:hover:after{background:#374151}.research-tab-button.active:after{background:#111827}.scroll-indicator{animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}