/* =========================================
   プロニート日記 デザイン定義 (v2.1 月選択対応)
   ========================================= */

body {
    background-color: #1a1a1a;
    color: #e0e0e0;
    font-family: "Helvetica Neue", Arial, sans-serif;
    margin: 0;
    display: flex;
    flex-direction: column;
    height: 100vh;
}

/* --- ヘッダー --- */
header {
    padding: 8px;
    background: #2a2a2a;
    border-bottom: 1px solid #333;
    flex-shrink: 0;
}
.header-inner {
    display: flex;
    justify-content: space-between; /* 均等配置 */
    gap: 5px; /* 間隔を狭める */
    max-width: 600px;
    margin: 0 auto;
}
select {
    padding: 6px;
    font-size: 12px; /* スマホで3つ並ぶので少し小さく */
    background: #333;
    color: #fff;
    border: 1px solid #555;
    border-radius: 4px;
    max-width: 45%; /* 幅制限 */
}
/* 月選択は少し狭くていい */
#month-selector {
    flex-basis: 80px; 
    flex-shrink: 0;
}
/* 人格選択は広く */
#persona-selector {
    flex-grow: 1;
}

.header-btn {
    padding: 6px 10px;
    background: #444;
    color: #fff;
    border: 1px solid #555;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
}

/* --- メインエリア --- */
main {
    flex: 1;
    padding: 15px 20px;
    overflow-y: auto;
    max-width: 600px;
    margin: 0 auto;
    width: 100%;
    box-sizing: border-box;
}

.date-line {
    font-size: 0.85em;
    color: #888;
    margin-bottom: 2px;
}
h2 {
    margin: 0 0 10px 0;
    font-size: 1.2em; /* 文字サイズ抑制 */
    color: #ffcc00;
    line-height: 1.3;
}
p {
    line-height: 1.6;
    font-size: 0.95em; /* 文字サイズ抑制 */
    white-space: pre-wrap;
    margin-top: 0;
}

/* --- 画像エリア --- */
#image-area {
    margin: 15px 0;
    text-align: center;
}
#diary-image {
    max-width: 100%;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.5);
}

/* --- アクションボタン --- */
.action-bar {
    display: flex;
    gap: 10px;
    margin-top: 20px;
    padding-bottom: 20px;
    justify-content: flex-end;
}
.action-btn {
    background: transparent;
    border: 1px solid #555;
    color: #aaa;
    padding: 6px 14px;
    font-size: 0.9em;
    border-radius: 20px;
    cursor: pointer;
}
.fav-active {
    color: #ff4081;
    border-color: #ff4081;
}

/* --- フッター --- */
footer {
    padding: 10px 15px;
    background: #2a2a2a;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
}
footer button {
    padding: 8px 16px;
    font-size: 14px;
    background: #444;
    color: #fff;
    border: none;
    border-radius: 4px;
}

/* --- 免責事項 --- */
.disclaimer {
    font-size: 9px;
    color: #555;
    text-align: center;
    padding: 5px;
    background: #2a2a2a;
    flex-shrink: 0;
}

/* --- モーダル (前回と同じ) --- */
.modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.85); z-index: 1000; justify-content: center; align-items: center; }
.modal-content { background: #333; padding: 25px; border-radius: 12px; width: 90%; max-width: 400px; max-height: 80vh; overflow-y: auto; position: relative; border: 1px solid #444; }
.close-btn { position: absolute; top: 15px; right: 15px; background: #555; color: white; border: none; padding: 5px 10px; border-radius: 4px; cursor: pointer; }
.prof-hero-img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 8px; margin-bottom: 15px; border: 1px solid #555; background: #000; }
.prof-catch { color: #ffcc00; font-weight: bold; font-size: 1.0em; margin-bottom: 10px; }
.prof-details p { font-size: 0.9em; margin: 6px 0; color: #ccc; border-bottom: 1px dashed #444; padding-bottom: 4px; }
.prof-intro-box { background: #252525; padding: 15px; border-radius: 6px; margin-top: 15px; font-size: 0.85em; color: #ddd; }
