@charset "utf-8";

/* 폰트 설정 */
@font-face {
    font-family: 'PartialSans';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2307-1@1.1/PartialSansKR-Regular.woff2') format('woff2');
    font-weight: normal;
    font-display: swap;
}
@font-face {
    font-family: 'MissedSimsim';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2511-1@1.0/Griun_Simsimche-Rg.woff2') format('woff2');
    font-weight: normal;
    font-display: swap;
}

/* 색상 변수 (수정하기 쉽게 모음) */
:root {
    --bg-dark: #080808;
    --glass-bg: rgba(255, 255, 255, 0.03);
    --glass-border: rgba(255, 255, 255, 0.08);
    --text-main: #f0f0f0;
    --text-muted: #888;
    --accent-gold: #DFA05D;
    --accent-red: #ff4757;
    --font-title: 'MissedSimsim', sans-serif;
    --font-body: 'IBM Plex Sans', sans-serif;
}
/* =========================================
   [비서 수정] 스크롤 문제 해결 + 노이즈 배경
   ========================================= */

/* 1. HTML과 BODY 높이값 초기화 (무한 스크롤 방지) */
html {
    height: 100%;
    overflow-x: hidden; /* 가로 스크롤 강제 차단 */
}

body {
    background-color: #080808;
    
    /* 배경 이미지 설정 */
    background-image: url('https://fivenightat.ivyro.net/img/background.jpg'); 
    background-repeat: no-repeat;
    background-size: cover;       /* 화면 꽉 차게 */
    background-position: center;  /* 중앙 정렬 */
    background-attachment: fixed; /* 배경 고정 (스크롤 내려도 배경은 그대로) */
    
    color: var(--text-main);
    font-family: var(--font-body);
    
    margin: 0;
    padding: 0;
    
    /* ★ 핵심 수정: min-height로 변경하여 내용이 적을 때만 꽉 차게 함 */
    min-height: 100vh; 
    position: relative;
    overflow-x: hidden; /* 가로 스크롤 방지 */
}

/* 2. 노이즈 효과 (화면 밖으로 나가지 않게 고정) */
body::before {
    content: "";
    
    /* ★ 핵심 수정: 화면(Viewport)에 딱 고정 */
    position: fixed; 
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    
    /* 자글자글한 노이즈 패턴 (파일 필요 없음) */
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='1'/%3E%3C/svg%3E");
    
    opacity: 0.15; /* 노이즈 강도 */
    
    pointer-events: none; /* 클릭 통과 */
    z-index: 9999;        /* 맨 위에 표시 */
    mix-blend-mode: overlay; /* 배경과 자연스럽게 섞임 */
}

#no_design_main {
    padding: 80px 20px;
    display: flex;
    justify-content: center;
}

.main-wrap {
    width: 100%;
    max-width: 420px; /* 폭을 살짝 넓혀 여유를 줌 */
}

/* =========================================
   1. 헤더 (타이틀 & 네온 효과)
   ========================================= */
.main-hero {
    text-align: center;
    margin-bottom: 50px;
}

.main-title {
    font-family: var(--font-title);
    font-size: 14px;
    letter-spacing: 6px;
    color: var(--text-muted);
    text-transform: uppercase;
    margin-bottom: 5px;
    opacity: 0.8;
}

.main-sub {
    font-family: 'PartialSans';
    font-size: 68px;
    line-height: 1;
    color: #fff;
    margin: 0;
    /* 세련된 네온 글로우 효과 */
    text-shadow: 0 0 10px rgba(223, 160, 93, 0.3), 0 0 30px rgba(223, 160, 93, 0.1);
    animation: neonPulse 3s ease-in-out infinite alternate;
}

@keyframes neonPulse {
    from { 
        text-shadow: 0 0 10px rgba(223, 160, 93, 0.4), 0 0 20px rgba(223, 160, 93, 0.1);
        opacity: 0.9;
    }
    to { 
        text-shadow: 0 0 20px rgba(223, 160, 93, 0.8), 0 0 40px rgba(223, 160, 93, 0.3);
        opacity: 1;
    }
}

