/* デフォルト（ライトモード）の設定 */
body {
        text-align: center;
        font-family: sans-serif;
        background-color: #ffffff;
        color: #1a1a1a;
        padding-top: 60px;
        transition: background-color 0.3s, color 0.3s;
    }

        .search-input {
            padding: 12px 16px;
            font-size: 16px;
            border-radius: 8px;
            border: 1px solid #ccc;
            background-color: #f2f2f2;
            color: #1a1a1a;
            width: 208px;
            outline: none;
        }

        /* 🌙 システムがダークモードの時の設定 */
        @media (prefers-color-scheme: dark) {
            body {
                background-color: #1a1a1a;
                color: #ffffff;
            }

            .search-input {
                border-color: #444;
                background-color: #2a2a2a;
                color: #ffffff;
            }
        }

        /* 🔐 構成プロファイル専用の追加スタイル */
        .profile-section { margin-top: 30px; display: inline-block; width: 100%; }
        .profile-btn { padding: 15px 30px; font-size: 16px; font-weight: bold; color: white; border: none; border-radius: 12px; cursor: pointer; width: 240px; box-shadow: 0 4px 6px rgba(0,0,0,0.3); transition: background-color 0.2s; }
        .secret-btn { background-color: #8e44ad; }
        .download-btn { background-color: #ff9500; text-decoration: none; display: inline-block; box-sizing: border-box; }
        .pass-container { max-width: 280px; margin: 15px auto; padding: 15px; border-radius: 12px; background-color: #f2f2f7; border: 1px dashed #8e44ad; }
        .pass-input { width: 80%; padding: 10px; font-size: 16px; border-radius: 8px; border: 1px solid #ccc; text-align: center; margin-top: 10px; margin-bottom: 10px; }
        .submit-btn { padding: 8px 20px; font-size: 14px; font-weight: bold; background-color: #1a1a1a; color: white; border: none; border-radius: 6px; cursor: pointer; }
        .error-text { color: #ff3b30; font-size: 14px; margin-top: 5px; display: none; }
        .hidden { display: none !important; }

    /* オフライン時のグレーアウト・操作不可用スタイル */
.disabled-offline {
    opacity: 0.5;
    pointer-events: none; /* クリックやタップを無効化 */
    cursor: not-allowed;
}

/* 🔻 YouTubeサブボタン用スタイル */
.yt-sub-btn {
    padding: 10px 16px;
    font-size: 14px;
    font-weight: bold;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    width: 210px;
    margin-top: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
    transition: transform 0.1s, opacity 0.2s;
}
.yt-sub-btn:active {
    transform: scale(0.96);
}

/* ===================================================
   1. 基本スタイル（デフォルト：スマホ向け縦並び表示）
   =================================================== */
body {
    text-align: center;
    font-family: sans-serif;
    background-color: #ffffff;
    color: #1a1a1a;
    padding-top: 60px;
    margin: 0;
    transition: background-color 0.3s, color 0.3s;
}

.search-input {
    padding: 12px 16px;
    font-size: 16px;
    border-radius: 8px;
    border: 1px solid #ccc;
    background-color: #f2f2f2;
    color: #1a1a1a;
    width: 208px;
    outline: none;
}

/* 🌙 システムがダークモードの時の設定 */
@media (prefers-color-scheme: dark) {
    body {
        background-color: #1a1a1a;
        color: #ffffff;
    }

    .search-input {
        border-color: #444;
        background-color: #2a2a2a;
        color: #ffffff;
    }

    /* パスワード入力枠もダークモード対応 */
    .pass-container {
        background-color: #2c2c2e;
        border-color: #a29bfe;
    }
    .submit-btn {
        background-color: #ffffff;
        color: #1a1a1a;
    }
}

/* 🔐 構成プロファイル専用の追加スタイル */
.profile-section { 
    margin-top: 30px; 
    display: inline-block; 
    width: 100%; 
}

.profile-btn { 
    padding: 15px 30px; 
    font-size: 16px; 
    font-weight: bold; 
    color: white; 
    border: none; 
    border-radius: 12px; 
    cursor: pointer; 
    width: 240px; 
    box-shadow: 0 4px 6px rgba(0,0,0,0.3); 
    transition: background-color 0.2s; 
}

.secret-btn { background-color: #8e44ad; }
.download-btn { 
    background-color: #ff9500; 
    text-decoration: none; 
    display: inline-block; 
    box-sizing: border-box; 
}

.pass-container { 
    max-width: 280px; 
    margin: 15px auto; 
    padding: 15px; 
    border-radius: 12px; 
    background-color: #f2f2f7; 
    border: 1px dashed #8e44ad; 
}

.pass-input { 
    width: 80%; 
    padding: 10px; 
    font-size: 16px; 
    border-radius: 8px; 
    border: 1px solid #ccc; 
    text-align: center; 
    margin-top: 10px; 
    margin-bottom: 10px; 
}

.submit-btn { 
    padding: 8px 20px; 
    font-size: 14px; 
    font-weight: bold; 
    background-color: #1a1a1a; 
    color: white; 
    border: none; 
    border-radius: 6px; 
    cursor: pointer; 
}

.error-text { 
    color: #ff3b30; 
    font-size: 14px; 
    margin-top: 5px; 
    display: none; 
}

.hidden { display: none !important; }

/* オフライン時のグレーアウト・操作不可用スタイル */
.disabled-offline {
    opacity: 0.5;
    pointer-events: none; /* クリックやタップを無効化 */
    cursor: not-allowed;
}

/* 🔻 YouTubeサブボタン用スタイル */
.yt-sub-btn {
    padding: 10px 16px;
    font-size: 14px;
    font-weight: bold;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    width: 210px;
    margin-top: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
    transition: transform 0.1s, opacity 0.2s;
}

.yt-sub-btn:active {
    transform: scale(0.96);
}


/* ===================================================
   2. 💻 PC向けスタイル（768px以上でウィンドウ風にする）
   =================================================== */
@media (min-width: 768px) {
    body {
        padding-top: 0;
        height: 100vh;
        overflow: hidden; /* デスクトップ全体を固定 */
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    /* ウィンドウ化するための枠組み */
    .app-window {
        width: 480px;
        max-height: 85vh;
        overflow-y: auto;
        background-color: rgba(255, 255, 255, 0.85);
        backdrop-filter: blur(20px); /* macOS/iOS風のすりガラス効果 */
        -webkit-backdrop-filter: blur(20px);
        border-radius: 18px;
        border: 1px solid rgba(255, 255, 255, 0.3);
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
        padding: 30px 20px;
        position: relative;
    }

    /* ダークモード時のウィンドウ背景 */
    @media (prefers-color-scheme: dark) {
        .app-window {
            background-color: rgba(30, 30, 30, 0.85);
            border-color: rgba(255, 255, 255, 0.1);
        }
    }

    /* PCではスマホバイブレーションボタンを非表示（または薄く）する */
    #vibeButton, #vibeBr {
        display: none;
    }
}