/**/
:root{
    --darker-blue : #0b1a37;
    --dark-blue : #0B1E36;
    --light-blue : #0e243e;
    --champagne-gold : #c9a84c;
    --accent-rgb : 201, 168, 76;
    --error-red : #c0392b;
    --error-rgb : 192, 57, 43;
    --text-rgb : 255, 255, 255;
}
.main_lobby_main_frame{
    position: relative;

    width: 100vw;
    background-color: var(--darker-blue);
    display: flex;
    align-items: center;
    flex-direction: column;

}
.intro_footer{
    padding-top: 1rem;
    padding-bottom: 3rem;
    text-align: center;
}
.footer_div{
    gap: 9rem;
}
/* main block */

.main_lobby_main_frame_mainblock{

    flex: 1 1 auto;
    min-width: 0;   /* flex item 預設 min-width:auto 會被內容撐開，歸零讓 flex:1 的縮放邏輯正常生效 */
    max-width: 80rem;

    margin-top: 20px;
    padding: 2% 1%;
    padding-bottom: 1rem;
    
    background-color: var(--dark-blue);
    border-radius: 10px;

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    

    box-shadow: inset 0px 0px 9px rgba(0, 0, 0, 0.1);
}

.main_lobby_map_stage{
    position: relative;

    width: 95%;
    min-height: 5.5rem;

    background-color: var(--darker-blue);

    border-radius: 10px;
    border: 1px solid rgba(var(--accent-rgb), 0.3);

    cursor: pointer;
    transition: all 100ms ease-in-out;

    display: flex;
    flex-direction: column;

    padding: 0.9rem 3.2rem 1.2rem 0.6rem; /* 右邊多留空間給星星/已完成標籤，避免疊字 */
    box-sizing: border-box;

    font-weight: 400;

}
.main_lobby_map_stage.has_limit{
    min-height: 7rem;
    padding-bottom: 0.6rem;
}
.main_lobby_map_stage:hover{
    background-color: var(--light-blue);
}
.main_lobby_map_stage_row{
    display: flex;
    flex-direction: column;
    justify-content: space-between;

}
.main_lobby_map_stage_text1{
    color: rgba(var(--text-rgb), 0.6);
    font-size: 0.9rem;

    margin-left: 0.5rem;
}
.main_lobby_map_stage_text2{
    margin: 0.4rem 0;

}
.main_lobby_map_stage_text2-1{
    color: rgba(var(--text-rgb), 1);
    font-size: 1.3rem;
    margin-left: 0.5rem;
}
.main_lobby_map_stage_text2-2{
    color: rgba(var(--text-rgb), 1);
    font-size: 1rem;
}
.main_lobby_map_stage_text3{
    color: var(--champagne-gold);
    font-size: 0.8rem;
    margin-left: 0.5rem;


}
/* 右上角固定區：星星難度 + 已完成標籤 疊在一起，用 flex column 排，彼此才不會互相蓋住 */
.main_lobby_map_stage_top_right{
    position: absolute;
    top: 0.6rem;
    right: 0.7rem;

    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.35rem;
}
.main_lobby_map_stage_difficulty_star{
    font-size: 1rem;
    color: var(--champagne-gold);
    text-shadow: 0px 0px 2px var(--champagne-gold);
    white-space: nowrap;
}
.main_lobby_stage_completed_tag{
    position: absolute;
    bottom: 0.6rem;
    right: 0.6rem;
    padding: 2px 6px;
    margin-top: 1rem;

    font-size: 1rem;
    color: var(--champagne-gold);

    border: 1px solid var(--champagne-gold);
    border-radius: 3px;

    white-space: nowrap;
}
.main_lobby_map_stage.main_lobby_map_stage_completed{
    background-color: rgba(220, 245, 220, 0.1);
    border-left: 2px solid var(--champagne-gold);
}


/* wpm / acc 門檻：改成一排小藥丸徽章，貼在卡片底部，不再跟其他文字疊在一起 */
.main_lobby_stage_limit{
    margin-top: auto;
    padding-top: 0.6rem;

    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}
