/* Google Fonts (Roboto Mono) の読み込み */
@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@700&display=swap');

/* メインエリア全体を中央揃えの基準にする */
.main {
  text-align: left; /* center から left に変更 */
  padding-bottom: 60px;
  padding-left: 20px; /* 必要であれば画面端との間に少しだけ余白を入れる */
}

/* ロゴ全体のコンテナ */
.header-logo-wrapper {
    position: relative;
    padding: 0px 0;
    margin-bottom: 0px;
}

/* 背後の薄い英語テキスト */
.logo-sub-text {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    font-size: 14px;
    letter-spacing: 0.8em;
    color: rgba(87, 82, 236, 0.3);
    white-space: nowrap;
    font-weight: 700;
}

/* ヘッダーのロゴを中央へ */
.home-header {
    padding: 30px 0 20px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.home-logo {
  width: 600px;
  max-width: 90%; /* スマホ対応 */
  margin: 0 auto 15px; /* 左右をautoにして中央配置 */
  display: block;      /* margin: autoを効かせるために必要 */
}

.home-header h1 {
    /* 1. 白さと太さは維持 */
    font-size: 56px;
    font-weight: 900; 
    letter-spacing: 0.15em;
    text-transform: uppercase;
    
    /* 2. 発光を「控えめ」に調整 */
    filter: drop-shadow(0 0 8px rgba(87, 82, 236, 0.35))   /* 輪郭に沿った薄い光 */
            drop-shadow(0 0 20px rgba(87, 82, 236, 0.15)); /* 背後に漂うごく微かな光 */
            
    margin-bottom: 0px;
    display: inline-block;
    
    /* 3. 質感（白ベースの微細なグラデ） */
    background: linear-gradient(135deg, #ffffff 45%, #f8f8f8 50%, #ffffff 55%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}


.countdown-section {
    text-align: center;
    margin: 0px auto;
}

.countdown-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-bottom: 20px;
}

/* 左側の線（1番目）：右に向かって色を濃くする（左端を透明に） */
.countdown-header .line {
    height: 1px;
    width: 60px;
    /* to right (左→右) で、左を透明、右を青に */
    background: linear-gradient(to right, transparent, rgba(87, 82, 236, 0.5));
}

/* 右側の線（2番目）：左に向かって色を濃くする（右端を透明に） */
.countdown-header .line:last-child {
    /* to left (右→左) で、右を透明、左を青に */
    background: linear-gradient(to left, transparent, rgba(87, 82, 236, 0.5));
}

.countdown-section h2 {
    font-size: 1rem;
    letter-spacing: 0.5em;
    color: rgba(255, 255, 255, 0.5);
    margin: 0;
    text-transform: uppercase;
}

/* 現行バージョン表示のスタイル */
.current-version-display {
    margin-top: 0px;
    margin-bottom: 0px;
}

.version-badge {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    padding: 10px 30px;
    background: rgba(87, 82, 236, 0.1);
    border: 1px solid rgba(87, 82, 236, 0.3);
    border-radius: 4px;
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(5px);
    margin: 20px auto 0;
}

/* 左上の装飾用擬似要素 */
.version-badge::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 10px; height: 10px;
    border-top: 2px solid #5752EC;
    border-left: 2px solid #5752EC;
}

.version-badge::after {
    content: "";
    position: absolute;
    bottom: 0; 
    right: 0;
    width: 10px; height: 10px;
    border-bottom: 2px solid #5752EC;
    border-right: 2px solid #5752EC;
}

.version-label {
    font-size: 0.7rem;
    letter-spacing: 0.3em;
    color: #5752EC;
    font-weight: bold;
}

.version-number {
    font-size: 3.5rem; /* 大きく、力強く */
    font-weight: 800;
    line-height: 1;
    color: #ffffff;
    font-family: 'Roboto Mono', monospace;
    text-shadow: 0 0 20px rgba(87, 82, 236, 0.6);
}


/* 時計を囲む四角い枠 */
.countdown-container {
    display: inline-grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    padding: 30px;
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 24px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
    margin-left: 0;
}

/* 時計の文字デザイン */
.timer-display {
    font-size: 3rem;
    font-weight: 700;
    color: #ffffff; /* 基本は白 */
    line-height: 1;
    font-family: 'Roboto Mono', monospace; /* 指定のフォント */
}

/* 秒数だけ色を変える */
.seconds-color {
    color: #5752EC !important;
}

.time-label {
    font-size: 0.8rem;
    color: #666;
    margin-top: 10px;
    font-family: sans-serif;
}

/* 各時間ユニットの枠 */
.time-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 80px;
}