/* =========================================
   2. 카드 공통 (글래스모피즘)
   ========================================= */
.main-card, .dday-card {
    background: var(--glass-bg);
    backdrop-filter: blur(12px); /* 배경 흐림 효과 (핵심) */
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--glass-border);
    border-radius: 16px; /* 둥근 모서리 */
    padding: 24px;
    margin-bottom: 24px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); /* 깊이감 있는 그림자 */
    transition: transform 0.3s ease, border-color 0.3s ease;
}

.main-card:hover, .dday-card:hover {
    border-color: rgba(255, 255, 255, 0.2);
    transform: translateY(-2px); /* 살짝 떠오르는 효과 */
}

/* =========================================
   3. 달력 (UI 디자인 강화)
   ========================================= */
.calendar-card {
    padding: 30px 24px;
}

.calendar-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    border-bottom: 1px solid var(--glass-border);
    padding-bottom: 15px;
    margin-bottom: 20px;
}

.d-day-text {
    font-family: var(--font-title);
    font-size: 13px;
    color: var(--accent-gold);
    margin-bottom: 5px;
    letter-spacing: 1px;
}

#calYear { font-size: 12px; color: var(--text-muted); }
#calMonth { font-size: 20px; font-weight: 700; letter-spacing: 1px; color: #fff; }

.calendar-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    margin-bottom: 10px;
}

.calendar-days span {
    font-size: 11px;
    color: var(--text-muted);
    text-align: center;
    font-weight: 600;
}

.calendar-dates {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    row-gap: 8px;
}

.calendar-dates span {
    font-size: 13px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%; /* 날짜를 동그랗게 */
    color: #ccc;
    cursor: default;
    transition: all 0.2s;
}

.calendar-dates span:hover {
    background: rgba(255,255,255,0.1);
    color: #fff;
}

/* 오늘 날짜 강조 */
.calendar-dates span.today {
    background: var(--accent-gold);
    color: #000;
    font-weight: bold;
    box-shadow: 0 0 10px rgba(223, 160, 93, 0.4);
}

.sun { color: var(--accent-red) !important; }
.sat { color: #5dade2 !important; }

/* =========================================
   4. D-Day 카드 (폴라로이드 스타일)
   ========================================= */
.dday-section { margin-bottom: 24px; }

.dday-card {
    padding: 0;
    overflow: hidden;
}

.dday-photo {
    width: 100%;
    height: 200px;
    overflow: hidden;
    position: relative;
}

.dday-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.dday-card:hover .dday-photo img {
    transform: scale(1.05); /* 사진 확대 효과 */
}

.dday-info {
    padding: 20px;
    text-align: center;
}

.dday-title {
    font-size: 11px;
    color: var(--text-muted);
    margin-bottom: 10px;
}

.bot-banner img {
    border-radius: 4px;
    opacity: 0.8;
    transition: opacity 0.3s;
}

.dday-card:hover .bot-banner img { opacity: 1; }

/* =========================================
   5. 배너 (흑백 -> 컬러 효과)
   ========================================= */
.banner-card h2 {
    font-family: var(--font-title);
    font-size: 14px;
    text-align: center;
    letter-spacing: 2px;
    color: var(--text-muted);
    margin-top: 0;
    margin-bottom: 20px;
}

.banner-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.banner {
    position: relative;
    display: block;
    height: 45px;
    border-radius: 8px;
    overflow: hidden;
    background: #000;
}

.banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.6;
    filter: grayscale(100%); /* 기본 상태: 흑백 */
    transition: all 0.4s ease;
}

.banner:hover img {
    opacity: 1;
    filter: grayscale(0%); /* 호버 상태: 컬러 */
    transform: scale(1.05);
}

.banner-text {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    color: #fff;
    text-transform: uppercase;
    background: rgba(0,0,0,0.4); /* 글씨 잘 보이게 배경 */
    opacity: 0;
    transition: opacity 0.3s;
}

.banner:hover .banner-text {
    opacity: 1;
}