body{
	margin:0;
	padding:0;
	display:flex;
	flex-direction:column;
	align-items:center;
	font-family: sans-serif; /* Makes it look modern */
    	background-image: linear-gradient(135deg, #ffffff, #e7f4ff); /* Light background color from image */
    	min-height: 100vh;

}
.main{

	max-width:600px;
	width: 90%;
	margin: 30px auto;	
	align-items:center;
}
.heading h1{
	text-align: center;
	justify-content:center;	
}
.highlight{
	color:blue;
}
.heading h3{
	font-weight:200;	
}
.uploadBox{
	border: 2px dashed #cbd5e1;
	border-radius:10px;
	padding:20px;
	align-items:center;
	text-align: center;
	display:flex;
	flex-direction:column;
	background:white;
	transition: all 0.3s ease;
        cursor: pointer;
        margin-bottom: 30px;
}
.uploadBox:hover {
            border-color: #2563eb;
            background-color: #f0f7ff;
}
.uploadIcon{
	display:inline-block;
	margin-bottom: 15px;
	font-size:1.5rem;
}
.browseLink {
            
        font-weight: 600;
        text-decoration: none;
        }
.fileTypes {
        margin: 10px;
        font-size: rem;
            
        }

.formRow{
	display:flex;
	gap:20px;
	margin-bottom: 25px;
}
.formColumn{
	display:flex;
	flex-direction:column;
	flex:1;
}
label{
	font-size:1rem;
	font-weight:600;
	margin-bottom:10px;
	text-align:left;
}
select{
	border: 1px solid #e5e7eb;
	padding:10px;
	border-radius:10px;
	background:white;
	font-size:1rem;
	cursor:pointer;
	
}

select:focus {
            border-color: #2563eb;
            box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
.tipsBox{
	display:flex;
	flex-direction:column;
	background-color: #eff6ff; /* Light blue bg */
        border: 1px solid #dbeafe;
        border-radius: 8px;
	padding:20px;
	margin-bottom:10px;
}
.tipsTitle{
	font-weight:600;
	font-size:1.1rem;
	gap: 8px;
}
.tipsList{
	color: #4b5563;
            font-size: 0.9rem;
            line-height: 1.6;
}
.continueBtn{
	width:100%;
	margin:10px;
	padding:15px;
	cursor:pointer;
	align-items:center;
	border-radius:10px;
	border:none;
	font-weight:600;
	color:white;
	background:blue;
	transition:all 0.2s ease;
	
}
.continueBtn:hover{
	background:#1d4ed8
	
}



/*-----------Loader Animation-----------*/

@keyframes robotic-flicker {
    0%, 100% { opacity: 1; transform: scale(1); }
    95% { opacity: 0.8; transform: scale(1.02) skewX(1deg); }
    97% { opacity: 1; transform: scale(0.98) skewX(-1deg); }
}

.ai-orb {
    /* ... existing styles ... */
    animation: robotic-flicker 3s infinite; /* Occasional digital "twitch" */
}



/* --- THE DARK PREMIUM ENVIRONMENT --- */
.loader-overlay {
    position: fixed;
    top: 0; left: 0;
    width: 100vw; height: 100vh;
    background: white; /* Darkest blue-black */
    display: none; /* Set to 'flex' via JS */
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    font-family: 'Inter', sans-serif;
}

/* --- THE ORB CONTAINER --- */
.ai-orb {
    position: relative;
    width: 200px;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 40px;
}

/* The Fixed Outer Glowing Ring */
.orb-ring {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 1px solid rgba(59, 130, 246, 0.4);
    box-shadow: 0 0 15px rgba(59, 130, 246, 0.2);
}

/* The Central Pulsing Core */
.orb-center {
    position: absolute;
    width: 30px;
    height: 30px;
    background: #fff;
    border-radius: 50%;
    filter: blur(8px);
    box-shadow: 0 0 40px 10px #3b82f6;
    z-index: 10;
    animation: core-breath 2s ease-in-out infinite;
}

/* --- THE WAVES (The "Flabbergasting" Part) --- */
.wave {
    position: absolute;
    width: 180px;
    height: 180px;
    border-radius: 43% 57% 41% 59% / 57% 45% 55% 43%; /* Organic "blob" shape */
    filter: blur(10px);
}

/* Cyan/Turquoise Liquid Layer */
.wave-primary {
    background: linear-gradient(45deg, #06b6d4 0%, transparent 70%);
    animation: liquid-rotate 4s linear infinite;
    opacity: 0.7;
}

/* Magenta/Purple Liquid Layer */
.wave-secondary {
    background: linear-gradient(135deg, #8b5cf6 0%, transparent 70%);
    animation: liquid-rotate 7s linear infinite reverse;
    opacity: 0.5;
}

/* --- TEXT STYLING --- */
.loader-content {
    text-align: center;
}

#loader-text {
    font-size: 1.5rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: 3px;
    margin: 0;
    text-transform: uppercase;
    /* Shimmer effect on text */
    background: linear-gradient(90deg, #fff, #3b82f6, #fff);
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: text-shine 3s linear infinite;
}

#loader-subtext {
    font-size: 0.9rem;
    color: #94a3b8;
    margin-top: 10px;
    font-weight: 500;
    letter-spacing: 5px;
    opacity: 0.6;
}

/* --- ANIMATIONS --- */

/* This creates the "shifting liquid" look by rotating an irregular blob */
@keyframes liquid-rotate {
    0% { transform: rotate(0deg) scale(1); }
    50% { transform: rotate(180deg) scale(1.1); }
    100% { transform: rotate(360deg) scale(1); }
}

@keyframes core-breath {
    0%, 100% { opacity: 0.6; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.2); }
}

@keyframes text-shine {
    to { background-position: 200% center; }
}

