/* --- LICENSE:MIT  ゼクトラボ動画プレーヤー 2026.2 (mp4.jsとセットで動作します) --- */
/* --- 背景演出動画（MVプレイヤー） --- */
.動画窓 {
    position: fixed;
    bottom: 80px;
    right: 400px;
    width: 320px;
    height: 180px;
    z-index: 25000;
    background: rgba(0, 0, 0, 0.9);
    border: 2px solid var(--金);
    border-radius: 8px;
    display: none;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.8), 0 0 20px rgba(255, 215, 0, 0.2);
    pointer-events: auto;
    /* --- GPUレンダリングを強制して描画消失を防止 --- */
    transform: translateZ(0);
    backface-visibility: hidden;
}

.動画窓.活性 {
    display: flex;
}

.動画窓ヘッダー {
    height: 34px;
    background: linear-gradient(to bottom, rgba(40, 40, 40, 0.95), rgba(20, 20, 20, 0.95));
    border-bottom: 1px solid rgba(255, 215, 0, 0.4);
    padding: 0 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: grab;
    user-select: none;
    opacity: 0;
    transition: opacity 0.3s;
}

.動画窓:hover .動画窓ヘッダー {
    opacity: 1;
}

.動画窓ヘッダー:active {
    cursor: grabbing;
}

#演出動画タイトル {
    font-size: 0.75rem;
    color: var(--金);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.窓操作群 {
    display: flex;
    align-items: center;
    gap: 8px;
}

#演出音量 {
    width: 60px;
    height: 4px;
    cursor: pointer;
    accent-color: var(--金);
}

.窓小ボタン {
    background: transparent;
    border: none;
    color: #888;
    font-size: 1.2rem;
    cursor: pointer;
    line-height: 1;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.窓小ボタン:hover {
    color: var(--警告);
    transform: rotate(90deg) scale(1.2);
}

.動画窓本体 {
    flex: 1;
    background: #000;
    position: relative;
    overflow: hidden;
}

#演出動画本体 {
    width: 100%;
    height: 100%;
    border: none;
}

.動画窓リサイズ {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 20px;
    height: 20px;
    cursor: nwse-resize;
    background: linear-gradient(135deg, transparent 70%, var(--金) 70%);
    opacity: 0;
    transition: opacity 0.3s;
}

.動画窓:hover .動画窓リサイズ {
    opacity: 0.8;
}

.演出切替スイッチ {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 60000;
    background: rgba(0, 0, 0, 0.9);
    color: var(--金);
    border: 1.5px solid var(--金);
    padding: 6px 14px;
    font-size: 0.8rem;
    font-weight: bold;
    cursor: pointer;
    border-radius: 4px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.8);
    transition: all 0.2s;
    letter-spacing: 1px;
    outline: none;
}

.演出切替スイッチ:hover {
    background: var(--金);
    color: #000;
    box-shadow: 0 0 20px rgba(212, 175, 55, 0.6);
}

/* 操作中のiframe干渉防止 */
.動画窓.操作中 #演出動画本体 {
    pointer-events: none;
}

/* 無効状態（グレーアウト）のスタイル */
.無効 {
    opacity: 0.4;
    pointer-events: none;
    filter: grayscale(1);
    cursor: not-allowed;
}

.音量行.無効 input {
    cursor: not-allowed;
}

/* パスリスト用スタイル */
.パス項目 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 12px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    margin-bottom: 4px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.85rem;
}

.パス項目.活性 {
    border-color: var(--金);
    background: rgba(212, 175, 55, 0.1);
    color: var(--金);
}

.パス項目 button {
    background: transparent;
    color: var(--文字副);
    border: none;
    padding: 0 5px;
    font-size: 1.1rem;
    cursor: pointer;
}

/* パス項目 button:hover {
    color: var(--警告);
} */

/* --- 2026.1 追加: 共通窓・設定UIパーツ --- */
/* .動画窓 の定義は上部で一括管理（重複削除） */


/* 手引窓・設定窓 共通 */
.共通窓 {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 800px;
    max-width: 95%;
    height: 900px;
    background: rgba(15, 23, 42, 0.95);
    border: 2px solid var(--金);
    border-radius: 12px;
    z-index: 20000;
    display: none;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 0 100px rgba(0, 0, 0, 0.9);
    color: #fff;
    font-family: 'Shippori Mincho', serif;
}