.main_lobby_stage_limit_chip{
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;

    padding: 0.15rem 0.6rem;

    font-size: 0.7rem;
    white-space: nowrap;

    color: var(--error-red);
    background-color: rgba(var(--error-rgb), 0.08);

    border: 1px solid rgba(var(--error-rgb), 0.4);
    border-radius: 999px;
}
/*返回按鈕*/

.main_lobby_back_to_intro_button{
    position: absolute;
    left: 2rem;
    top: 2rem;

    /* 【修改】拿掉方框：原本的 background-color / border / border-radius 全部移除，
       改成完全透明的容器，只用來定位＋當作 <img> 的可點擊熱區。
       height/width 仍保留跟舊版一樣的 2.3rem，是刻意的——這樣拿掉方框之後，
       可點擊/觸控範圍不會跟著縮水，維持原本的易點擊性 */
    height: 2.3rem;
    width: 2.3rem;
    background-color: transparent;
    border: none;

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;
    transition: transform 200ms ease-in-out;

    z-index: 9000;

}
/* 【新增】圖示本體：固定高度、寬度 auto 讓圖片依原始比例縮放，不會被拉伸變形 */
.main_lobby_back_to_intro_button img{
    height: 1.5rem;
    width: auto;
    display: block;

    /* 【修改】把原本金色的圖片透過 filter 轉成白色：brightness(0) 先把不透明像素壓成純黑，
       invert(1) 再反轉成白，不用重新輸出圖檔就能換色，跟 game.html 裡四顆圖示用同一招 */
    filter: brightness(0) invert(1) drop-shadow(0 1px 3px rgba(0, 0, 0, 0.5));
    transition: filter 200ms ease-in-out, transform 200ms ease-in-out;
}
/* 【修改】hover：圖示轉白之後，原本的 brightness(1.3) 提亮在白色上看不出效果，
   改成疊加一層金色 drop-shadow 光暈，維持清楚的互動回饋 */
.main_lobby_back_to_intro_button:hover img{
    transform: scale(1.12);
    filter: brightness(0) invert(1) drop-shadow(0 1px 4px rgba(0, 0, 0, 0.6)) drop-shadow(0 0 6px rgba(var(--accent-rgb), 0.55));
}

/*    profile    */

/* ============================================================
   【重新整理】玩家資訊卡（頭像＋暱稱／等級／稱號／XP進度條＋WPM／正確率）
   ------------------------------------------------------------
   原本這塊是「外層寫死 height:16vh」+「WPM/ACC 用 position:absolute
   相對外層做百分比定位」+「左邊文字區用 justify-content:space-between
   硬凑剛好兩行」拼出來的，任何一行文字變多、或像這次多塞一條 XP 進度條
   進去，就會撐爆固定高度、或跟絕對定位的 WPM/ACC 疊在一起。
   改成整組都用 flex 排版、高度交給內容自然撐開（min-height 只是下限，
   不是死数字），之後不管是稱號變長、多一行文字、或進度條這種新內容，
   整塊都會自動長高，不會再有「固定高度不夠、內容溢出卡片外面」的問題。
   ============================================================ */
.main_lobby_main_frame_profileblock{
    position: relative;

    margin-top: 10vh;
    padding: 1rem;
    box-sizing: border-box;

    width: 67vw;
    max-width: 1050px;

    min-height: 16vh;
    background-color:var(--light-blue);

    border-radius: 8px;
    border: 1px solid rgba(var(--accent-rgb), 0.5);

    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1.8vw;

    margin-bottom: 30px;
}
.main_lobby_main_frame_player_avatar{
    width: 8rem;
    aspect-ratio: 1/1;
    background-color: rgba(var(--text-rgb), 1);

    border-radius: 50%;
    border: 2px solid var(--champagne-gold);

}
.profile_avatar_container{
    /* 固定尺寸的圓形頭像，跟旁邊會自動長高的資訊卡放在同一個 flex row 裡，
       避免資訊卡變高時頭像被跟著拉伸變形 */
    flex-shrink: 0;
    align-self: center;
}
/* ===== WPM／正確率：從「相對外層卡片絕對定位」改成資訊卡內部的
   正常 flex 子項目，跟着資訊卡的實際高度自動垂直置中，不用再猜
   任何 top/right 百分比 ===== */
