/**
 * 沖縄ダム貯水率モニター - シンプル可愛いスタイル
 * グラデーション無しバージョン
 */

/* メインコンテナ */
.okinawa-dam-monitor {
    font-family: 'Comic Sans MS', 'Hiragino Sans', 'Yu Gothic UI', sans-serif;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    background: #E8F4FD;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    border: 3px solid #87CEEB;
}

/* ヘッダー部分 */
.dam-header {
    text-align: center;
    margin-bottom: 25px;
    background: #FFFFFF;
    padding: 20px;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    border: 2px solid #B0E0E6;
}

/* 最終更新時刻 */
.dam-last-update {
    background: #FFE4E1;
    color: #4169E1;
    font-size: 16px;
    font-weight: bold;
    margin: 15px 0;
    padding: 15px;
    border-radius: 25px;
    border: 3px dashed #FF69B4;
    text-align: center;
}

.dam-last-update::before {
    content: '🏔️ ';
    font-size: 20px;
}

/* カード形式レイアウト */
.okinawa-dam-monitor[data-style="cards"] .dam-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 25px;
}

.okinawa-dam-monitor[data-style="cards"] .dam-item {
    background: #FFFFFF;
    border-radius: 20px;
    padding: 25px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
    border: 4px solid #87CEEB;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.okinawa-dam-monitor[data-style="cards"] .dam-item:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 15px 35px rgba(0,0,0,0.2);
    border-color: #FF69B4;
    background: #F8FDFF;
}

.okinawa-dam-monitor[data-style="cards"] .dam-item::before {
    content: '💧';
    position: absolute;
    top: 15px;
    right: 15px;
    font-size: 30px;
}

/* ダム名 */
.dam-name {
    color: #2E8B57;
    font-size: 22px;
    font-weight: bold;
    margin: 0 0 20px 0;
    text-align: center;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.1);
    background: #98FB98;
    padding: 10px;
    border-radius: 15px;
    border: 2px solid #32CD32;
}

.dam-name::before {
    content: '🏞️ ';
    font-size: 24px;
}

/* 貯水率表示 */
.dam-reservoir {
    text-align: center;
    margin-bottom: 20px;
    background: #F0FFFF;
    padding: 20px;
    border-radius: 15px;
    border: 2px solid #87CEEB;
}

.reservoir-percentage {
    font-size: 32px;
    font-weight: bold;
    color: #FF6347;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
    display: block;
    margin-bottom: 15px;
}

.reservoir-percentage::after {
    content: ' の水があるよ！';
    font-size: 16px;
    color: #4169E1;
    display: block;
    margin-top: 5px;
}

.reservoir-bar {
    height: 30px;
    background: #F5F5F5;
    border-radius: 15px;
    overflow: hidden;
    position: relative;
    border: 3px solid #87CEEB;
    box-shadow: inset 0 3px 6px rgba(0,0,0,0.1);
}

.reservoir-fill {
    height: 100%;
    border-radius: 15px;
    transition: width 1s ease;
    position: relative;
    background: #32CD32;
}

/* 貯水率による色分け */
.dam-item[data-reservoir-level="low"] .reservoir-fill {
    background: #FF6B6B;
}

.dam-item[data-reservoir-level="medium"] .reservoir-fill {
    background: #FFD700;
}

.dam-item[data-reservoir-level="high"] .reservoir-fill {
    background: #32CD32;
}

/* 波のアニメーション削除 */

/* 詳細情報 */
.dam-details {
    background: #FFFFFF;
    border-radius: 15px;
    padding: 15px;
    border: 2px solid #98FB98;
}

.dam-details p {
    margin: 12px 0;
    font-size: 14px;
    color: #2F4F4F;
    font-weight: bold;
    background: #F0F8FF;
    padding: 8px 12px;
    border-radius: 10px;
    border-left: 4px solid #87CEEB;
}

.dam-details strong {
    color: #2E8B57;
    font-weight: bold;
}

/* アイコン追加 */
.dam-details p:nth-child(1)::before { content: '🏗️ '; }
.dam-details p:nth-child(2)::before { content: '📍 '; }
.dam-details p:nth-child(3)::before { content: '🚰 '; }
.dam-details p:nth-child(4)::before { content: '📊 '; }

/* 更新ボタン（アニメーション無し） */
.dam-refresh-button {
    background: #FF69B4 !important;
    color: white !important;
    border: 3px solid #FF1493 !important;
    padding: 15px 30px !important;
    border-radius: 25px !important;
    font-size: 18px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    box-shadow: 0 6px 20px rgba(255,105,180,0.4) !important;
    transition: all 0.3s ease !important;
}

