/* =================================================================
 * Page Specific Styles for Password Generator (style.css)
 * ================================================================= */

/* コンテンツ全体の幅を少し狭くする */
#app-main-content {
    max-width: 960px;
}

/* パスワード生成ツール固有のCSS */
.nav-tabs .nav-link {
    color: var(--bs-secondary);
}

.nav-tabs .nav-link.active {
    color: var(--bs-primary);
}

/* リンクボタンの色をテーマカラーに合わせる */
.btn-link {
    color: var(--bs-primary);
    text-decoration: none;
}

.btn-link:hover {
    /* ★ 修正: 紫色(#583c85)からBootstrap標準ブルーのダーク系(#0a58ca)に変更 */
    color: var(--bs-primary-dark, #0a58ca);
}

/* 結果リストのパスワード表示エリア（横スクロール対応） */
.password-container {
    flex-grow: 1;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    /* for smooth scrolling on iOS */
}

.password-container::-webkit-scrollbar {
    display: none;
    /* Chrome, Safari */
}

.password-container {
    -ms-overflow-style: none;
    /* IE, Edge */
    scrollbar-width: none;
    /* Firefox */
}

/* 手動入力タブの強度インジケーターバー */
.manual-strength-bar-container {
    height: 8px;
}

/* --- 新規追加スタイル --- */

/* プリセットボタン */
.preset-btn i {
    transition: transform 0.2s ease-in-out;
}

.preset-btn:hover i {
    transform: scale(1.2);
}

/* 強度アイコン */
.shield-icon {
    transition: color 0.3s ease, transform 0.3s ease;
}

.shield-icon.text-primary {
    transform: scale(1.1);
}

/* 履歴モーダル */
#history-list-container .list-group-item {
    transition: background-color 0.2s;
}

#history-list-container .list-group-item:hover {
    background-color: var(--bs-primary-bg-subtle);
}

.history-password {
    word-break: break-all;
}

.favorite-btn {
    cursor: pointer;
    transition: transform 0.2s;
}

.favorite-btn:hover {
    transform: scale(1.2);
}

/* --- パスワードの色分けスタイル --- */
.password-char {
    /* デフォルト (英字) の色 */
    color: var(--bs-body-color);
}

.pw-digit {
    /* 数字の色 (警告色 Warning) */
    color: var(--bs-warning);
    font-weight: 600;
}

.pw-symbol {
    /* 記号の色 (成功色 Success) */
    color: var(--bs-success);
    font-weight: 600;
}


/* =================================================================
 * UX Improvements: フォーム視認性向上 (サイト全体統一)
 * ================================================================= */

/* 文字数などの数値入力欄 */
.form-control {
    background-color: #ffffff;
    border: 1px solid #adb5bd;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);
    color: var(--bs-body-color);
    transition: all 0.2s ease-in-out;
}

.form-control:hover {
    border-color: #6c757d;
}

.form-control:focus {
    background-color: #ffffff;
    border-color: #0d6efd;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.05), 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

/* ダークモードの入力欄とスライダー */
[data-bs-theme="dark"] .form-control {
    background-color: rgba(255, 255, 255, 0.06);
    border: 1px solid #6c757d;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
    color: #f8f9fa;
}

[data-bs-theme="dark"] .form-control:hover {
    border-color: #adb5bd;
    background-color: rgba(255, 255, 255, 0.09);
}

[data-bs-theme="dark"] .form-control:focus {
    background-color: rgba(255, 255, 255, 0.09);
    border-color: #86b7fe;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.2), 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

/* ダークモードでスライダーの溝が見えにくいのを改善 */
[data-bs-theme="dark"] .form-range {
    --bs-form-range-track-bg: #495057;
}