.main_lobby_main_frame_profileblock_wpm,
.main_lobby_main_frame_profileblock_acc{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;

    flex-shrink: 0;
}
.main_lobby_main_frame_profileblock_wpm{
    width: 3.5rem;
    order: 3;   /* 排在最右邊，跟改版前的視覺順序一致 */
}
.main_lobby_main_frame_profileblock_acc{
    width: 4rem;
    order: 2;   /* 排在 WPM 左邊、名稱/稱號右邊 */
}
.main_lobby_main_frame_player_profile{
    display: flex;
    flex-direction: row;
    align-items: center;

    flex: 1;
    min-width: 0;   /* 允許裡面的文字換行/截斷，不會把 WPM/ACC 擠出卡片外 */

    background-color: var(--dark-blue);
    padding: 1rem 1.5rem;
    box-sizing: border-box;

    border-radius: 10px;
}
.main_lobby_main_frame_player_profile_left_div{
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.5rem;   /* 用 gap 統一控制行距，不管底下是兩行還是三行都會自動排好，
                       不用再靠 space-between 硬凑成「剛好兩行」 */

    flex: 1;
    min-width: 0;
    order: 1;   /* 排在 ACC/WPM 左邊 */
}
.main_lobby_main_frame_player_profile_left_div_name{
    font-size: 1.8rem;
    font-weight: 700;

    color: rgba(var(--text-rgb), 1);
}
.main_lobby_main_frame_player_profile_left_div_LV{
    font-size: 1.1rem;

    margin-left: 0.3vw;
    color: var(--champagne-gold);
}
.main_lobby_main_frame_player_profile_left_div_rank{
    font-size: 1.2rem;
    font-weight: 700;
    color: rgba(var(--text-rgb), 0.6);
}

/* ===== XP／等級系統：進度條 =====
   由 TCTC2-0-xp_display.js 在載入時動態插入到「稱號」文字下方，
   不寫死在 HTML 裡，避免頁面沒載入該支 JS 時留下一條空的死版面。
   父層（left_div）已經用 gap 統一控制間距，這裡不用再自己加 margin-top，
   避免跟 gap 疊加出雙倍間距。 */
.xp_progress_wrap{
    width: 100%;
    max-width: 14rem;
}
.xp_progress_track{
    width: 100%;
    height: 0.4rem;
    border-radius: 999px;
    background-color: rgba(var(--text-rgb), 0.12);
    overflow: hidden;
}
.xp_progress_fill{
    height: 100%;
    border-radius: 999px;
    background-color: var(--champagne-gold);
    transition: width 400ms ease;
}
.xp_progress_text{
    margin-top: 0.25rem;
    font-size: 0.7rem;
    letter-spacing: 1px;
    color: rgba(var(--text-rgb), 0.5);
}

@media (max-width: 46rem){
    /* 窄螢幕：WPM/ACC 數字先讓出空間給名稱/稱號/進度條，避免擠壓換行 */
    .main_lobby_main_frame_profileblock_wpm{ width: 3rem; }
    .main_lobby_main_frame_profileblock_acc{ width: 3.4rem; }
}


/* main_frame */