/* 数字部分（Moonlitと同じ水色） */
.timer-display span {
    font-size: 3rem;
    font-weight: 700;
    color: #69e0ff; /* Moonlitのアクセントカラー */
    line-height: 1;
    font-family: 'Inter', sans-serif;
}

/* 新規コンテンツ（左右分割） */
.new-content-grid {
  display: flex;
  justify-content: center; /* グリッド自体は中央に寄せる */
  gap: 40px;
  padding: 20px;
}

.new-item-column {
  flex: 1;
  text-align: left; /* ここを左詰めに */
}

.new-item-column h3 {
  border-left: 4px solid #5752EC;
  padding-left: 15px;
  margin-bottom: 20px;
  text-align: left;
}

.new-item-column .grid {
  display: flex;
  justify-content: flex-start; /* 左寄せ */
  gap: 15px;
  flex-wrap: wrap
}


/* フッター調整 */
.site-footer {
  margin-top: 60px;
  color: rgba(255, 255, 255, 0.6);
  padding: 20px;
  text-align: left; /* ここを左詰めに */
}

/* home.css の末尾に追加 */

/* 聖遺物カードのデザイン（artifacts.css から移植） */
.new-item-column #new-artifact-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 基本は2列 */
    gap: 16px;
}

.artifact-card {
    display: flex;
    flex-direction: row;
    gap: 12px;
    background-color: #0D0D0D;
    border-radius: 10px;
    padding: 10px;
    border: 1px solid rgba(255, 255, 255, 0.45);
    text-decoration: none; /* リンクの線を消す */
    color: white;
    transition: transform 0.2s;
}

.artifact-card:hover {
    transform: translateY(-4px);
}

.artifact-img-wrapper {
    flex: 0 0 80px;
    height: 80px;
    border-radius: 8px;
    background: #181818;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.artifact-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.artifact-info {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    flex: 1;
}

.artifact-name {
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 4px;
}

.artifact-rarity {
    color: #FFB400;
    margin-bottom: 4px;
}

.artifact-affixes {
    font-size: 14px; /* artifacts.cssの指定 */
    color: #ffffff;
    line-height: 1.5;
    margin: 0;
    padding-left: 25px; /* ここを12pxから25px程度に広げる */
    list-style-type: disc; /* 明示的に点を出す設定 */
}

/* ヒーローエリアの2分割設定 */
.hero-section {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start; /* center から flex-start に変更 */
    gap: 40px;
    padding: 10px 0 40px; /* 左右のパディングを 0 に */
    max-width: 100%; /* 1400px などの制限をなくすか、100%にする */
    margin: 0;      /* 0 auto から 0 に変更して中央寄せを解除 */
}

.hero-left {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;    /* ★ これで横方向の中央に寄る */
    justify-content: center;
    text-align: center;     /* テキスト類も中央寄せ */
    padding-left: 0;
}

.hero-right {
    flex: 1.3;
    max-width: none;
    padding:30px;
}

/* ヘッダー周りの左詰め調整 */
.home-header {
    align-items: flex-start;
}

.header-logo-wrapper {
    text-align: left;
}

.logo-sub-text {
    left: 0;
    transform: none; /* 中央寄せ解除 */
}

.header-line {
    margin: 0px auto;
}



.countdown-header {
    justify-content: center;
    gap: 15px;
}

/* --- カレンダーコントロール（ボタンを左右に） --- */
.calendar-controls {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px; /* ボタンと月の間隔 */
    margin-bottom: 15px;
}

.calendar-controls h2 {
    font-size: 1.2rem;
    color: #fff;
    margin: 0;
    min-width: 150px; /* 月が切り替わっても幅が飛ばないように */
    text-align: center;
}

/* --- 曜日の横並びを強制 --- */
.weekdays {
    display: grid !important; /* 強制的にグリッド適用 */
    grid-template-columns: repeat(7, 1fr);
    text-align: center;
    font-weight: bold;
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.8rem;
    margin-bottom: 10px;
}

.weekdays div {
    padding: 5px 0;
}

/* イベントラベル（シアター・螺旋など）のまとまり */
.event-container {
    width: 100%;
    margin-bottom: 5px; /* 下に来る誕生日アイコンとの隙間 */
}