.共通窓 .手引本体 {
    background: rgba(0, 0, 0, 0.2);
}

.音量スライダー群 {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 10px;
}

.音量行 {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.音量行 label {
    width: 200px;
    font-size: 1rem;
}

.音量行 input[type="range"] {
    flex: 1;
    height: 6px;
    accent-color: var(--金);
}

.入力グループ {
    margin: 15px 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.入力グループ label {
    font-size: 0.8rem;
    opacity: 0.7;
}

.横並び {
    display: flex;
    gap: 10px;
}

.横並び input {
    flex: 1;
    padding: 8px;
    background: #111;
    border: 1px solid #444;
    color: #fff;
    border-radius: 4px;
}

.横並び button {
    padding: 8px 20px;
    background: var(--金);
    color: #000;
    font-weight: bold;
    border-radius: 4px;
}

.スクロールリスト {
    background: rgba(0, 0, 0, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    overflow-y: auto;
}

.リスト項目 {
    padding: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    cursor: pointer;
    transition: 0.2s;
}

.リスト項目:hover {
    background: rgba(212, 175, 55, 0.1);
}

.リスト項目.活性 {
    border-left: 4px solid var(--金);
    background: rgba(212, 175, 55, 0.15);
}

.設定行ステータス {
    font-size: 0.85rem;
    margin-bottom: 10px;
    padding: 8px;
    background: rgba(0, 0, 0, 0.3);
    border-radius: 4px;
}

.ボタン選択列 {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.ボタン選択列 button {
    padding: 6px 12px;
    background: #222;
    color: #fff;
    border: 1px solid #444;
    border-radius: 4px;
    font-size: 0.85rem;
}

.ボタン選択列 button:hover {
    border-color: var(--金);
}

.ボタン選択列 button.活性 {
    background: var(--金);
    color: #000;
    font-weight: bold;
    border-color: var(--金);
}

.枠ボタン {
    display: block;
    width: 100%;
    margin-top: 10px;
    padding: 8px;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    font-size: 0.85rem;
    border-radius: 4px;
    cursor: pointer;
    transition: 0.2s;
}

.枠ボタン:hover:not(:disabled) {
    background: rgba(255, 255, 255, 0.05);
    border-color: var(--警告);
    color: var(--警告);
}

.枠ボタン:disabled {
    opacity: 0.3;
    cursor: default;
    filter: grayscale(1);
}

.手引ヘッダー {
    padding: 20px;
    background: #050505;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.手引題 {
    font-size: 1.5rem;
    font-weight: bold;
    color: var(--金);
    margin-bottom: 15px;
    text-align: center;
}

.手引タブ欄 {
    display: flex;
    gap: 10px;
}

.手引タブ.右寄せ {
    margin-left: auto;
}

.手引タブ {
    padding: 8px 15px;
    background: #222;
    color: #aaa;
    border-radius: 4px 4px 0 0;
    font-size: 0.9rem;
}

.手引タブ.活性 {
    background: var(--金);
    color: #000;
    font-weight: bold;
}

.手引本体 {
    flex: 1;
    padding: 20px;
    overflow-y: auto;
}

.手引タブ内容 {
    display: none;
}

.手引タブ内容.活性 {
    display: block;
}

.手引節 {
    margin-bottom: 25px;
}

.手引節 h3 {
    color: var(--金);
    border-bottom: 1px solid #444;
    padding-bottom: 5px;
    margin-bottom: 10px;
}

.手引箇条書き {
    list-style: none;
}

.手引箇条書き li {
    margin-bottom: 8px;
    padding-left: 15px;
    position: relative;
}

.手引箇条書き li::before {
    content: "▶";
    position: absolute;
    left: 0;
    color: var(--金);
    font-size: 0.7rem;
    top: 4px;
}

.手引強調 {
    color: #fff;
    font-weight: bold;
    background: rgba(241, 196, 15, 0.2);
    padding: 0 4px;
}

.手引閉じる {
    position: absolute;
    top: 15px;
    right: 20px;
    width: 36px;
    height: 36px;
    font-size: 1.4rem;
    color: #aaa;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 100;
}

.手引閉じる:hover {
    background: var(--警告);
    color: #fff;
    border-color: var(--警告);
    transform: rotate(90deg) scale(1.1);
    box-shadow: 0 0 15px rgba(231, 76, 60, 0.4);
}