.main_lobby_main_frame_row{
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    gap: 2%;

    padding-left: 2%;
    padding-right: 2%;
    padding-bottom: 2rem;

    margin-bottom: 2rem;

    width: 60vw;
    max-width: 900px;

    box-sizing: border-box;

    background-color: var(--light-blue);

    border: 1px solid rgba(var(--accent-rgb), 0.6);
    border-radius:8px;
}
/**/
.main_lobby_main_frame_mode_selector_intro{
    position: absolute;

    width: 1vw;
    height: 1vw;

    padding-left: 2px;

    bottom: 0.5vw;
    right: 0.7vw;
    background-color: var(--dark-blue);

    color: rgba(var(--text-rgb), 1);
    font-size: 0.8rem;

    border-radius:3px;
    border: 1px solid rgba(var(--accent-rgb), 0.6);

    display: flex;
    justify-content: center;
    align-items: center;

    cursor: pointer;
    transition: all 300ms ease-in-out;

        
}
.main_lobby_main_frame_mode_selector_intro:hover{
    background-color: var(--champagne-gold);
    border: 1px solid var(--light-blue);
    color: var(--light-blue);
}
.main_lobby_main_frame_mode_selector{
    position: relative;

    padding-top: 1%;
    padding-left: 2.1%;
    padding-right: 2.1%;
    padding-bottom: 1rem;

    width: 60vw;
    max-width: 900px;
    

    margin-bottom: 20px;

    display: flex;
    justify-content: space-between;
    gap: 20px;
    background-color: var(--light-blue);

    border-radius: 8px;
    border: 1px solid rgba(var(--accent-rgb), 0.5);


    box-sizing: border-box;
}
.main_lobby_main_frame_map_selector{
    font-size: 0.9rem;

    position: relative;


    width: clamp(170px, 21vw, 285px);
    flex-shrink: 0;
    align-self: stretch;

    margin-top: 20px;

    padding-top: 2.5rem;
    padding-left: 0.6rem;
    padding-right: 0.6rem;
    padding-bottom: 7rem;

    background-color: var(--dark-blue);
    
    border-radius: 10px;

    display: flex;
    flex-direction: column;
    align-items: center;

    box-shadow: inset 0px 0px 8px rgba(0, 0, 0, 0.1);
}
.main_lobby_chapter_selector_text1{
    position: absolute;
    left: 1rem;
    top: 0.7rem;
    font-size: 0.8rem;

    color: rgba(var(--text-rgb), 1);
}



.chapter_frame{
    width: 100%;
    height: 3rem;

    box-sizing: border-box;
    padding-left: 1rem;
    font-weight: 400;
    font-size: 0.9rem;

    border-top: 1px solid rgba(var(--accent-rgb), 0.4);
    background-color: var(--dark-blue);
    
    cursor: pointer;
    transition: all 200ms ease-in-out;

    color: rgba(var(--text-rgb), 1);

    display: flex;
    align-items: center;
}
.chapter_frame_completed{

    width: 100%;
    height: 3rem;

    box-sizing: border-box;
    padding-left: 1rem;

    border-top: 1px solid rgba(var(--accent-rgb), 0.4);
    border-left: 4px solid rgba(var(--accent-rgb), 1);

    background-color: rgba(220, 245, 220, 0.15) !important;
    
    cursor: pointer;
    transition: all 200ms ease-in-out;

    color: rgba(var(--text-rgb), 1);

    display: flex;
    align-items: center;

    box-shadow: -2px 0px 4px var(--champagne-gold);
}
.chapter_frame:hover{
    margin-left: -0.2rem;
    

    width: 102%;
    transform: translatex(10px);


    background-color: var(--light-blue);

    border-top: 2px solid rgba(var(--accent-rgb), 0.6);
    border-left: transparent;
    border-right: transparent;

    box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.34);
}
.main_lobby_chapter_list_style{
    display: flex;
    flex-direction: column;
    justify-content: center;

    width: 100%;
}
.easy_chapter_frame_row{
    display: flex;

    padding-left: 5%;
}
.easy_chapter_frame_number{
    font-size: 0.8rem;
    color: var(--champagne-gold);

}
.chapter_selected{
    width: 103%;

    background-color: var(--light-blue);

    border-top: 2px solid rgba(var(--accent-rgb), 0.6);


}
.easy_chapter_name{
    color: rgba(var(--text-rgb), 1);
    font-size: 1rem;
}
.easy_chapter_progress{
    position: absolute;
}

