/* STREAMING_CHUNK: 規劃右側懸浮通知容器... */
.jump-toast-container {
    position: fixed;
    top: 90px;
    right: 15px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 9999;
    pointer-events: none;
}

/* STREAMING_CHUNK: 隔離台小卡 (黑金高對比)... */
.jump-toast-card {
    width: 240px;
    background-color: #4a4a4a;
    border: 1px solid #333333; /* 柔和的外框 */
    border-left: 6px solid #FFCC33; /* 左側高光線 (Accent border) */
    border-radius: 16px;
    padding: 15px 15px 15px 20px; /* 左側稍微多退一點空間 */
    box-shadow: 0 10px 30px rgba(0,0,0,0.4);
    pointer-events: auto;
    transform: translateX(120%);
    animation: slideInRight 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.1) forwards;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* 資料被替換時的彈跳動畫 */
.jump-toast-card.pulse-update {
    animation: popUpdate 0.3s ease-out;
}

.jump-toast-card.exit {
    animation: fadeOutRight 0.3s ease-in forwards;
}

.jump-toast-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.jump-channel-name {
    font-size: 0.85rem;
    font-weight: 800;
    color: #4a4a4a;
    background-color: #FFCC33;
    padding: 2px 8px;
    border-radius: 6px;
}

.jump-route {
    font-size: 1.2rem;
    font-weight: 900;
    color: #FFFFFF;
    line-height: 1.2;
}

.jump-meta {
    font-size: 0.8rem;
    color: #888888;
    font-weight: 600;
}

.btn-jump-claim {
    width: 100%;
    height: 40px;
    background-color: #FFCC33;
    color: #4a4a4a;
    font-weight: 900;
    border: none;
    border-radius: 10px;
    margin-top: 5px;
    transition: transform 0.1s;
}

.btn-jump-claim:active {
    transform: scale(0.95);
    background-color: #E6B800;
}

@keyframes slideInRight {
    from { transform: translateX(120%); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}

@keyframes fadeOutRight {
    from { transform: translateX(0); opacity: 1; }
    to { transform: translateX(120%); opacity: 0; }
}

@keyframes popUpdate {
    0% { transform: scale(1); border-left-color: #FFCC33; }
    50% { transform: scale(1.05); border-left-color: #FFFFFF; }
    100% { transform: scale(1); border-left-color: #FFCC33; }
}

body.has-active-trip .jump-toast-container {
    display: none !important;
}

/* 🌟 新增：全域膠囊提示 (Global Toast) */
.global-toast-container {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 99999; /* 確保在最最最上層 */
    pointer-events: none;
    align-items: center;
    width: 90%;
    max-width: 400px;
}

.global-toast {
    background-color: #222222;
    color: #FFFFFF;
    padding: 12px 24px;
    border-radius: 50px; /* 極致膠囊形狀 */
    font-size: 1.05rem;
    font-weight: 800;
    box-shadow: 0 8px 20px rgba(0,0,0,0.3);
    display: flex;
    align-items: center;
    gap: 10px;
    animation: toastSlideDown 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.2) forwards;
}

.global-toast.exit {
    animation: toastFadeUp 0.3s ease-in forwards;
}

/* 狀態顏色 */
.global-toast.success { background-color: #198754; color: #FFF; }
.global-toast.error { background-color: #DC3545; color: #FFF; }
.global-toast.warning { background-color: #FFCC33; color: #4a4a4a; }

@keyframes toastSlideDown {
    from { transform: translateY(-150%); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}
@keyframes toastFadeUp {
    from { transform: translateY(0); opacity: 1; }
    to { transform: translateY(-150%); opacity: 0; }
}