/* カレンダー移植スタイル (calendar.cssから必要なものを抜粋・調整) */
.mini-calendar {
    width: 100%;
    min-height: 520px;
    padding: 30px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 12px;
    padding: 15px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    flex-direction: column;
}

.calendar-board {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.calendar-grid {
    display: grid !important;
    grid-template-columns: repeat(7, 1fr);
    grid-template-rows: repeat(6, 110px);
    gap: 8px;
}

.calendar-day {
    position: relative;
    aspect-ratio: auto;
    min-height: 60px;
    padding: 10px;
    font-size: 1.1rem;
    min-height: auto; /* 固定設定を解除 */
    background: rgba(255, 255, 255, 0.05);
    border: 2px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    flex-direction: column; /* 中身を縦に並べる */
    align-items: center;    /* 横方向中央 */
    transition: all 0.2s ease;
}

/* --- 誕生日アイコンを中央に大きく表示 --- */
.birthday-wrapper {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 4px;
    width: 100%;
    margin-top: auto; /* ラベルが少ない時は下側に、多い時は詰めて表示 */
}

.birthday-icon {
    width: 30px !important;  /* サイズを大きく */
    height: 30px !important;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.425); /* 誕生日っぽく少し光らせる */
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    object-fit: cover;
}

/* 今日の枠のスタイル */
.calendar-day.today {
    border: 2px solid #5ABAFF; /* 指定の色 */
    background: rgba(90, 186, 255, 0.15); /* ほんのり背景色 */
    box-shadow: 0 0 15px rgba(90, 186, 255, 0.3); /* 外側に淡い光 */
    z-index: 5; /* 枠線を強調するために少し手前に */
}

/* 今日の日付数字を強調 */
.calendar-day.today .day-number {
    color: #5ABAFF;
    font-weight: bold;
}


/*以降ガチャ*/
.banner-display {
    position: relative;
    margin-top: 25px;
    padding: 15px;
    background: rgba(87, 82, 236, 0.1);
    border: 1px solid rgba(87, 82, 236, 0.3);
    border-radius: 4px;
}

/* 左上の装飾用擬似要素 */
.banner-display::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 10px; height: 10px;
    border-top: 2px solid #5752EC;
    border-left: 2px solid #5752EC;
}

.banner-display::after {
    content: "";
    position: absolute;
    bottom: 0; 
    right: 0;
    width: 10px; height: 10px;
    border-bottom: 2px solid #5752EC;
    border-right: 2px solid #5752EC;
}


.banner-phase-label {
    font-size: 1.3rem;
    color: #ffffff;
    letter-spacing: 0.2em;
    margin-bottom: 10px;
    font-weight: bold;
}

.banner-grid {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

.banner-item {
    width: 70px;
    height: 70px;
    background: #1a1a1a;
    border-radius: 8px;
    overflow: hidden;
    position: relative;
}

/* 星5の背景グラデーション */
.banner-item.rarity-5 {
    background: linear-gradient(180deg, #945c2c, #b27330);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}

/* 星4の背景グラデーション */
.banner-item.rarity-4 {
    background: linear-gradient(180deg, #5e5789, #9c75b7);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}

.banner-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 星5キャラは少し豪華に */
.banner-item.rarity-5 {
    border-color: #ffb400;
    box-shadow: 0 0 10px rgba(255, 180, 0, 0.2);
}

/*カレンダーのボタンのデザイン*/
/* ボタンの基本デザイン（共通） */
.cal-btn {
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.05); /* ほんのり透ける背景 */
    border: 1px solid rgba(87, 82, 236, 0.4); /* サイトのテーマカラー */
    border-radius: 50%; /* 正円にする */
    cursor: pointer;
    position: relative;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ホバー時の発光エフェクト */
.cal-btn:hover {
    background: rgba(87, 82, 236, 0.2);
    border-color: #5752EC;
    box-shadow: 0 0 12px rgba(87, 82, 236, 0.5);
    transform: scale(1.1);
}

/* 矢印の「芯」をCSSで作る（共通） */
.cal-btn::before {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    display: block;
    position: absolute;
}

/* 左矢印の向き（45度を反対に回す） */
.prev::before {
    transform: rotate(-135deg);
    margin-left: 3px; /* 微調整 */
}

/* 右矢印の向き */
.next::before {
    transform: rotate(45deg);
    margin-right: 3px; /* 微調整 */
}