.main_lobby_mode_beginner:hover{
    background-color: var(--light-blue);
}
.main_lobby_mode_medium:hover{
    background-color: var(--light-blue);
}
.main_lobby_mode_master:hover{
    background-color: var(--light-blue);
}
.main_lobby_mode_beginner_complete{
    position: relative;

    width: 18vw;
    max-width: 300px;

    height: 13vh;

    padding-left: 1%;
    background-color: rgba(var(--text-rgb), 1);
    box-shadow: 0px 0px 9px black;
    
    border-radius: 6px;
    border: 1px solid rgba(var(--accent-rgb), 0.5);
    border-left: 3px solid var(--champagne-gold);
    transition: all 200ms ease-out;
    cursor: pointer;
}

.main_lobby_mode_medium_complete{
    position: relative;

    width: 18vw;
    max-width: 300px;

    height: 13vh;

    padding-left: 1%;
    background-color: var(--dark-blue);
    box-shadow: 0px 0px 9px black;

    border-radius: 6px;
    border: 1px solid rgba(var(--accent-rgb), 0.5);
    border-left: 3px solid var(--champagne-gold);
    transition: all 200ms ease-out;
    cursor: pointer;

}
.main_lobby_mode_master_complete{
    position: relative;

    width: 18vw;
    max-width: 300px;
    height: 13vh;

    padding-left: 1%;
    background-color: var(--dark-blue);
    box-shadow: 0px 0px 9px black;
    border-radius: 6px;
    border: 1px solid rgba(var(--accent-rgb), 0.5);
    border-left: 3px solid var(--champagne-gold);
    transition: all 200ms ease-out;
    cursor: pointer;

}
.main_lobby_mode_beginner{
    position: relative;

    width: 18vw;
    max-width: 300px;

    padding-bottom: 1rem;
    padding-left: 1.6%;
    padding-top: 0.5rem;

    background-color:  var(--dark-blue);
    
    border-radius: 6px;
    border: 2px solid rgba(var(--accent-rgb), 0.5);
    border-left: 3px solid var(--champagne-gold);
    transition: all 200ms ease-out;
    cursor: pointer;
}

.main_lobby_mode_medium{
    position: relative;

    width: 18vw;
    max-width: 300px;

    padding-bottom: 1rem;
    padding-left: 1%;
    padding-top: 0.5rem;

    background-color: var(--dark-blue);

    border-radius: 6px;
    border: 2px solid rgba(var(--accent-rgb), 0.5);
    border-left: 3px solid var(--champagne-gold);
    transition: all 200ms ease-out;
    cursor: pointer;

}
.main_lobby_mode_master{
    position: relative;

    width: 18vw;
    max-width: 300px;

    padding-left: 1%;
    padding-bottom: 1rem;
    padding-top: 0.5rem;
    background-color: var(--dark-blue);

    border-radius: 6px;
    border: 2px solid rgba(var(--accent-rgb), 0.5);
    border-left: 3px solid var(--champagne-gold);
    transition: all 200ms ease-out;
    cursor: pointer;

}


/* difficulty select window */

