@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@400;700&family=Noto+Sans+KR:wght@300;400&display=swap');



:root {

    --bg-color: #1a1a1a;

    --text-color: #d1d1d1;

    --accent-color: #e74c3c;

    --heat-color: #ff6b35;

}



body {

    background-color: var(--bg-color);

    color: var(--text-color);

    font-family: 'Noto Sans KR', sans-serif;

    margin: 0; padding: 0;

    overflow-x: hidden;

}



header {

    text-align: center;

    padding: 6rem 2rem 3rem;

}



header h1 {

    font-family: 'Noto Serif KR', serif;

    font-size: 3rem;

    margin: 0; color: #fff;

}



#status { color: #888; margin-top: 15px; font-style: italic; }



/* 메뉴 바: 오른쪽 치우침 해결 -> 왼쪽 정렬 복구 */

nav {

    background: rgba(17, 17, 17, 0.9);

    border-bottom: 1px solid #333;

    padding: 1.5rem 5%;

}



.nav-container {

    display: flex;

    justify-content: flex-start; /* 왼쪽으로 정렬 */

    gap: 2.5rem;

}



nav a {

    color: #FFD700 !important;

    text-decoration: none;

    font-weight: 700;

    text-shadow: 0 0 10px rgba(255, 215, 0, 0.5);

    transition: 0.3s;

}



nav a:hover {

    color: #fff !important;

    text-shadow: 0 0 20px #FFD700;

}



/* 본문 영역 */

main {

    padding: 4rem 5%;

    display: flex;

    flex-direction: column;

    gap: 5rem;

}



section { width: 100%; text-align: left; }



section h2 {

    font-family: 'Noto Serif KR', serif;

    font-size: 2.2rem;

    border-bottom: 1px solid #333;

    padding-bottom: 10px;

}



.divider { border: 0; height: 1px; background: #333; width: 100%; }



/* 다이어리 버튼 */

.bookshelf { display: flex; gap: 15px; flex-wrap: wrap; margin-top: 2rem; }



.bookshelf a.book {

    padding: 12px 20px;

    background: #252525;

    color: #FFD700 !important;

    border-left: 4px solid var(--accent-color);

    text-decoration: none;

    font-weight: bold;

    text-shadow: 0 0 8px rgba(255, 215, 0, 0.4);

}



.bookshelf a.book:visited {

    color: #fff !important;

    text-shadow: none;

    border-left: 4px solid #555;

}



/* ★ 비주얼라이저 중앙 정렬 핵심 코드 */

.visualizer-wrapper {

    width: 100%;

    display: flex;

    flex-direction: column;

    align-items: center; /* 가로 중앙 */

    justify-content: center;

    margin-top: 3rem;

}



.visualizer {

    display: flex;

    align-items: flex-end;

    height: 100px;

    gap: 10px;

}



.bar {

    width: 25px;

    background: var(--accent-color);

    box-shadow: 0 0 10px var(--accent-color);

}



.heat-level { margin-top: 15px; color: #888; }



/* 갤러리 */

.artwork img { width: 100%; max-width: 600px; border: 1px solid #333; margin-top: 2rem; }

.artwork.hidden { display: none; }



footer { text-align: center; padding: 5rem 2rem; border-top: 1px solid #333; color: #555; }



/* 폭풍 효과 */

.storm-of-ruin {

    position: fixed;

    top: 0; left: 0; width: 100vw; height: 100vh;

    background: radial-gradient(circle, rgba(255,107,53,0.8) 0%, rgba(142,68,173,0.8) 50%, rgba(0,0,0,1) 100%);

    z-index: 9999; pointer-events: none;

    animation: stormEffect 1.5s forwards;

}



@keyframes stormEffect {

    0% { opacity: 0; transform: scale(1); }

    50% { opacity: 1; transform: scale(1.1); }

    100% { opacity: 0; transform: scale(1); }

}