.dam-refresh-button::before {
    content: '✨ ';
    font-size: 20px;
}

.dam-refresh-button::after {
    content: ' ✨';
    font-size: 20px;
}

.dam-refresh-button:hover {
    transform: translateY(-3px) scale(1.05) !important;
    box-shadow: 0 10px 30px rgba(255,105,180,0.6) !important;
    background: #FF1493 !important;
}

/* レスポンシブデザイン */
@media (max-width: 768px) {
    .okinawa-dam-monitor {
        padding: 15px;
        border-radius: 15px;
    }
    
    .okinawa-dam-monitor[data-style="cards"] .dam-container {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .dam-name {
        font-size: 20px;
    }
    
    .reservoir-percentage {
        font-size: 28px;
    }
}

/* 静的アニメーション（必要最小限のみ保持） */
@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* カード出現アニメーション */
.dam-item {
    animation: slideInUp 0.6s ease forwards;
}

.dam-item:nth-child(1) { animation-delay: 0.1s; }
.dam-item:nth-child(2) { animation-delay: 0.2s; }
.dam-item:nth-child(3) { animation-delay: 0.3s; }
.dam-item:nth-child(4) { animation-delay: 0.4s; }
.dam-item:nth-child(5) { animation-delay: 0.5s; }
.dam-item:nth-child(6) { animation-delay: 0.6s; }

@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ローディング状態 */
.dam-loading {
    text-align: center;
    padding: 40px;
    color: #FF69B4;
    font-size: 20px;
    font-weight: bold;
    background: #FFE4E1;
    border-radius: 20px;
    border: 3px dashed #FF69B4;
}

.dam-loading::before {
    content: '🌊';
    display: block;
    font-size: 40px;
    margin-bottom: 15px;
}

/* エラー状態 */
.dam-error {
    background: #FFE4E4;
    border: 3px solid #FFB6C1;
    color: #DC143C;
    padding: 20px;
    border-radius: 20px;
    text-align: center;
    font-weight: bold;
}

.dam-error h3 {
    color: #FF1493;
    font-size: 24px;
}

.dam-error h3::before {
    content: '😅 ';
    font-size: 30px;
}

/* ステータスメッセージ */
.refresh-status {
    font-weight: bold;
    font-size: 16px;
    margin-top: 10px;
    padding: 10px;
    border-radius: 15px;
    background: #FFFFFF;
    border: 2px solid #87CEEB;
}

/* テーブル形式 */
.okinawa-dam-monitor[data-style="table"] .dam-container {
    background: #FFFFFF;
    border-radius: 15px;
    overflow: hidden;
    border: 3px solid #87CEEB;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.okinawa-dam-monitor[data-style="table"] .dam-item {
    padding: 15px;
    border-bottom: 2px dashed #87CEEB;
    display: flex;
    align-items: center;
    gap: 20px;
    background: #F8FDFF;
}

.okinawa-dam-monitor[data-style="table"] .dam-item:nth-child(even) {
    background: #FFFFFF;
}

.okinawa-dam-monitor[data-style="table"] .dam-item:last-child {
    border-bottom: none;
}

/* ミニマル形式 */
.okinawa-dam-monitor[data-style="minimal"] .dam-container {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.okinawa-dam-monitor[data-style="minimal"] .dam-item {
    background: #F0F8FF;
    padding: 15px;
    border-radius: 15px;
    border: 2px solid #87CEEB;
    display: flex;
    align-items: center;
    gap: 20px;
}

.okinawa-dam-monitor[data-style="minimal"] .dam-item:hover {
    background: #E0F6FF;
    border-color: #4682B4;
}

.okinawa-dam-monitor[data-style="minimal"] .dam-name {
    margin: 0;
    background: #87CEEB;
    padding: 8px 15px;
    font-size: 18px;
    border: 2px solid #4682B4;
}

.okinawa-dam-monitor[data-style="minimal"] .dam-details {
    display: none;
}

/* 色のテーマ設定 */
:root {
    --primary-blue: #87CEEB;
    --secondary-blue: #4682B4;
    --light-blue: #E0F6FF;
    --pink: #FF69B4;
    --green: #32CD32;
    --light-green: #98FB98;
    --white: #FFFFFF;
    --light-gray: #F5F5F5;
    --red: #FF6347;
    --yellow: #FFD700;
}