.main_lobby_difficulty_selet_window{
    /* display: none; */

    position: fixed;

    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;

    background-color: rgba(0, 0, 0, 0.34);
    z-index: 999;

    display: flex;
    justify-content: center;
    align-items: center;
}
.main_lobby_mode_golden_shadow{
    transition: all 300ms ease-out;
    box-shadow: 0px 1.5px 7px var(--champagne-gold) !important; /*優先及!!!!!!!!!!!!!!!!*/

    background-color: var(--light-blue);

    border: 2px solid var(--champagne-gold);

}
.main_lobby_mode_tag{
    color: black;
    font-weight: 1000;

    position: absolute;
    top: 0.7vw;
    right: 0.8vw;

    width: 1vw;
    aspect-ratio: 1/1;
    background-color: rgb(138, 209, 138);

    border-radius: 50%;
    
    transition: all 290ms ease-out;

    box-shadow: 0px 0px 10px green;
}
.main_lobby_difficulty_selector{
    margin-top: 70px;
    width: 70vw;
    height: 40vh;
    padding-bottom: 3%;

    min-height: 400px;
    max-height: 85vh;

    background-color: var(--dark-blue);
    opacity: 0.94;
    border-top: 3px solid var(--champagne-gold) ;
    border-radius: 16px;
}
.main_lobby_difficulty_selector_text1{
    margin-top: 3%;
    margin-left: 2%;
}
.main_lobby_difficulty_selector_text1-2{
    font-family: "Noto Serif TC", serif;  /*宋體*/
    color: rgba(var(--text-rgb), 0.6);
}
.main_lobby_difficulty_selector_text1-1{
    font-family: "Noto Serif TC", serif;  /*宋體*/
    font-weight: 200;
    color: rgba(var(--text-rgb), 1);
    font-size: 2.4rem;
}
.main_lobby_difficulty_selector_text1-0{
    font-size: small;
    font-family: "Noto Serif TC", serif;  /*宋體*/
    color: var(--champagne-gold);
}
.main_lobby_difficulty_selector_row{
    display: flex;
    align-items: center;
    gap: 2.6%;
    width: 95%;
    height: 74%;
    background-color: var(--light-blue);

    margin: auto;
    margin-top: 1%;
    border-radius: 5px;
}
.main_lobby_difficulty_seletor_easy{
    margin-left: 1.7%;
    height: 90%;
    width: 30%;
    background-color: var(--dark-blue);

    border: 1px solid var(--champagne-gold);
    border-radius: 10px;
    transition: all 300ms ease-out;
    cursor: pointer;
}
.main_lobby_difficulty_seletor_medium{
    
    height: 90%;
    width: 30%;
    background-color: var(--dark-blue);

    border: 1px solid var(--champagne-gold);
    border-radius: 10px;
    transition: all 300ms ease-out;
    cursor: pointer;
}
.main_lobby_difficulty_seletor_hard{
    height: 90%;
    width: 30%;
    background-color: var(--dark-blue);

    border: 1px solid var(--champagne-gold);
    border-radius: 10px;
    transition: all 300ms ease-out;
    cursor: pointer;
}
.main_lobby_difficulty_Level_style{
    padding-left: 2%;
    font-size: 0.8rem;
    padding-top: 20px;
    color: var(--champagne-gold);
    font-family: "Noto Serif TC", serif;  /*宋體*/
    letter-spacing: 1px;

}
.main_lobby_difficulty_Level2_style{
    padding-left: 5%;
    padding-top: 10px;

    font-size: 2rem;
    font-family: "Noto Serif TC", serif;  /*宋體*/
    font-weight: 100;
    color: rgba(var(--text-rgb), 1);
}
.main_lobby_difficulty_easy_intro{
    padding-top: 2%;
    padding-left: 5%;

    font-family: "Noto Serif TC", serif;  /*宋體*/
    color: rgba(var(--text-rgb), 0.6);
    font-size: 0.8rem;
    font-weight: 500;
}
.main_lobby_difficulty_easy_intro2{
    margin-top: 6%;
    height: 45%;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    /* gap: 1.4%; */
    /* background-color: rgba(var(--text-rgb), 1); */

}
.main_lobby_difficulty_easy_intro2-1{
    background-color: var(--champagne-gold);
    width: 95%;
    height: 30%;

    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;

    font-family: "Noto Serif TC", serif;  /*宋體*/
    transition: all 250ms ease;

}
.main_lobby_difficulty_easy_intro2-1:hover{
    border-radius: 4px;
    background-color: var(--light-blue);
    color: var(--champagne-gold);
}
.main_lobby_difficulty_seletor_easy:hover{
    margin-top: -10px;
    border-top: 4px solid var(--champagne-gold);
}
.main_lobby_difficulty_seletor_medium:hover{
    margin-top: -10px;
    border-top: 4px solid var(--champagne-gold);
}
.main_lobby_difficulty_seletor_hard:hover{
    margin-top: -10px;
    border-top: 4px solid var(--champagne-gold);
}
.main_lobby_mode_beginner_text1-0{
    color: var(--champagne-gold);
    font-size: 0.75rem;
    letter-spacing: 2px;
    margin-top: 0.3rem;

}
.main_lobby_mode_beginner_text1-1{
    margin-top: 2%;

    color: rgba(var(--text-rgb), 1);
    font-weight: 500;
    font-size: 1.5rem;

}
.main_lobby_mode_beginner_text1-2{
    margin-top: 4%;

    font-size: 0.8rem;
    color: rgba(var(--text-rgb), 0.6);
}

