When rerun Streamlit app in the bottom I am getting disabled components

I am using streamlit 1.39.0 locally to develop a story writtier, But when app rerun I am seeing disabled components on screen like Input fields. This is my code

import streamlit as st
from chains.book_brainstorm_chain import book_brainstorm_chain

st.set_page_config(layout="wide")

# Initialize session state variables if not already set
if 'state' not in st.session_state:
    st.session_state.state = "INITIAL"
if 'summary' not in st.session_state:
    st.session_state.summary = ""
if 'details' not in st.session_state:
    st.session_state.details = ""
if 'style' not in st.session_state:
    st.session_state.style = ""
if 'story_brainstrom_ideas' not in st.session_state:
    st.session_state.story_brainstrom_ideas = None
if 'idea_selected' not in st.session_state:
    st.session_state.idea_selected = 0

st.session_state.story_outline = 0

if st.session_state.state == "INITIAL":
    st.title("Story Writer App")

    # Input fields
    st.session_state.summary = st.text_input("πŸ“„ Story Summary", value=st.session_state.summary)
    st.session_state.details = st.text_area("πŸ“š Story Details", value=st.session_state.details)
    st.session_state.style = st.text_input("🎭 Story Style", value=st.session_state.style)

    # Button to start brainstorming
    if st.button("πŸš€ Start BrainStorming"):
        st.session_state.state = "BRAINSTORMING"
        st.rerun()


if st.session_state.state == "BRAINSTORMING":
    st.header("Story Ideas")

    # # Show the brainstorm output in the main area
    if st.session_state.story_brainstrom_ideas is None:
        with st.spinner("🧠 Brainstorming ideas..."):
            st.session_state.story_brainstrom_ideas = st.write_stream(book_brainstorm_chain.stream({
                'story_summary': st.session_state.summary, 
                'story_details': st.session_state.details, 
                'story_style': st.session_state.style
            }))
    else:
        st.write(st.session_state.story_brainstrom_ideas)

    col1, col2, col3, _ = st.columns([1, 1, 1, 3], vertical_alignment="bottom")

    with col1:
        st.session_state.idea_selected = st.selectbox("Select Brainstorming Idea", range(1, 6))

    with col2:
        if st.button("βœ… Select"):
            st.write(f"Selected Idea: {st.session_state.idea_selected}")

    with col3:
        if st.button("πŸ”„ Regenerate"):
            st.session_state.state = "BRAINSTORMING"
            st.session_state.story_brainstrom_ideas = None
            st.rerun()