.profile_avatar_container {
    width: 130px;                      
    height: 130px;                 

    border-radius: 50%;     
    object-fit: cover;           
    border: 2px solid #5b5b5b;    

    background-color: #e0e0e0;         
    
    padding: 0 !important;             
    overflow: hidden;                  
    
    display: flex;
    flex-direction: column;            
    align-items: center;               
    justify-content: flex-end;
}

.avatar_default_head {
    width: 46px;                       
    height: 46px;       

    border-radius: 50%;        
    object-fit: cover;

    background-color: #888888;         
    margin-bottom: 4px;        
}        
.avatar_default_body {
    width: 130px;                      
    height: 60px;                      
    
    border-top-left-radius: 65px;      
    border-top-right-radius: 65px;     
    
    background-color: #888888;       
}

/* ===== 【新增】玩家自訂頭像（由 TCTC2-0-avatar_display.js 動態插入）=====
   容器 .profile_avatar_container 本身已經是圓形（border-radius:50%）+
   overflow:hidden，這裡只要讓圖片撐滿整個容器、用 object-fit:cover
   避免圖片變形即可，圓形裁切交給容器處理，不用在這裡重複寫 border-radius */
.profile_avatar_container_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.main_lobby_main_frame_player_profile_left_div_username{
    font-size: 2rem;
    font-weight: 500;
}
/* .main_achievement{
    top: 2.5rem;

    height: 3rem;
    width: 8rem;
    background-color: rgba(245, 245, 243, 0.9);
    display: none;

    border-left: 1px solid var(--champagne-gold);
    border-right: 1px solid var(--champagne-gold);

}
.main_lobby_more_detil_div:hover .main_achievement{
    position: absolute;
    display: block;

    display: flex;
    align-items: center;
    
    padding-left: 1rem;
}
.main_lobby_more_detil_div{
    position: relative;
    transition: all 200ms ease;
}
.main_ranking{
    top: 5rem;

    height: 3rem;
    width: 8rem;
    background-color: rgba(245, 245, 243, 0.9);
    display: none;

    border-left: 1px solid var(--champagne-gold);
    border-right: 1px solid var(--champagne-gold);

}
.main_lobby_more_detil_div:hover .main_ranking{
    position: absolute;
    display: block;

    display: flex;
    align-items: center;
    
    padding-left: 1rem;

    margin-left: 0.2rem;
} */

.nav_dropdown {
    position: relative;
    cursor: pointer;

    display: flex;
    align-items: center;
    gap: 0.3rem;

    color: black;
    font-size: 1.1rem;

    transition: all 200ms ease-in-out;
}

.nav_dropdown_arrow {
    font-size: 0.9rem;
}

.nav_dropdown_menu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);

    display: none;
    z-index: 20;
}
.nav_dropdown:hover .nav_dropdown_menu {
    display: block;
}

.nav_dropdown_panel {
    display: flex;
    flex-direction: column;

    width: max-content;
    margin-top: 10px;
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;

    background-color: rgb(245, 243, 243);
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    overflow: hidden;
}

.nav_dropdown_item {
    padding: 0.6rem 0.9rem;

    color: #1a1a1a;
    white-space: nowrap;

    transition: all 300ms ease-in-out;
}
.nav_dropdown_item:hover {
    background-color: rgba(0, 0, 0, 0.06);

}

.nav_dropdown_item_active {
    font-weight: 600;
    text-shadow: 0 0 1px gray;
}

/* ============================================================
   【新增】首次進站的暱稱設定彈窗
   跟 .main_lobby_difficulty_selet_window 共用「全螢幕半透明遮罩 + 置中內容」
   的彈窗語彙，但卡片本身改用跟 .profile_card 一致的「深底＋細金邊＋圓角」，
   因為這裡只是一次性的單欄表單，不需要像難度選擇那樣的三欄大卡片版面。
   ============================================================ */
.nickname_setup_window{
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;

    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1000;

    display: flex;
    justify-content: center;
    align-items: center;

    padding: 1.2rem;
    box-sizing: border-box;
}
.nickname_setup_card{
    width: 100%;
    max-width: 50vw;
    box-sizing: border-box;

    background-color: var(--dark-blue);
    border: 1px solid rgba(var(--accent-rgb), 0.4);
    border-radius: 10px;

    padding: 2.2rem 4rem 1.8rem;

    text-align: center;
}
.nickname_setup_subtitle{
    color: var(--champagne-gold);
    font-size: 0.78rem;
    letter-spacing: 3px;
    margin: 0 0 0.6rem;
}
.nickname_setup_title{
    color: rgba(var(--text-rgb), 0.92);
    font-family: "Noto Serif TC", serif;
    font-size: 1.6rem;
    font-weight: 400;
    letter-spacing: 2px;
    margin: 0 0 1rem;
}
.nickname_setup_desc{
    color: rgba(var(--text-rgb), 0.55);
    font-size: 0.8rem;
    line-height: 1.9;
    letter-spacing: 0.5px;
    margin: 0 0 1.5rem;
}
.nickname_setup_input{
    width: 80%;
    box-sizing: border-box;

    background-color: var(--darker-blue);
    color: rgba(var(--text-rgb), 0.92);

    border: 1px solid rgba(var(--accent-rgb), 0.4);
    border-radius: 5px;

    padding: 0.7rem 0.9rem;

    font-size: 1rem;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans TC", sans-serif;
    letter-spacing: 1px;

    text-align: center;

}
.nickname_setup_input:focus{
    outline: none;
    border-color: var(--champagne-gold);
    background-color: var(--light-blue);
}
.nickname_setup_warning{
    min-height: 1.1rem;
    margin: 0.6rem 0 0;

    color: var(--error-red);
    font-size: 0.78rem;
    letter-spacing: 0.5px;
}
.nickname_setup_actions{
    display: flex;
    gap: 0.8rem;
    justify-content: center;

    margin-top: 1.2rem;
}
.nickname_setup_skip_btn{
    padding: 0.6rem 1.3rem;

    font-size: 0.85rem;
    letter-spacing: 1px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans TC", sans-serif;

    background-color: transparent;
    color: rgba(var(--text-rgb), 0.6);

    border: 1px solid rgba(var(--text-rgb), 0.25);
    border-radius: 5px;

    cursor: pointer;
    transition: all 150ms ease;
}
.nickname_setup_skip_btn:hover{
    border-color: rgba(var(--text-rgb), 0.5);
    color: rgba(var(--text-rgb), 0.85);
}
.nickname_setup_confirm_btn{
    padding: 0.6rem 1.6rem;

    font-size: 0.9rem;
    font-weight: 500;
    letter-spacing: 1px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans TC", sans-serif;

    background-color: var(--champagne-gold);
    color: var(--darker-blue);

    border: 1px solid var(--champagne-gold);
    border-radius: 5px;

    cursor: pointer;
    transition: all 150ms ease;
}
.nickname_setup_confirm_btn:hover{
    background-color: transparent;
    color: var(--champagne-gold);
}
.nickname_setup_confirm_btn:disabled{
    opacity: 0.6;
    cursor: default;
}